Skip to main content

Advertisement

SpringerLink
Log in
Menu
Find a journal Publish with us
Search
Cart
Book cover

International Conference on Fundamental Approaches to Software Engineering

FASE 2012: Fundamental Approaches to Software Engineering pp 270–284Cite as

  1. Home
  2. Fundamental Approaches to Software Engineering
  3. Conference paper
Integration Testing of Software Product Lines Using Compositional Symbolic Execution

Integration Testing of Software Product Lines Using Compositional Symbolic Execution

  • Jiangfan Shi18,
  • Myra B. Cohen18 &
  • Matthew B. Dwyer18 
  • Conference paper
  • 1810 Accesses

  • 35 Citations

Part of the Lecture Notes in Computer Science book series (LNTCS,volume 7212)

Abstract

Software product lines are families of products defined by feature commonality and variability, with a well-managed asset base. Recent work in testing of software product lines has exploited similarities across development phases to reuse shared assets and reduce test effort. The use of feature dependence graphs has also been employed to reduce testing effort, but little work has focused on code level analysis of dataflow between features. In this paper we present a compositional symbolic execution technique that works in concert with a feature dependence graph to extract the set of possible interaction trees in a product family. It composes these to incrementally and symbolically analyze feature interactions. We experiment with two product lines and determine that our technique can reduce the overall number of interactions that must be considered during testing, and requires less time to run than a traditional symbolic execution technique.

Keywords

  • Product Family
  • Interaction Tree
  • Partial Product
  • Software Product Line
  • Path Condition

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Download conference paper PDF

References

  1. Bertolino, A., Gnesi, S.: PLUTO: A Test Methodology for Product Families. In: van der Linden, F.J. (ed.) PFE 2003. LNCS, vol. 3014, pp. 181–197. Springer, Heidelberg (2004)

    CrossRef  Google Scholar 

  2. Cohen, M.B., Colbourn, C.J., Gibbons, P.B., Mugridge, W.B.: Constructing test suites for interaction testing. In: Proc. of the Intl. Conf. on Soft. Eng., pp. 38–48 (May 2003)

    Google Scholar 

  3. Cohen, M.B., Dwyer, M.B., Shi, J.: Coverage and adequacy in software product line testing. In: Proc. of the Workshop on the Role of Arch. for Test. and Anal., pp. 53–63 (July 2006)

    Google Scholar 

  4. Communication Research Center Canada, http://www.crc.gc.ca/en/html/crc/home/research/satcom/rars/sdr/products/scari_open/scari_open

  5. de Moura, L., Bjørner, N.S.: Z3: An Efficient SMT Solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)

    CrossRef  Google Scholar 

  6. Geppert, B., Li, J., Rößler, F., Weiss, D.M.: Towards Generating Acceptance Tests for Product Lines. In: Dannenberg, R.B., Krueger, C. (eds.) ICSR 2004. LNCS, vol. 3107, pp. 35–48. Springer, Heidelberg (2004)

    CrossRef  Google Scholar 

  7. GNU Radio, http://gnuradio.org/redmine/wiki/gnuradio

  8. Godefroid, P.: Compositional dynamic test generation. In: Proc. of the ACM Symposium on Principles of Programming Languages, pp. 47–54 (2007)

    Google Scholar 

  9. Halpert, R.L.: Static lock allocation. Master’s thesis, McGill University(April 2008)

    Google Scholar 

  10. Jaring, M., Bosch, J.: Expressing product diversification – categorizing and classifying variability in software product family engineering. Intl. Journal of Soft. Eng. and Knowledge Eng. 14(5), 449–470 (2004)

    CrossRef  Google Scholar 

  11. Kim, C.H.P., Batory, D., Khurshid, S.: Reducing combinatorics in testing product lines. In: Asp. Orient. Soft. Dev., AOSD (2011)

    Google Scholar 

  12. King, J.C.: Symbolic execution and program testing. Commun. ACM 19(7), 385–394 (1976)

    CrossRef  MATH  Google Scholar 

  13. Kuhn, D., Wallace, D.R., Gallo, A.M.: Software fault interactions and implications for software testing. IEEE Trans. on Soft. Eng. 30(6), 418–421 (2004)

    CrossRef  Google Scholar 

  14. Lopez-Herrejon, R.E., Batory, D.: A Standard Problem for Evaluating Product-Line Methodologies. In: Dannenberg, R.B. (ed.) GCSE 2001. LNCS, vol. 2186, pp. 10–24. Springer, Heidelberg (2001)

    CrossRef  Google Scholar 

  15. NASA Ames. Java Pathfinder (2011), http://babelfish.arc.nasa.gov/trac/jpf

  16. Ottenstein, K.J., Ottenstein, L.M.: The program dependence graph in a software development environment. In: Proc. of the Soft. Eng. Symp. on Practical Soft. Develop. Envs., pp. 177–184 (1984)

    Google Scholar 

  17. Person, S., Dwyer, M.B., Elbaum, S., Pǎsǎreanu, C.S.: Differential symbolic execution. In: Intl. Symp. on Foun. of Soft. Eng., pp. 226–237 (2008)

    Google Scholar 

  18. Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Heidelberg (2005)

    MATH  Google Scholar 

  19. Reis, S., Metzger, A., Pohl, K.: Integration Testing in Software Product Line Engineering: A Model-Based Technique. In: Dwyer, M.B., Lopes, A. (eds.) FASE 2007. LNCS, vol. 4422, pp. 321–335. Springer, Heidelberg (2007)

    CrossRef  Google Scholar 

  20. Reisner, E., Song, C., Ma, K.-K., Foster, J.S., Porter, A.: Using symbolic evaluation to understand behavior in configurable software systems. In: Intl. Conf. on Soft. Eng., pp. 445–454 (May 2010)

    Google Scholar 

  21. Reps, T., Rosay, G.: Precise interprocedural chopping. In: Proc. of the ACM Symposium on Foundations of Soft. Eng., pp. 41–52 (1995)

    Google Scholar 

  22. Sox. Sound Exchange (2011), http://sox.sourceforge.net/

  23. Stricker, V., Metzger, A., Pohl, K.: Avoiding Redundant Testing in Application Engineering. In: Bosch, J., Lee, J. (eds.) SPLC 2010. LNCS, vol. 6287, pp. 226–240. Springer, Heidelberg (2010)

    CrossRef  Google Scholar 

  24. Uzuncaova, E., Garcia, D., Khurshid, S., Batory, D.: Testing software product lines using incremental test generation. In: Intl. Symp. on Soft. Reliab. Eng, pp. 249–258 (2008)

    Google Scholar 

  25. Vallée-Rai, R., Gagnon, E.M., Hendren, L., Lam, P., Pominville, P., Sundaresan, V.: Optimizing Java Bytecode Using the Soot Framework: Is It Feasible? In: Watt, D.A. (ed.) CC 2000. LNCS, vol. 1781, pp. 18–34. Springer, Heidelberg (2000)

    CrossRef  Google Scholar 

Download references

Author information

Authors and Affiliations

  1. Department of Computer Science & Engineering, University of Nebraska-Lincoln, Lincoln, Nebraska, USA

    Jiangfan Shi, Myra B. Cohen & Matthew B. Dwyer

Authors
  1. Jiangfan Shi
    View author publications

    You can also search for this author in PubMed Google Scholar

  2. Myra B. Cohen
    View author publications

    You can also search for this author in PubMed Google Scholar

  3. Matthew B. Dwyer
    View author publications

    You can also search for this author in PubMed Google Scholar

Editor information

Editors and Affiliations

  1. School of Computer Science, Universidad Autónoma de Madrid, Campus Cantoblanco, 28049, Madrid, Spain

    Juan de Lara

  2. School of Informatics, City University, Northampton Square, EC1V 0HB, London, UK

    Andrea Zisman

Rights and permissions

Reprints and Permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Shi, J., Cohen, M.B., Dwyer, M.B. (2012). Integration Testing of Software Product Lines Using Compositional Symbolic Execution. In: de Lara, J., Zisman, A. (eds) Fundamental Approaches to Software Engineering. FASE 2012. Lecture Notes in Computer Science, vol 7212. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-28872-2_19

Download citation

  • .RIS
  • .ENW
  • .BIB
  • DOI: https://doi.org/10.1007/978-3-642-28872-2_19

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-28871-5

  • Online ISBN: 978-3-642-28872-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Share this paper

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

Search

Navigation

  • Find a journal
  • Publish with us

Discover content

  • Journals A-Z
  • Books A-Z

Publish with us

  • Publish your research
  • Open access publishing

Products and services

  • Our products
  • Librarians
  • Societies
  • Partners and advertisers

Our imprints

  • Springer
  • Nature Portfolio
  • BMC
  • Palgrave Macmillan
  • Apress
  • Your US state privacy rights
  • Accessibility statement
  • Terms and conditions
  • Privacy policy
  • Help and support

167.114.118.210

Not affiliated

Springer Nature

© 2023 Springer Nature