skip to main content
10.1145/1287624.1287701acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

A specification-based approach to testing software product lines

Published: 07 September 2007 Publication History

Abstract

This paper presents a specification-based approach for systematic testing of products from a software product line. Our approach uses specifications given as formulas in Alloy, a first-order logic based on relations. Alloy formulas can be checked for satisfiability using the Alloy Analyzer. The fully automatic analyzer, given an Alloy formula and a scope, i.e., a bound on the universe of discourse, searches for an instance, i.e., a valuation to the relations in the formula such that it evaluates to true. The analyzer translates an Alloy formula (for the given scope) to a propositional formula and finds an instance using an off-the-shelf SAT solver. The use of an enumerating solver enables systematic test generation.
We have developed a prototype based on the AHEAD theory. The prototype uses the recently developed Kodkod model finding engine of the Alloy Analyzer. We illustrate our approach using a data structure product line.

References

[1]
C. Barrett and S. Berezin. CVC Lite: A new implementation of the cooperating validity checker. In CAV, 2004.
[2]
D. Batory. Feature models, grammars, and propositional formulas. In SPLC, 2005.
[3]
D. Batory. From implementation to theory in program synthesis. In Keynote at POPL, 2007.
[4]
D. Batory, G. Chen, E. Robertson, and T. Wang. Design wizards and visual programming environments for genvoca generators. Software Engineering, 26(5):441--452, 2000.
[5]
D. Batory, B. Lofaso, and Y. Smaragdakis. JTS: tools for implementing domain-specific languages. In Proc. International Conference on Software Reuse, 1998.
[6]
D. Batory and S. O'Malley. The design and implementation of hierarchical software systems with reusable components. ACM Transactions of Software Engineering Methodology, 1(4):355--398, 1992.
[7]
D. Batory, J. N. Sarvela, and A. Rauschmayer. Scaling step-wise refinement. In ICSE, 2003.
[8]
D. Batory, J. N. Sarvela, and A. Rauschmayer. Scaling step-wise refinement. IEEE Transactions on Software Engineering, 30(6):355--371, 2004.
[9]
T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. The MIT Press, Cambridge, MA, 1990.
[10]
J. Goodenough and S. Gerhart. Toward a theory of test data selection. IEEE Transactions on Software Engineering, June 1975.
[11]
D. Jackson. Software Abstractions: Logic, Language and Analysis. The MIT Press, Cambridge, MA, 2006.
[12]
G. T. Leavens, A. L. Baker, and C. Ruby. Preliminary design of JML: A behavioral interface specification language for Java. Technical Report TR 98-06i, Department of Computer Science, Iowa State University, June 1998.
[13]
B. Liskov and J. Guttag. Program Development in Java: Abstraction, Specification, and Object-Oriented Design. Addison-Wesley, 2000.
[14]
D. Marinov and S. Khurshid. TestEra: A novel framework for automated testing of Java programs. In ASE, 2001.
[15]
M. W. Moskewicz, C. F. Madigan, Y. Zhao, L. Zhang, and S. Malik. Chaff: Engineering an efficient SAT solver. In DAC, 2001.
[16]
B. C. Pierce. Basic Category Theory for Computer Scientists. The MIT Press, Cambridge, MA, 1991.
[17]
P. G. Selinger, M. M. Astrahan, D. D. Chamberlin, R. A. Lorie, and T. G. Price. Access path selection in a relational database management system. In SIGMOD, 1979.
[18]
E. Torlak and D. Jackson. Kodkod: A relational model finder. In TACAS, 2007.
[19]
S. Trujillo, D. Batory, and O. Diaz. Feature oriented model driven development: A case study for portlets. In ICSE, 2007.

Cited By

View all
  • (2012)Grammar-based test generation for software product line feature modelsProceedings of the 2012 Conference of the Center for Advanced Studies on Collaborative Research10.5555/2399776.2399785(87-101)Online publication date: 5-Nov-2012
  • (2012)Toward variability-aware testingProceedings of the 4th International Workshop on Feature-Oriented Software Development10.1145/2377816.2377817(1-8)Online publication date: 24-Sep-2012
  • (2012)Evolutionary search-based test generation for software product line feature modelsProceedings of the 24th international conference on Advanced Information Systems Engineering10.1007/978-3-642-31095-9_40(613-628)Online publication date: 25-Jun-2012
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ESEC-FSE '07: Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
September 2007
638 pages
ISBN:9781595938114
DOI:10.1145/1287624
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 September 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. AHEAD
  2. GenVoca
  3. alloy
  4. product-lines
  5. specification-based testing
  6. test data generation

Qualifiers

  • Article

Conference

ESEC/FSE07
Sponsor:

Acceptance Rates

Overall Acceptance Rate 112 of 543 submissions, 21%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2012)Grammar-based test generation for software product line feature modelsProceedings of the 2012 Conference of the Center for Advanced Studies on Collaborative Research10.5555/2399776.2399785(87-101)Online publication date: 5-Nov-2012
  • (2012)Toward variability-aware testingProceedings of the 4th International Workshop on Feature-Oriented Software Development10.1145/2377816.2377817(1-8)Online publication date: 24-Sep-2012
  • (2012)Evolutionary search-based test generation for software product line feature modelsProceedings of the 24th international conference on Advanced Information Systems Engineering10.1007/978-3-642-31095-9_40(613-628)Online publication date: 25-Jun-2012
  • (2008)Using modern mathematics as an FOSD modeling languageProceedings of the 7th international conference on Generative programming and component engineering10.1145/1449913.1449921(35-44)Online publication date: 19-Oct-2008
  • (2008)Testing Software Product Lines Using Incremental Test GenerationProceedings of the 2008 19th International Symposium on Software Reliability Engineering10.1109/ISSRE.2008.56(249-258)Online publication date: 10-Nov-2008
  • (2008)A Modeling Language for Program Design and SynthesisAdvances in Software Engineering10.1007/978-3-540-89762-0_2(39-58)Online publication date: 27-Nov-2008

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media