Where is my feature and what is it about? A case study on recovering feature facets
Artikel i vetenskaplig tidskrift, 2019

Developers commonly use features to define, manage, and communicate functionalities of a system. Unfortunately, the locations of features in code and other characteristics (feature facets), relevant for evolution and maintenance, are often poorly documented. Since developers change, and knowledge fades with time, such information often needs to be recovered. Modern projects boast a richness of information sources, such as pull requests, release logs, and otherwise specified domain knowledge. However, it is largely unknown from what sources the features, their locations, and their facets can be recovered. We present an exploratory study on identifying such information in two popular, variant-rich, and long-living systems: The 3D-printer firmware Marlin and the Android application Bitcoin-wallet. Besides the available information sources, we also investigated the projects' communities, communications, and development cultures. Our results show that a multitude of information sources (e.g., commit messages and pull requests) is helpful to recover features, locations, and facets to different extents. Pull requests were the most valuable source to recover facets, followed by commit messages and the issue tracker. As many of the studied information sources are, so far, rarely exploited in techniques for recovering features and their facets, we hope to inspire researchers and tool builders with our results. (C) 2019 Elsevier Inc. All rights reserved.

Feature facets

Feature location

Software product line

Marlin

Case study

Bitcoin-wallet

Författare

Jacob Krueger

Otto von Guericke Universitaet Magdeburg

Harz University of Applied Sciences

Mukelabai Mukelabai

Göteborgs universitet

Chalmers, Data- och informationsteknik, Software Engineering, Software Engineering for Cyber Psysical Systems

Wanzi Gu

Hui Shen

Regina Hebig

Göteborgs universitet

Chalmers, Data- och informationsteknik, Software Engineering, Software Engineering for People, Architecture, Requirements and Traceability

Thorsten Berger

Göteborgs universitet

Chalmers, Data- och informationsteknik, Software Engineering, Software Engineering for Cyber Psysical Systems

Journal of Systems and Software

0164-1212 (ISSN)

Vol. 152 239-253

Ämneskategorier

Biblioteks- och informationsvetenskap

Systemvetenskap, informationssystem och informatik med samhällsvetenskaplig inriktning

Datavetenskap (datalogi)

DOI

10.1016/j.jss.2019.01.057

Mer information

Senast uppdaterat

2019-08-19