Loading...
Please wait, while we are loading the content...
Similar Documents
Modular Reasoning For Software Product Lines With Emergent Feature Interfaces
| Content Provider | Semantic Scholar |
|---|---|
| Author | Melo, Jean Carlos De Carvalho |
| Copyright Year | 2014 |
| Abstract | A Software Product Line (SPL) represents a family of software systems developed from reusable artifacts, which contain variation points. Artifacts correspond to components, classes, property files, among others that are composed in different manners to specify or build specific products. Features in turn hold the variability of a SPL. One widespread technique to implement features of a SPL is preprocessors, but it obfuscates the source code and reduces comprehensibility, making maintenance error-prone and costly. To minimize this problem, researchers propose Emergent Interfaces (EI) to capture dependencies between part of a feature that a developer is maintaining and the others. The authors develop a tool called Emergo for improving the maintainability of preprocessorbased software systems. Yet, they do not provide an overall feature interface considering all parts in an integrated way. As a consequence, a developer still might introduce bugs in the software product line since she cannot safely understand and reason about one complete feature before changing the code. To address that, we propose the concept of Emergent Feature Interfaces (EFI), an evolution of Emergent Interfaces, that consists of inferring feature dependencies by looking at a feature as a whole. EFI provide to the developer to see the dependencies of a given feature through a global interface, which considers all parts of a feature in an integrated way. That way, EFI help the developer to achieve independent feature comprehensibility and, consequently, she can change a feature code aware of its dependencies, avoiding breaking other features. We adapted Emergo to implement our proposal and we evaluate our proposal in terms of size and precision comparing with EI by using five preprocessorbased systems. The results of our study suggest the feasibility and usefulness of the proposed approach. Besides, we observe that contemporary software product lines are large and multilanguage. This means that capturing feature dependencies for these types of systems can be even harder. With this in mind, we propose a cross-language automated analysis for improving the maintainability of multi-language software product lines. Our approach uses the idea of emergent feature interfaces to capture feature dependencies out of a multitude of artifacts written in different languages. We developed an open-source tool called GSPAnalyzer to implement our technique. To evaluate the proposed approach, we ran a case study with a multi-language product line named RGMS and the results brought preliminary evidence that exists feature dependencies between heterogeneous artifacts and these dependencies can be easily broken if a developer changes either dependence end. |
| File Format | PDF HTM / HTML |
| Alternate Webpage(s) | http://twiki.cin.ufpe.br/twiki/pub/SPG/GenteAreaThesis/jccm_msc_thesis.pdf |
| Alternate Webpage(s) | http://twiki.cin.ufpe.br/twiki/pub/SPG/GenteAreaThesis/jccm_defense.pdf |
| Language | English |
| Access Restriction | Open |
| Content Type | Text |
| Resource Type | Article |