skip to main content
research-article

A comparison of product-based, feature-based, and family-based type checking

Published:27 October 2013Publication History
Skip Abstract Section

Abstract

Analyzing software product lines is difficult, due to their inherent variability. In the past, several strategies for product-line analysis have been proposed, in particular, product-based, feature-based, and family-based strategies. Despite recent attempts to conceptually and empirically compare different strategies, there is no work that empirically compares all of the three strategies in a controlled setting. We close this gap by extending a compiler for feature-oriented programming with support for product-based, feature-based, and family-based type checking. We present and discuss the results of a comparative performance evaluation that we conducted on a set of 12 feature-oriented, Java-based product lines. Most notably, we found that the family-based strategy is superior for all subject product lines: it is substantially faster, it detects all kinds of errors, and provides the most detailed information about them.

References

  1. S. Apel and D. Beyer. Feature Cohesion in Software Product Lines: An Exploratory Study. In Proc. ICSE, pages 421--430. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. S. Apel and D. Hutchins. A Calculus for Uniform Feature Composition. ACM TOPLAS, 32 (5): 19:1--19:33, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. Apel, C. Kästner, A. Größlinger, and C. Lengauer. Type Safety for Feature-Oriented Product Lines. Automated Software Engineering, 17 (3): 251--300, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. S. Apel, H. Speidel, P. Wendler, A. von Rhein, and D. Beyer. Detection of Feature Interactions using Feature-Aware Verification. In Proc. ASE, pages 372--375. IEEE, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Apel, S. Kolesnikov, J. Liebig, C. Kästner, M. Kuhlemann, and T. Leich. Access Control in Feature-Oriented Programming. Science of Computer Programming, 77 (3): 174--187, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. S. Apel, C. Kästner, and C. Lengauer. Language-Independent and Automated Software Composition: The FeatureHouse Experience. IEEE Trans. Software Engineering, 39 (1): 63--79, 2013natexlaba. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Apel, A. von Rhein, P. Wendler, A. Größlinger, and D. Beyer. Strategies for Product-Line Verification: Case Studies and Experiments. In Proc. ICSE, pages 482--491. IEEE, 2013natexlabb. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. L. Bettini, F. Damiani, and I. Schaefer. Compositional Type Checking of Delta-oriented Software Product Lines. Acta Informatica, 50 (2): 77--122, 2013.Google ScholarGoogle Scholar
  9. E. Bodden, M. Mezini, C. Brabrand, T. Tolêdo, M. Ribeiro, and P. Borba. SPLLIFT: Statically Analyzing Software Product Lines in Minutes Instead of Years. In Proc. PLDI, pages 355--364. ACM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. C. Brabrand, M. Ribeiro, T. Tolêdo, J. Winther, and P. Borba. Intraprocedural Dataflow Analysis for Software Product Lines. Trans. on Aspect-Oriented Software Development, 10: 73--108, 2013.Google ScholarGoogle Scholar
  11. A. Classen, P. Heymans, P.-Y. Schobbens, A. Legay, and J.-F. Raskin. Model Checking Lots of Systems: Efficient Verification of Temporal Properties in Software Product Lines. In Proc. ICSE, pages 335--344. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. P. Clements and L. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Cordy, A. Classen, G. Perrouin, P.-Y. Schobbens, P. Heymans, and A. Legay. Simulation-Based Abstractions for Software Product-Line Model Checking. In Proc. ICSE, pages 672--682. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. B. Delaware, W. Cook, and D. Batory. Fitting the Pieces Together: A Machine-Checked Model of Safe Composition. In Proc. FSE, pages 243--252. ACM, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. Guo, K. Czarnecki, S. Apel, N. Siegmund, and A. Wasowski. Variability-Aware Performance Prediction: A Statistical Learning Approach. In Proc. ASE. IEEE, 2013.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. M. Johansen, Ø. Haugen, and F. Fleurey. An Algorithm for Generating t-wise Covering Arrays from Large Feature Models. In Proc. SPLC, pages 46--55. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. K. Kang, S. Cohen, J. Hess, W. Novak, and A. Peterson. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report Carnegie Mellon University/SEI-90-TR-21, Carnegie Mellon University, 1990.Google ScholarGoogle ScholarCross RefCross Ref
  18. C. Kästner, S. Apel, T. Thüm, and G. Saake. Type Checking Annotation-Based Product Lines. ACM Trans. on Software Engineering and Methodology, 21 (3): 14:1--14:29, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. K. Lauenroth, S. Toehning, and K. Pohl. Model Checking of Domain Artifacts in Product Line Engineering. In Proc. ASE, pages 269--280. IEEE, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. H. Li, S. Krishnamurthi, and K. Fisler. Verifying Cross-cutting Features as Open Systems. In Proc. FSE, pages 89--98. ACM, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. J. Liebig, A. von Rhein, C. Kästner, S. Apel, J. Dörre, and C. Lengauer. Scalable Analysis of Variable Software. In Proc. ESEC/FSE, pages 81--91. ACM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J. Liu, S. Basu, and R. Lutz. Compositional model checking of software product lines using variation point obligations. Automated Software Engineering, 18 (1): 39--76, Mar. 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. S. Oster, F. Markert, and P. Ritter. Automated Incremental Pairwise Testing of Software Product Lines. In Proc. SPLC, LNCS 6287, pages 196--210. Springer, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. N. Siegmund, S. Kolesnikov, C. Kästner, S. Apel, D. Batory, M. Rosenmüller, and G. Saake. Predicting Performance via Automated Feature-Interaction Detection. In Proc. ICSE, pages 167--177. IEEE, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. N. Siegmund, M. Rosenmüller, C. Kästner, P. Giarrusso, S. Apel, and S. Kolesnikov. Scalable Prediction of Non-functional Properties in Software Product Lines: Footprint and Memory Consumption. Information and Software Technology, 55 (3): 491--507, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. N. Siegmund, A. von Rhein, and S. Apel. Family-Based Performance Measurement. In Proc. GPCE. ACM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. P. Tarr, H. Ossher, and S. Sutton Jr. Hyper/J: Multi-Dimensional Separation of Concerns for Java. In Proc. ICSE, pages 689--690. ACM, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. R. Tartler, D. Lohmann, J. Sincero, and W. Schröder-Preikschat. Feature Consistency in Compile-time-configurable System Software: Facing the Linux 10,000 Feature Problem. In Proc. EuroSys, pages 47--60. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. S. Thaker, D. Batory, D. Kitchin, and W. Cook. Safe Composition of Product Lines. In Proc. GPCE, pages 95--104. ACM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. T. Thüm, S. Apel, C. Kästner, M. Kuhlemann, I. Schaefer, and G. Saake. Analysis Strategies for Software Product Lines. Technical Report FIN-004-2012, University of Magdeburg, 2012.Google ScholarGoogle Scholar
  31. T. Thüm, I. Schaefer, S. Apel, and M. Hentschel. Family-based Deductive Verification of Software Product Lines. In Proc. GPCE, pages 11--20. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. A. von Rhein, S. Apel, C. Kästner, T. Thüm, and I. Schaefer. The PLA Model: On the Combination of Product-Line Analyses. In Proc. VaMoS, pages 73--80. ACM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A comparison of product-based, feature-based, and family-based type checking

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!