Pangolin: An SFL-Based Toolset for Feature Localization

Pinpointing the location where a given unit of functionality-or feature-was implemented is a demanding and time-consuming task, yet prevalent in most software maintenance or evolution efforts. To that extent, we present PANGOLIN, an Eclipse plugin that helps developers identifying features among the source code. It borrows Spectrum-based Fault Localization techniques from the software diagnosis research field by framing feature localization as a diagnostic problem. PANGOLIN prompts users to label system executions based on feature involvement, and subsequently presents its spectrum-based feature localization analysis to users with the aid of a color-coded, hierarchic, and navigable visualization which was shown to be effective at conveying diagnostic information to users. Our evaluation shows that PANGOLIN accurately pinpoints feature implementations and is resilient to misclassifications by users. The tool can be downloaded at https://tqrg.github.io/pangolin/.

[1]  Yann-Gaël Guéhéneuc,et al.  Feature Location Using Probabilistic Ranking of Methods Based on Execution Scenarios and Information Retrieval , 2007, IEEE Transactions on Software Engineering.

[2]  Rui Abreu,et al.  A diagnosis-based approach to software comprehension , 2014, ICPC 2014.

[3]  Rebecca Tiarks What Programmers Really Do - An Observational Study , 2011, Softwaretechnik-Trends.

[4]  Rui Abreu,et al.  Using HTML5 visualizations in software fault localization , 2013, 2013 First IEEE Working Conference on Software Visualization (VISSOFT).

[5]  Rui Abreu,et al.  Framing program comprehension as fault localization , 2016, J. Softw. Evol. Process..

[6]  Jonathan I. Maletic,et al.  Improving Feature Location by Enhancing Source Code with Stereotypes , 2013, 2013 IEEE International Conference on Software Maintenance.

[7]  Bogdan Dit,et al.  Integrating information retrieval, execution and link analysis algorithms to improve feature location in software , 2012, Empirical Software Engineering.

[8]  Rui Abreu,et al.  GZoltar: an eclipse plug-in for testing and debugging , 2012, 2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering.

[9]  Rui Abreu,et al.  Cues for scent intensification in debugging , 2013, 2013 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW).

[10]  Gunter Saake,et al.  Feature-Oriented Software Product Lines , 2013, Springer Berlin Heidelberg.