Foreword to the special issue on quality engineering for software product lines
- 836 Downloads
Software Product Line Engineering is a paradigm that focuses on the capture and modeling of available commonalities and variabilities within the products of a target application domain and hence facilitates reuse. Given the benefits of this engineering paradigm, large software production companies have become increasingly aware of the employment of software product lines to reap its advantages in terms of optimizing time‐to‐market, reducing costs, improving efficiency, and achieving agility. In practice, the success of software product line theories relies on the employment of optimized processes and technologies that are both valid and useful in the context of strategic and business directives as well as software development tasks. Impressive steps have been taken in the development of supportive tools and techniques for modeling, customizing, and realizing software product lines within the areas of software composition and component‐based software engineering.
The product line community is in its second decade of existence with the SPL conference serving as the premium forum for product line researchers and practitioners. However, the assurance of the quality of the software being developed using this approach and the satisfaction of various process metrics is an important ongoing direction of research that has received less attention. Some existing techniques from the areas of software architecture and also software quality evaluation have been adapted to software product lines, but yet more emphasis on the significant importance of quality engineering in software product lines is needed. The importance is seen in light of the fact that low-quality software product lines can cause a ripple effect on the actual numerous products that are derived from their customization.
This current special issue on Quality Engineering for Software Product Lines was produced with the purpose of depicting the state of the art and practice. We received many very high-quality submissions from leading researchers in the area and finally accepted seven papers for inclusion in the special issue. Each paper was peer-reviewed by at least three expert reviewers to ensure that the highest quality standards were met. We believe that this special issue contains some of the leading works in quality engineering for software product lines and can serve as a foundation for further advancing effort in this area.
The paper by Montagud, Abrahao, and Insfran entitled “A Systematic Review of Quality Attributes and Measures for Software Product Lines” provides a systematic analysis of the literature related to quality attributes and their measurement and representation in software product lines. The paper provides a categorization and covers the most significant research work in the area since 1996. A notable finding of this systematic literature review has been that only one-fourth of the work on quality attributes has been empirically evaluated, which calls for attention to and emphasis on empirical evaluations by researchers and authors in this area.
In the paper entitled “Toward Optimization of Non-functional Properties in Software Product Lines”, Siegmund et al. have addressed the issue of satisfying stakeholders’ non-functional requirements in the application engineering process. The authors point to an important fact that the desired levels of non-functionality can impact the decision about which features to include in a final product derived from a software product line. For this purpose, the SPL Conqueror framework is proposed that allows for the qualitative specification and quantitative measurement of non-functional aspects of a product line. Such non-functional information is later used effectively within the variant-derivation process of the software product line.
The work by Roos et al. offers an approach for the definition and representation of measureable quality attributes such as available processing capacity and constraints on these quality attributes. This approach extends the orthogonal variability model, which is widely used for variability modeling with mechanisms for exemplifying quality attributes. The extended orthogonal variability model with quality information is then converted into a constraint-satisfaction problem through which an optimal product can be derived based on the stakeholders’ functional and quality attributes. An important aspect of this work is the FaMa-OVM tool support that has been provided for configuring software product lines based on quality attributes.
One of the challenging aspects of software product lines relates to comprehensively testing the product line in such a way that all its products are tested. Given that the number of possible products for a software product family is exponential to the number of available features, the testing process becomes extremely hard. In the paper entitled “Model-based Pairwise Testing for Feature Interaction Coverage in Software Product Line Engineering”, Lochau et al. have proposed the idea of mapping feature models onto a reusable test model represented using Statecharts. This mapping allows the authors to employ existing coverage criteria such as control and data flow coverage that are otherwise unavailable to feature models. The use of these coverage criteria provides a basis for the authors to investigate the usefulness of pairwise testing for software product lines.
The other approach for testing an exponential number of products in the software product line is to consider all the t-wise feature interactions and to generate test cases based on these feature interactions. In their paper entitled “Pairwise Testing for Software Product Lines: Comparison of Two Approaches”, Perrouin et al. have investigated two different strategies for t-wise testing for software product lines. Their first strategy focuses on generality of the tests, whereas the second strategy emphasizes on efficient test generation. Both approaches, which are implemented using a constraint-satisfaction problem solver and the Alloy analyzer, are compared with each other using sample feature models such as the Arcade Game and Cell Phone feature models. The papers by Lochau et al. and Perrouin et al. can serve as two interesting benchmarks for future work on test generation for software product lines.
The paper entitled “AoURN-based Modeling and Analysis of Software Product Lines” by Mussbacher et al. provides a unique modeling and reasoning framework for capturing functional features of a software product line along with stakeholders’ goals and operational scenarios as a unified whole. The work employs the Aspect-oriented User Requirements Notation (AoURN) and its related supportive analysis techniques to perform trade-off analysis between the available features and the requirements of the stakeholders. An interesting new concept introduced in this paper is the non-negotiable feature, which has been used by other authors already but has not been formalized as such before. Furthermore, the use of the OCL constraint language in this paper provides the means for defining more expressive relationships between the features as opposed to the standard includes and excludes relations in a typical feature model.
The final paper of this special issue is dedicated to the real employment of quality assurance for software product lines to an important area, namely workflow systems. Acher et al. have shown in their paper entitled “Composing Multiple Variability Artifacts to Assemble Coherent Workflows” that mechanisms provided within the software product line engineering paradigm for modeling variability can be applied to service and workflow domains in order to form families of services or workflows. Composition is based on merging feature models, while the quality of composed workflows is assured through consistency rules. This paper provides interesting illustrative examples from the area of medical imaging pipelines and describes how consistent workflows can be derived based on the needs of the users.
The guest editors of this special issue wish to express their immense gratitude to the reviewers, who spent their time and effort to provide insightful comments that were essential to improving the quality of the papers. They also want to extend their thanks to the Editor-in-Chief, Professor Rachel Harrison, for her valuable comments and help. They thank all the authors, the volunteers, and the journal editorial assistant for making this special issue possible.