arrow
Return

Assessing fine-grained feature dependencies

delete2016-10-01
delete13
PRE
AI
I
Iran Rodrigues *
M
Márcio Ribeiro
F
Flávio Medeiros
P
Paulo Borba
B
Baldoíno Fonseca
R
Rohit Gheyi
DOI:10.1016/j.infsof.2016.05.006delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Context: Maintaining software families is not a trivial task. Developers commonly introduce bugs when they do not consider existing dependencies among features. When such implementations share program elements, such as variables and functions, inadvertently using these elements may result in bugs. In this context, previous work focuses only on the occurrence of intraprocedural dependencies, that is, when features share program elements within a function. But at the same time, we still lack studies investigating dependencies that transcend the boundaries of a function, since these cases might cause bugs as well. Objective: This work assesses to what extent feature dependencies exist in actual software families, answering research questions regarding the occurrence of intraprocedural, global, and interprocedural dependencies and their characteristics. Method: We perform an empirical study covering 40 software families of different domains and sizes. We use a variability-aware parser to analyze families source code while retaining all variability information. Results: Intraprocedural and interprocedural feature dependencies are common in the families we analyze: more than half of functions with preprocessor directives have intraprocedural dependencies, while over a quarter of all functions have interprocedural dependencies. The median depth of interprocedural dependencies is 9. Conclusion: Given these dependencies are rather common, there is a need for tools and techniques to raise developers awareness in order to minimize or avoid problems when maintaining code in the presence of such dependencies. Problems regarding interprocedural dependencies with high depths might be harder to detect and fix. (C) 2016 Elsevier B.V. All rights reserved.
Keywords:
Preprocessor
Software family
Feature dependency
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

Information and Software Technology cover
Information and Software Technology
IF:
4.3
Papers:
3.7K
Citations:
7.7K

Organization

U
universidade federal de campina grande
Scholars:
2.9K
Papers: 1.8K
Citations: 6
Universidade Federal de Alagoas cover
Universidade Federal de Alagoas
Scholars:
3.4K
Papers: 1.9K
Citations: 1.8K
U
Universidade Federal de Pernambuco
Scholars:
1.3W
Papers: 7.2K
Citations: 5.3K
researcher View more organizations