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 and Ferenc Kocsis
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.
Keywords: Software
product line, Feature extraction, Information retrieval, Community
detection.
Back