Florida: Feature LOcatIon DAshboard for extracting and visualizing feature traces
Paper in proceeding, 2017
© 2017 Copyright held by the owner/author(s).Features are high-level, domain-specific abstractions over implementation artifacts. Developers use them to communicate and reason about a system, in order to maintain and evolve it. These activities, however, require knowing the locations of features - a common challenge when a system has many developers, many (cloned) variants, or a long lifespan. We believe that embedding feature-location information into software artifacts via annotations eases typical feature-related engineering tasks, such as modifying and removing features, or merging cloned features into a product line. However, regardless of where such annotations stem from - whether embedded by developers when writing code, or retroactively recovered using a feature-location technique - tool support is needed for developers to exploit such annotations. In this tool demonstration, we present a lightweight tool that extracts annotations from software artifacts, aggregates and processes them, and visualizes feature-related information for developers. Views, such as which files implement a specific feature, are presented on different levels of abstraction. Feature metrics, such as feature size, feature scattering, feature tangling, and numbers of feature authors, are also presented. Our tool also incorporates an information-retrieval-based feature-location technique to retroactively recover feature locations.
Feature location
Features
Tool support
Visualization