HAnS: Feature visualisation
- A feature is a distinct and well-understood aspect or functionality of a software system, which plays a fundamental role in specifying the system's capabilities, behavior, or data. Feature-related code can be annotated to establish traceability links in the codebase. Features can then be visualized to aid developers in understanding, managing, and maintaining software variants. Developers often need to locate features in the code when evolving or maintaining the software. Locating features ranks among the most common tasks for developers. The essential process of feature location in software engineering is hindered by insufficient documentation, leading to a rapid decay of knowledge after development. This results in developers spending considerable time searching for feature locations. Existing automated techniques for retroactive recovery are often inaccurate and require significant effort, with identified locations being coarse-grained. To address these challenges, embedded feature annotations serve as a vital solution, allowing developers to document feature locations directly within the codebase. As the number of features and annotations increases, developers must quickly grasp specific feature realizations. Feature visualizations play a vital role by offering developers a clear overview of features and their locations. These visualizations enhance the understanding of fundamental feature characteristics, improving developer comprehension and productivity. HAnS, or Helping Annotate Software, is an IntelliJ IDE plugin designed to streamline the recording and utilization of embedded feature annotations during software development. It addresses challenges related to locating features within code by allowing developers to map features to folders, files, code fragments, or lines seamlessly. The plugin offers features such as code completion, syntax highlighting, and a graphical "Feature Model View" window for easy browsing of features. HAnS supports refactoring annotations, making it easier for developers to manage and update feature information. This tool aims to enhance the efficiency and accuracy of feature location activities in software development. The primary goal of this bachelor thesis is to enhance the HAnS plugin by introducing tree visualizations, offering a dynamic representation of the feature model and relationships among features. This extension aims to empower developers with a robust tool for navigating complex codebases more efficiently. Furthermore, incorporating functionality for adding, editing, and deleting features and their annotations directly from the tree view would significantly enhance the usability of the tool. This includes tasks such as moving feature mappings within the tree, renaming and refactoring feature mappings along with their corresponding annotations, and deleting entire features, including the feature annotations and code.
Author: | Mariana HohashviliGND |
---|---|
URN: | urn:nbn:de:hbz:294-126207 |
DOI: | https://doi.org/10.13154/294-12620 |
Referee: | Thorsten BergerGND, Kevin HermannGND |
Document Type: | Bachelor Thesis |
Language: | English |
Date of Publication (online): | 2024/06/07 |
Date of first Publication: | 2024/05/07 |
Publishing Institution: | Ruhr-Universität Bochum, Universitätsbibliothek |
Granting Institution: | Ruhr-Universität Bochum, Fakultät für Informatik |
Date of final exam: | 2024/05/08 |
Tag: | Feature; Feature Location; Feature Tracing; Feature Visualization |
Pagenumber: | 53 |
Institutes/Facilities: | Lehrstuhl für Software Engineering |
Dewey Decimal Classification: | Allgemeines, Informatik, Informationswissenschaft / Informatik |
faculties: | Fakultät für Informatik |
Licence (German): | Keine Creative Commons Lizenz - es gelten die Rechteeinräumung und das deutsche Urheberrecht |