DSD-Crasher: A hybrid analysis tool for bug finding
ACM Transactions on Software Engineering and Methodology (TOSEM)
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Random testing for higher-order, stateful programs
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Generating regression unit tests using a combination of verification and capture & replay
TAP'10 Proceedings of the 4th international conference on Tests and proofs
Test data generation for programs with quantified first-order logic specifications
ICTSS'10 Proceedings of the 22nd IFIP WG 6.1 international conference on Testing software and systems
FoVeOOS'10 Proceedings of the 2010 international conference on Formal verification of object-oriented software
Directed incremental symbolic execution
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Symbolic execution with mixed concrete-symbolic solving
Proceedings of the 2011 International Symposium on Software Testing and Analysis
PSO based pseudo dynamic method for automated test case generation using interpreter
ICSI'11 Proceedings of the Second international conference on Advances in swarm intelligence - Volume Part I
Efficient and formal generalized symbolic execution
Automated Software Engineering
Hi-index | 0.00 |
We demonstrate how a static analysis feedback and unit test case generation framework, KUnit, built on the Bogor/ Kiasan symbolic execution engine provides an effective unit test case generation for sequential heap-intensive Java programs (whose computation structures are incomplete - open systems). KUnit leverages method contract information to better deal with open object-oriented systems and to support automatic mock object creation. To facilitate application to realistic software, KUnit allows the scope/cost of the analysis and test case generation to be controlled via notions of heap configuration coverage. In a broad experimental study on 23 Java data structure modules, we show that it is able to: (a) achieve 100% feasible branch coverage on almost all methods by using only small heap configurations, (b) improve on competing tools for coverage achieved, size of test suites, and time to generate test suites.