Eiffel: programming for reusability and extendibility
ACM SIGPLAN Notices
An axiomatic basis for computer programming
Communications of the ACM
Computer
Planner Based Error Recovery Testing
ISSRE '00 Proceedings of the 11th International Symposium on Software Reliability Engineering
Test input generation with java PathFinder
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Evolutionary testing of classes
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
DART: directed automated random testing
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Generating Java unit tests with AI planning
Proceedings of the 1st ACM international workshop on Empirical assessment of software engineering languages and technologies: held in conjunction with the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE) 2007
Automated test data generation for aspect-oriented programs
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Pex: white box test generation for .NET
TAP'08 Proceedings of the 2nd international conference on Tests and proofs
Proceedings of the 5th Workshop on Automation of Software Test
Synthesize It: From Design by Contract to Meaningful Test Input Data
SEFM '10 Proceedings of the 2010 8th IEEE International Conference on Software Engineering and Formal Methods
Hi-index | 0.00 |
Testing object oriented software is even for human beings a challenging task. Automating it is therefore very helpful for developers but by no means trivial. In this paper we present AIana, an approach for automatically generating complex objects used as test input data that satisfy a given precondition in terms of Design by Contract™ specification. AIana transforms the existing Design by Contract™ specification of the parameter type and the precondition of the method under test to PDDL (plan domain description language). Based on it, existing AI planners can be used to create a plan, i.e., a method sequence that transforms the object to the goal state. The goal state is given by the precondition of the method under test. AIana is evaluated on two case studies: a student developed stack based calculator, and a real-world event based application developed by our industry partner. AIana outperforms a random approach significantly in terms of methods tested and line coverage on both case studies.