A software visualization toolset for feature localization.

About Pangolin

Pangolin is an Eclipse plugin for understanding software. This toolset is aimed at developers that need to evolve or maintain a software system. Pangolin uses a dynamic analysis method that identifies the topology of a functionality as well as its dependencies.

Integrated into Eclipse

The toolset is provided as an Eclipse plugin. Integrates seamlessly with JUnit.

Sunburst Visualization

Source code is presented as a tree-based radial visualization.

Powerful Navigation

Many navigational options offered: zoom, pan, root-change, view-in-editor.

Video Demonstration

Download and Installation

Within eclipse, select the 'install new software' option and insert the repository url https://tqrg.github.io/pangolin/. after that, select pangolin from the list of plugins and follow the on-screen instructions to complete the installation.

Publications

Pangolin: An SFL-based Toolset for Feature Localization

Castro, B., Perez A., Abreu, R. - 34th IEEE/ACM International Conference on Automated Software Engineering (ASE 2019)

Abstract: 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.