Advertisement

Software Quality Journal

, Volume 20, Issue 3–4, pp 519–565 | Cite as

Quality-aware analysis in product line engineering with the orthogonal variability model

  • Fabricia Roos-FrantzEmail author
  • David Benavides
  • Antonio Ruiz-Cortés
  • André Heuer
  • Kim Lauenroth
Article

Abstract

Software product line engineering is about producing a set of similar products in a certain domain. A variability model documents the variability amongst products in a product line. The specification of variability can be extended with quality information, such as measurable quality attributes (e.g., CPU and memory consumption) and constraints on these attributes (e.g., memory consumption should be in a range of values). However, the wrong use of constraints may cause anomalies in the specification which must be detected (e.g., the model could represent no products). Furthermore, based on such quality information, it is possible to carry out quality-aware analyses, i.e., the product line engineer may want to verify whether it is possible to build a product that satisfies a desired quality. The challenge for quality-aware specification and analysis is threefold. First, there should be a way to specify quality information in variability models. Second, it should be possible to detect anomalies in the variability specification associated with quality information. Third, there should be mechanisms to verify the variability model to extract useful information, such as the possibility to build a product that fulfils certain quality conditions (e.g., is there any product that requires less than 512 MB of memory?). In this article, we present an approach for quality-aware analysis in software product lines using the orthogonal variability model (OVM) to represent variability. We propose to map variability represented in the OVM associated with quality information to a constraint satisfaction problem and to use an off-the-shelf constraint programming solver to automatically perform the verification task. To illustrate our approach, we use a product line in the automotive domain which is an example that was created in a national project by a leading car company. We have developed a prototype tool named FaMa-OVM, which works as a proof of concepts. We were able to identify void models, dead and false optional elements, and check whether the product line example satisfies quality conditions.

Keywords

Quality modelling Software product lines Quality-aware analysis Automated analysis Orthogonal variability model 

Notes

Acknowledgments

We would like to thank Silvia Abrahão and Isidro Ramos for their helpful comments in earlier versions of this article. We also would like to thank José Galindo for his work on implementing FaMa-OVM tool. This work has been partially supported by the European Commission (FEDER) and Spanish Government under CICYT project SETI (TIN2009-07366), by the Andalusian Government under ISABEL (TIC-2533) and THEOS (TIC-5906) projects, by Evangelischer Entwicklungsdienst e.V. (EED) and by the DFG under grant PO 607/2-1 IST-SPL.

References

  1. Bagheri, E., Di Noia, T., Ragone, A., & Gasevic, D. (2010). Configuring software product line feature models based on stakeholders’ soft and hard requirements. In Proceedings of the 14th international conference on Software product lines, SPLC’10 (pp. 16–31). Springer, Berlin.Google Scholar
  2. Batory, D. (2005). Feature models, grammars, and propositional formulas. In 9th international software product line conference (Vol. 3714, pp. 7–20). Springer, LNCS.Google Scholar
  3. Batory, D., Benavides, D., & Ruiz-Cortés, A. (2006). Automated analysis of feature models: Challenges ahead. Communications of the ACM, 49(12), 45–47.CrossRefGoogle Scholar
  4. Benavides, D., Trinidad, P., & Ruiz-Cortés, A. (2005). Automated reasoning on feature models. In 17th international conference advanced information systems engineering (Vol. 3520, pp. 491–503). Springer, LNCSGoogle Scholar
  5. Benavides, D., Segura, S., & Ruiz-Cortés, A. (2010). Automated analysis of feature models 20 years later: A literature review. Information Systems, 35(6), 615–636.CrossRefGoogle Scholar
  6. Berre, D. L., Parrain, A. (2010). Sat4j solver. http://www.sat4j.or.
  7. Chen, L., Babar, M. A., & Ali, N. (2009). Variability management in software product lines: A systematic review. In 13th international software product line conference (pp. 81–90). Pittsburgh, PA: Carnegie Mellon University.Google Scholar
  8. Czarnecki, K., Helsen, S., & Eisenecker, U. (2005). Formalizing cardinality-based feature models and their specialization. Software Process: Improvement and Practice, 10(1), 7–29.CrossRefGoogle Scholar
  9. Dhungana, D., Rabiser, R., Grünbacher, P., & Neumayer, T. (2007). Integrated tool support for software product line engineering. In 22nd IEEE/ACM international conference on automated Software Engineering (pp. 533–534). New York, NY: ACM.Google Scholar
  10. Dhungana, D., Heymans, P., & Rabiser, R. (2010). A formal semantics for decision-oriented variability modeling with dopler. In Fourth international workshop on variability modelling of software–intensive systems (pp. 29–35).Google Scholar
  11. Felfernig, A., Friedrich, G. E., & Jannach, D. (2000). UML as domain specific language for the construction of knowledge-based configuration systems. International Journal of Software Engineering and Knowledge Engineering (IJSEKE), 10(4), 449–469.CrossRefGoogle Scholar
  12. Finkel, R., & O’Sullivan, B. (2011). Reasoning about conditional constraint specification problems and feature models. Artificial Intelligence for Engineering Design, Analysis and Manufacturing, 25(Special Issue 02), 163–174.CrossRefGoogle Scholar
  13. Foundation, E. (2011). Xtext—language development framework. http://www.eclipse.org/Xtex
  14. Garcia, F., Bertoa, M., Calero, C., Vallecillo, A., Ruiz, F., Piattini, M., et al. (2006). Towards a consistent terminology for software measurement. Information and Software Technology 48(8), 631–644.CrossRefGoogle Scholar
  15. Heuer, A., Lauenroth, K., Müller, M., & Scheele, J. N. (2010). Towards effective visual modeling of complex software product lines. In Proceedings of the 3rd international workshop on visualisation in software product line engineering (VISPLE) in proceedings of the 14th international software product line conference (Vol. 2, pp. 229–237).Google Scholar
  16. Kang, K., Cohen, S., Hess, J., Novak, W., & Peterson, S. (1990). Feature–Oriented Domain Analysis (FODA) Feasibility Study. Tech. Rep. CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University.Google Scholar
  17. Kang, K. C., Kim, S., Lee, J., Kim, K., Shin, E., & Huh, M. (1998). FORM: A feature–oriented reuse method with domain–specific reference architectures. Annals of Software Engineering 5(1), 143–168.CrossRefGoogle Scholar
  18. Karataş, A., Oğuztüzün, H., & Doğru, A. (2010). Mapping extended feature models to constraint logic programming over finite domains. In J. Bosch, J. Lee (Eds.), Software product lines: Going beyond, LNCS (Vol. 6287, pp. 286–299). Berlin/Heidelberg: Springer.CrossRefGoogle Scholar
  19. Laburthe, F., Jussien, N., Rochart, G., Cambazard, H., Prud’homme, C., Malapert, A., et al. (2010). Choco solver. http://www.choco.emn.f.
  20. Metzger, A., & Pohl, K. (2007). Variability management in software product line engineering. In 29th international conference on software engineering (ICSE companion) (pp. 186–187). IEEE Computer Society.Google Scholar
  21. Metzger, A., Pohl, K., Heymans, P., Schobbens, P., & Saval, G. (2007). Disambiguating the documentation of variability in software product lines: A separation of concerns, formalization and automated analysis. In 15th international requirements engineering conference (pp. 243–253).Google Scholar
  22. Montagud, S., & Abrahão, S. (2009). Gathering current knowledge about quality evaluation in software product lines. In SPLC ’09: Proceedings of the 13th international software product line conference (pp. 91–100). Pittsburgh, PA: Carnegie Mellon University.Google Scholar
  23. Pohl, K., Böckle, G., & van der Linden, F. J. (2005). Software product line engineering: Foundations, principles and techniques. Berlin, Heidelberg, New York: Springer.zbMATHGoogle Scholar
  24. Sinnema, M., & Deelstra, S. (2007). Classifying variability modeling techniques. Information & Software Technology, 49(7), 717–739.CrossRefGoogle Scholar
  25. Sinnema, M., Deelstra, S., Nijhuis, J., & Bosch, J. (2004). COVAMOF: A framework for modeling variability in software product families. In Third software product line conference (Vol. 3154, pp. 197–213). Springer, LNCS.Google Scholar
  26. Trinidad, P., Benavides, D., Durán, A., Ruiz-Cortés, A., & Toro, M. (2008). Automated error analysis for the agilization of feature modeling. Journal of Systems and Software, 81(6), 883–896.CrossRefGoogle Scholar
  27. Trinidad, P., Benavides, D., Ruiz-Cortés, A., Segura, S., & Jimenez, A. (2008). Fama framework. In 12th international software product line conference—tool demonstrations (pp. 359–359). IEEE Computer Society.Google Scholar
  28. Tsang, E. (1993). Foundations of constraint satisfaction. London and San Diego: Academic Press.Google Scholar
  29. Tun, T. T., Boucher, Q., Classen, A., Hubaux, A., & Heymans, P. (2009). Relating requirements and feature configurations: A systematic approach. In Software product lines, 13th international conference, SPLC 2009, ACM international conference proceeding series (Vol. 446, pp. 201–210).Google Scholar
  30. White, J., Dougherty, B., & Schmidt, D. C . (2009). Selecting highly optimal architectural feature sets with filtered cartesian flattening. Journal of Systems and Software, 82(8), 1268–1284.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  • Fabricia Roos-Frantz
    • 1
    Email author
  • David Benavides
    • 1
  • Antonio Ruiz-Cortés
    • 1
  • André Heuer
    • 2
  • Kim Lauenroth
    • 2
  1. 1.Department Computer Languages and SystemsUniversity of SevilleSevilleSpain
  2. 2.Paluno—The Ruhr Institute for Software TechnologyUniversity of Duisburg-EssenEssenGermany

Personalised recommendations