Issue No. 09 - September (2006 vol. 32)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2006.88
Feature identification is a technique to identify the source code constructs activated when exercising one of the features of a program. We propose new statistical analyses of static and dynamic data to accurately identify features in large multithreaded object-oriented programs. We draw inspiration from epidemiology to improve previous approaches to feature identification and develop an epidemiological metaphor. We build our metaphor on our previous approach to feature identification, in which we use processor emulation, knowledge-based filtering, probabilistic ranking, and metamodeling. We carry out three case studies to assess the usefulness of our metaphor, using the "save a bookmark” feature of Web browsers as an illustration. In the first case study, we compare our approach with three previous approaches (a naive approach, a concept analysis-based approach, and our previous probabilistic approach) in identifying the feature in Mozilla, a large, real-life, multithreaded object-oriented program. In the second case study, we compare the implementation of the feature in the Firefox and Mozilla Web browsers. In the third case study, we identify the same feature in two more Web browsers, Chimera (in C) and ICEBrowser (in Java), and another feature in JHotDraw and Xfig, to highlight the generalizability of our metaphor.
Program understanding, dynamic analysis, static analysis, feature identification, epidemiology, Firefox and Mozilla Web browsers.
Giuliano Antoniol, Yann-Ga? Gu?h?neuc, "Feature Identification: An Epidemiological Metaphor", IEEE Transactions on Software Engineering, vol. 32, no. , pp. 627-641, September 2006, doi:10.1109/TSE.2006.88