skip to main content
10.1145/3461002.3473072acmconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
short-paper

HAnS: IDE-based editing support for embedded feature annotations

Published:06 September 2021Publication History

ABSTRACT

When developers maintain or evolve software, they often need to know the locations of features. This proves challenging when the feature locations are not documented, when the code was written by different developers who may have left the organization, or when the developer's memory of the implementation has faded. Automated feature location techniques are hard to adopt in practice, especially since they boast too many false positives. To address these challenges, embedded feature annotations have been proposed to allow developers to trace features in code during development with minimal effort. However, tool support is needed for developers to effectively record and use these annotations. We propose HAnS as a tool to meet this need; it is implemented as an IntelliJ IDE plugin to support developers seamlessly record feature locations while they write their code. HAnS supports developers when mapping features to software assets, such as files and code fragments, with code completion and syntax highlighting. It also provides functionality to browse feature definitions and locations, as well as refactor features. A demo video is available at https://youtu.be/cx_-ZshHLgA.

References

  1. 2021. FAXE Online Appendix. https://bitbucket.org/easelab/faxe.Google ScholarGoogle Scholar
  2. Hadil Abukwaik, Andreas Burger, Berima Kweku Andam, and Thorsten Berger. 2018. Semi-automated feature traceability with embedded annotations. In ICSME.Google ScholarGoogle Scholar
  3. Berima Andam, Andreas Burger, Thorsten Berger, and Michel R. V. Chaudron. 2017. FLOrIDA: Feature LOcatIon DAshboard for extracting and visualizing feature traces. In VaMoS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2013. Feature-Oriented Software Product Lines. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Wesley K. G. Assunção, Roberto E Lopez-Herrejon, Lukas Linsbauer, Silvia R Vergilio, and Alexander Egyed. 2017. Reengineering Legacy Applications Into Software Product Lines: A Systematic Mapping. Empirical Software Engineering 22, 6 (2017), 2972--3016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Alexandre Bergel, Razan Ghzouli, Thorsten Berger, and Michel R. V. Chaudron. 2021. FeatureVista: Interactive Feature Visualization. In SPLC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Thorsten Berger, Daniela Lettner, Julia Rubin, Paul Grünbacher, Adeline Silva, Martin Becker, Marsha Chechik, and Krzysztof Czarnecki. 2015. What is a feature? a qualitative study of features in industrial software product lines. In SPLC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Ted J. Biggerstaff, Bharat G. Mitbander, and Dallas Webster. 1993. The Concept Assignment Problem in Program Understanding. In ICSE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Paul Clements and Linda Northrop. 2001. Software Product Lines: Practices and Patterns. Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Sina Entekhabi, Anton Solback, Jan-Philipp Steghöfer, and Thorsten Berger. 2019. Visualization of feature locations with the tool featuredashboard. In SPLC (2). Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Wenbin Ji, Thorsten Berger, Michal Antkiewicz, and Krzysztof Czarnecki. 2015. Maintaining feature traceability with embedded annotations. In SPLC. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Kyo C Kang, Sholom G Cohen, James A Hess, William E Novak, and A Spencer Peterson. 1990. Feature-oriented domain analysis (FODA) feasibility study. Technical Report. CMU SEI.Google ScholarGoogle Scholar
  13. Christian Kästner, Salvador Trujillo, and Sven Apel. 2008. Visualizing Software Product Line Variabilities in Source Code.. In SPLC (2).Google ScholarGoogle Scholar
  14. Jacob Krueger and Thorsten Berger. 2020. Activities and Costs of Re-Engineering Cloned Variants Into an Integrated Platform. In VaMoS.Google ScholarGoogle Scholar
  15. Jacob Krueger, Wanzi Gu, Hui Shen, Mukelabai Mukelabai, Regina Hebig, and Thorsten Berger. 2018. Towards a Better Understanding of Software Features and Their Characteristics: A Case Study of Marlin. In VaMoS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jacob Krüger, Thorsten Berger, and Thomas Leich. 2018. Features and how to find them: a survey of manual feature location. LLC/CRC Press.Google ScholarGoogle Scholar
  17. Craig Larman. 2008. Scaling lean & agile development: thinking and organizational tools for large-scale Scrum. Pearson Education India.Google ScholarGoogle Scholar
  18. Salome Maro, Anthony Anjorin, Rebekka Wohlrab, and Jan-Philipp Steghöfer. 2016. Traceability maintenance: factors and guidelines. In ASE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Francisca Pérez, Jorge Echeverría, Raúl Lapeña, and Carlos Cetina. 2020. Comparing manual and automated feature location in conceptual models: A Controlled experiment. Information and Software Technology 125 (2020), 106337.Google ScholarGoogle ScholarCross RefCross Ref
  20. Andreas Pleuss, Rick Rabiser, and Goetz Botterweck. 2011. Visualization techniques for application in interactive product configuration. In SPLC (2). Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Julia Rubin and Marsha Chechik. 2013. A survey of feature location techniques. In Domain Engineering.Google ScholarGoogle Scholar
  22. Tobias Schwarz, Wardah Mahmood, and Thorsten Berger. 2020. A Common Notation and Tool Support for Embedded Feature Annotations. In SPLC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Marcus Seiler and Barbara Paech. 2017. Using Tags to Support Feature Management Across Issue Tracking Systems and Version Control Systems. In REFSQ.Google ScholarGoogle Scholar
  24. Marcus Seiler and Barbara Paech. 2019. Documenting and Exploiting Software Feature Knowledge through Tags. In SEKE.Google ScholarGoogle Scholar
  25. Jinshui Wang, Xin Peng, Zhenchang Xing, and Wenyun Zhao. 2013. How Developers Perform Feature Location Tasks: A Human-Centric and Process-Oriented Exploratory Study. Journal of Software: Evolution and Process 25, 11 (2013).Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. HAnS: IDE-based editing support for embedded feature annotations

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        SPLC '21: Proceedings of the 25th ACM International Systems and Software Product Line Conference - Volume B
        September 2021
        148 pages
        ISBN:9781450384704
        DOI:10.1145/3461002

        Copyright © 2021 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 6 September 2021

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • short-paper

        Acceptance Rates

        Overall Acceptance Rate167of463submissions,36%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader