Abstract
Software product line~(SPL) engineering manages families of software products that share common features. However, cost-effective test case generation for an SPL is challenging. Applying existing test case generation techniques to each product variant separately may test common code in a redundant way. Moreover, it is difficult to share the test results among multiple product variants. In this paper, we propose the use of centralization, which combines multiple product variants from the same SPL and generates test cases for the entire system. By taking into account all variants, our technique generally avoids generating redundant test cases for common software components. Our case study on three SPLs shows that compared with testing each variant independently, our technique is more efficient and achieves higher test coverage.
- E. Bruneton, R. Lenglet, and T. Coupaye. ASM: A code manipulation tool to implement adaptable systems. In In Adaptable and extensible component systems, 2002.Google Scholar
- I. Cabral, M. B. Cohen, and G. Rothermel. Improving the testing and testability of software product lines. In Proc. 14th Int. Conf. on Software Product Lines, SPLC’10, pages 241–255, South Korea, 2010. Google Scholar
Digital Library
- I. do Carmo Machado, J. D. McGregor, and E. Santana de Almeida. Strategies for testing products in software product lines. SIGSOFT Softw. Eng. Notes, 37(6):1–8, Nov. 2012. Google Scholar
Digital Library
- R. Hamlet. Random testing. In J. Marciniak, editor, Encyclopedia of Software Engineering, pages 970–978. Wiley, 1994.Google Scholar
- H. Jaygarl, S. Kim, T. Xie, and C. K. Chang. Ocat: Object capturebased automated testing. In Proc. 19th Int. Symposium on Software Testing and Analysis, ISSTA ’10, pages 159–170, Italy, 2010. Google Scholar
Digital Library
- M. F. Johansen, O. Haugen, and F. Fleurey. An algorithm for generating t-wise covering arrays from large feature models. In Proc. 16th Int. Software Product Line Conf., SPLC ’12, pages 46–55, Brazil, 2012. Google Scholar
Digital Library
- C. Kästner, A. von Rhein, S. Erdweg, J. Pusch, S. Apel, T. Rendel, and K. Ostermann. Toward variability-aware testing. In Proc. 4th Int. Workshop on Feature-Oriented Software Development, FOSD ’12, pages 1–8, Dresden, Germany, 2012. Google Scholar
Digital Library
- C. H. P. Kim, D. S. Batory, and S. Khurshid. Reducing combinatorics in testing product lines. In Proc. Tenth Int. Conf. on Aspect-oriented Software Development, AOSD ’11, pages 57–68, Brazil, 2011. Google Scholar
Digital Library
- T. Lindholm, F. Yellin, G. Bracha, and A. Buckley. The Java Virtual Machine Specification, Java SE 7 Edition. Addi. Wesl. Prof., 2013. Google Scholar
Digital Library
- L. Ma, C. Artho, and H. Sato. Analyzing distributed Java applications by automatic centralization. In Computer Softw. and Applications Conf. Workshops, COMPSACW’13, pages 691–696, Japan, 2013. Google Scholar
Digital Library
- L. Ma, C. Artho, and H. Sato. Project centralization based on graph coloring. In Proc. ACM 29th Annual Symposium on Applied Computing, SAC’14, pages 1086–1093, South Korea, 2014. Google Scholar
Digital Library
- S. Oster, F. Markert, and P. Ritter. Automated incremental pairwise testing of software product lines. In Proc. 14th Int. Conf. on Software Product Lines, SPLC’10, pages 196–210, South Korea, 2010. Google Scholar
Digital Library
- C. Pacheco and M. Ernst. Randoop: Feedback-directed random testing for Java. In Companion to the 22nd ACM SIGPLAN Conf. on Object-oriented Programming Systems and Applications Companion, OOPSLA’07, pages 815–816, Canada, 2007. Google Scholar
Digital Library
- C. Paul and N. Linda. Software Product Lines: Practices and Patterns. Addison-Wesley Longman Publishing Co., Inc., Boston, USA, 2001. Google Scholar
Digital Library
- J. Shi, M. B. Cohen, and M. B. Dwyer. Integration testing of software product lines using compositional symbolic execution. In Proc. 15th Int. Conf. on Fundamental Approaches to Software Engineering, FASE’12, pages 270–284, Estonia, 2012. Google Scholar
Digital Library
- S. D. Stoller and Y. A. Liu. Transformations for model checking distributed Java programs. In Proc. 8th Int. SPIN workshop on Model checking of software, SPIN ’01, pages 192–199, Canada, 2001. Google Scholar
Digital Library
- Z. Xu, M. B. Cohen, W. Motycka, and G. Rothermel. Continuous test suite augmentation in software product lines. In Proc. 17th Int. Softw. Product Line Conf., SPLC ’13, pages 52–61, Japan, 2013. Google Scholar
Digital Library
- S. Zhang, D. Saff, Y. Bu, and M. D. Ernst. Combined static and dynamic automated test generation. In Proc. Int. Symp. on Softw. Testing and Analysis, ISSTA ’11, pages 353–363, Canada, 2011. Google Scholar
Digital Library
Index Terms
Efficient testing of software product lines via centralization (short paper)
Recommendations
Efficient testing of software product lines via centralization (short paper)
GPCE 2014: Proceedings of the 2014 International Conference on Generative Programming: Concepts and ExperiencesSoftware product line~(SPL) engineering manages families of software products that share common features. However, cost-effective test case generation for an SPL is challenging. Applying existing test case generation techniques to each product variant ...
Continuous test suite augmentation in software product lines
SPLC '13: Proceedings of the 17th International Software Product Line ConferenceSoftware Product Line (SPL) engineering offers several advantages in the development of families of software products. There is still a need, however, to generate test cases for individual products in product lines more efficiently. In this paper we ...
Assessing Software Product Line Testing Via Model-Based Mutation: An Application to Similarity Testing
ICSTW '13: Proceedings of the 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation WorkshopsNeeds for mass customization and economies of scale have pushed engineers to develop Software Product Lines (SPLs). SPLs are families of products sharing commonalities and exhibiting differences, built by reusing software assets abstractly represented ...






Comments