Feature analysis using information retrieval, community detection and structural analysis methods in product line adoption

András Kicsi, Viktor Csuvik, László Vidács, Ferenc Horváth, Árpád Beszédes, Tibor Gyimóthy, Ferenc Kocsis

Research output: Contribution to journalArticle

4 Citations (Scopus)

Abstract

In industrial practice the clone-and-own strategy is often applied when in the pressure of high demand of customized features. The adoption of software product line (SPL) architecture is a large one time investment that affects both technical and organizational issues. The analysis of the feature structure is a crucial point in the SPL adoption process involving domain experts working at a higher level of abstraction and developers working directly on the program code. We propose automatic methods to extract feature-to-program links starting from very high level set of features provided by domain experts. For this purpose we combine call graph information with textual similarity between code and high level features. In addition, in depth understanding of the feature structure is supported by finding communities between programs and relating them to features. As features are originated from domain experts, community analysis reveals discrepancies between expert view and internal code structure. We found that communities correspond well to the high level features, with usually more than half of feature code located in specialized communities. We report experiments at two levels of features and more than 2000 Magic 4GL programs in an industrial SPL adoption project.

Original languageEnglish
Pages (from-to)70-90
Number of pages21
JournalJournal of Systems and Software
Volume155
DOIs
Publication statusPublished - Sep 2019

Keywords

  • Community detection
  • Feature extraction
  • Information retrieval
  • Software product line

ASJC Scopus subject areas

  • Software
  • Information Systems
  • Hardware and Architecture

Fingerprint Dive into the research topics of 'Feature analysis using information retrieval, community detection and structural analysis methods in product line adoption'. Together they form a unique fingerprint.

  • Cite this