skip to main content
10.1145/2491411.2494590acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

aPET: a test case generation tool for concurrent objects

Published:18 August 2013Publication History

ABSTRACT

We present the concepts, usage and prototypical implementation of aPET, a test case generation tool for a distributed asynchronous language based on concurrent objects. The system receives as input a program, a selection of methods to be tested, and a set of parameters that include a selection of a coverage criterion. It yields as output a set of test cases which guarantee that the selected coverage criterion is achieved. aPET is completely integrated within the language's IDE via Eclipse. The generated test cases can be displayed in textual mode and, besides, it is possible to generate ABSUnit code (i.e., code runnable in a simple framework similar to JUnit to write repeatable tests). The information yield by aPET can be relevant to spot bugs during program development and also to perform regression testing.

References

  1. G.A. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge, MA, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. E. Albert, P. Arenas, and M. Gómez-Zamalloa. Symbolic Execution of Concurrent Objects in CLP. In Proc. of PADL’12, LNCS 7149, pages 123–137. Springer, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. E. Albert, P. Arenas, and M. Gómez-Zamalloa. Towards Testing Concurrent Objects in CLP. In Proc. of ICLP’12, LIPIcs 17, pages 98–108. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 2012.Google ScholarGoogle Scholar
  4. E. Albert, M. Gómez-Zamalloa, and G. Puebla. PET: A Partial Evaluation-based Test Case Generation Tool for Java Bytecode. In Proc. of PEPM’10, pages 25–28. ACM Press, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. Armstrong, R. Virding, C. Wistrom, and M. Williams. Concurrent Programming in Erlang. Prentice Hall, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. C. Cadar, P. Godefroid, S. Khurshid, C. S. Pˇ asˇ areanu, K. Sen, N. Tillmann, and W. Visser. Symbolic Execution for Software Testing in Practice: Preliminary Assessment. In Proc. of ICSE’11, pages 1066–1071. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Clarke, N.Diakov, R. Hähnle, E. Broch Johnsen, I. Schaefer, J. Schäfer, R. Schlatte, and P. Y. H. Wong. Modeling Spatial and Temporal Variability with the HATS Abstract Behavioral Modeling Language. In Proc. of SFM’11, LNCS 6659, pages 417–457. Springer, 2011.Google ScholarGoogle Scholar
  8. L. A. Clarke. A System to Generate Test Data and Symbolically Execute Programs. IEEE Transactions on Software Engineering, 2(3):215–222, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. P. Haller and M. Odersky. Scala actors: Unifying Thread-Based and Event-Based Programming. Theor. Comput. Sci., 410(2-3):202–220, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. W.E. Howden. Symbolic Testing and the DISSECT Symbolic Evaluation System. IEEE Transactions on Software Engineering, 3(4):266–278, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. E. B. Johnsen, R. Hähnle, J. Schäfer, R. Schlatte, and M. Steffen. ABS: A Core Language for Abstract Behavioral Specification. In Proc. of FMCO’10, LNCS 6957, pages 142–164. Springer, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. C. King. Symbolic Execution and Program Testing. Commun. ACM, 19(7):385–394, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. I. Schaefer, L. Bettini, V. Bono, F. Damiani, and N. Tanzarella. Delta-Oriented Programming of Software Product Lines. In Proc. of SPLC’10, LNCS 6287, pages 77–91, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. S. Shivaprasad and N. Prasad. Unit Testing Concurrent Java Programs. Journal of Computer Applications, 67(10):49–62, 2013.Google ScholarGoogle Scholar
  15. N. Tillmann and J. de Halleux. Pex-White Box Test Generation for .NET. In Proc. of TAP’08, LNCS 4966, pages 134–153. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. aPET: a test case generation tool for concurrent objects

          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
          • Published in

            cover image ACM Conferences
            ESEC/FSE 2013: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
            August 2013
            738 pages
            ISBN:9781450322379
            DOI:10.1145/2491411

            Copyright © 2013 ACM

            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]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 18 August 2013

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate112of543submissions,21%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader