Conditional compilation is often used to implement variability in configurable systems. This technique relies on \#ifdefs to delimit feature code. Previous studies have shown that #ifdefs may hinder code comprehensibility. However, those studies did not explicitly take feature dependencies into account. Feature dependency occurs when different features refer to the same program element, such as a variable. Comprehensibility may be even more affected in the presence of feature dependency, as the developer must reason about different scenarios affecting the same variable. Our goal is to understand how feature dependency affects the comprehensibility of configurable system source code. We conducted four complementary empirical studies. In Stud...
Feature modeling is a common way to present and manage variability of software and systems. As a pre...
Dependencies between program elements can reflect the architecture, design, and implementation of a ...
When interprocedural analysis and optimization are employed in an optimizing compiler based in a sof...
Abstract—Modern software systems are increasingly config-urable. Conditional compilation based on C ...
Industries use software product lines as a solution to the ever-increasing variety-rich customer req...
Feature dependency is a kind of feature interaction which can be observed in the features that reali...
International audienceNumerous software systems are configurable through compile-time options and th...
Context: A Software Product Line (SPL) is a set of software systems that share common functionalitie...
peer-reviewedFeatures implementing the functionality in a software product line (SPL) often interact...
Software has become an important part of our life. Therefore, the number of different applications s...
Feature dependencies have very strong implications on the configurations in a software product line....
Almost every sufficiently complex software system today is configurable. Conditional compilation is ...
Highly-configurable software systems (also called software prod-uct lines) gain momentum in both, ac...
Static analysis tools and transformation engines for source code belong to the standard equip-ment o...
Almost every sufficiently complex software system today is configurable. Conditional compilation is ...
Feature modeling is a common way to present and manage variability of software and systems. As a pre...
Dependencies between program elements can reflect the architecture, design, and implementation of a ...
When interprocedural analysis and optimization are employed in an optimizing compiler based in a sof...
Abstract—Modern software systems are increasingly config-urable. Conditional compilation based on C ...
Industries use software product lines as a solution to the ever-increasing variety-rich customer req...
Feature dependency is a kind of feature interaction which can be observed in the features that reali...
International audienceNumerous software systems are configurable through compile-time options and th...
Context: A Software Product Line (SPL) is a set of software systems that share common functionalitie...
peer-reviewedFeatures implementing the functionality in a software product line (SPL) often interact...
Software has become an important part of our life. Therefore, the number of different applications s...
Feature dependencies have very strong implications on the configurations in a software product line....
Almost every sufficiently complex software system today is configurable. Conditional compilation is ...
Highly-configurable software systems (also called software prod-uct lines) gain momentum in both, ac...
Static analysis tools and transformation engines for source code belong to the standard equip-ment o...
Almost every sufficiently complex software system today is configurable. Conditional compilation is ...
Feature modeling is a common way to present and manage variability of software and systems. As a pre...
Dependencies between program elements can reflect the architecture, design, and implementation of a ...
When interprocedural analysis and optimization are employed in an optimizing compiler based in a sof...