Academia.eduAcademia.edu

Outline

Automatic Falsification of Java Assertions

2015

Abstract

We present an approach for the static detection of possible assertion violations in Java. The main idea is to use an existing test-case generator in combination with a new program transformation. A possible assertion violation is indicated by a generated specific test case. In addition, this test case specifies the path in the program leading to the assertion violation. This heuristic approach is a compromise between the usual but too late detection of an assertion violation at runtime and an often too expensive complete analysis based on a model checker. Keywords–assertion; automatic test-case generation; program transformation.

References (15)

  1. Oracle, "Programming With Assertions," http://docs.oracle.com/javase/6/docs/technotes/guides/language/assert. html, retrieved: August, 2015.
  2. G. Travis, JDK 1.4 Tutorial. Manning Publications, 2002.
  3. J. Callahan, F. Schneider, and S. Easterbrook, Eds., Automated software testing using model-checking, 1996, proceedings 2nd SPIN workshop.
  4. M. Shafique and Y. Labiche, "A systematic review of state-based test tools," Int. J. Softw. Tools Technol. Transf., vol. 17, no. 1, Feb. 2015, pp. 59-76. [Online]. Available: http://dx.doi.org/10.1007/ s10009-013-0291-0
  5. G. Fraser and A. Arcuri, "Evosuite: automatic test suite generation for object-oriented software," in Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ser. ESEC/FSE '11. New York, NY, USA: ACM, 2011, pp. 416-419. [Online]. Available: http://doi.acm.org/10.1145/2025113.2025179
  6. E. Albert, I. Cabanas, A. Flores-Montoya, M. Gómez-Zamalloa, and S. Gutierrez, "jPET: An automatic test-case generator for Java," in 18th Working Conference on Reverse Engineering, WCRE 2011, Limerick, Ireland, October 17-20, 2011, 2011, pp. 441-442.
  7. J. P. Galeotti, G. Fraser, and A. Arcuri, "Improving search-based test suite generation with dynamic symbolic execution," in IEEE Interna- tional Symposium on Software Reliability Engineering (ISSRE). IEEE, 2013, pp. 360-369.
  8. P. Godefroid, N. Klarlund, and K. Sen, "DART: directed automated random testing," in Proceedings of the ACM SIGPLAN 2005 Conference on Programming Language Design and Implementation, Chicago, IL, USA, June 12-15, 2005, 2005, pp. 213-223. [Online]. Available: http://doi.acm.org/10.1145/1065010.1065036
  9. M. Gómez-Zamalloa, E. Albert, and G. Puebla, "Test case generation for object-oriented imperative languages in CLP," TPLP, vol. 10, no. 4-6, 2010, pp. 659-674. [Online]. Available: http://dx.doi.org/10.1017/ S1471068410000347
  10. K. Sen, D. Marinov, and G. Agha, "CUTE: A concolic unit testing engine for C," in Proceedings of the 10th European Software Engineering Conference Held Jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering, ser. ESEC/FSE-13. New York, NY, USA: ACM, 2005, pp. 263-272. [Online]. Available: http://doi.acm.org/10.1145/1081706.1081750
  11. M. Ernsting, T. A. Majchrzak, and H. Kuchen, "Dynamic solution of linear constraints for test case generation," in Sixth International Symposium on Theoretical Aspects of Software Engineering, TASE 2012, 4-6 July 2012, Beijing, China, 2012, pp. 271-274. [Online]. Available: http://dx.doi.org/10.1109/TASE.2012.39
  12. R. Caballero, M. Montenegro, H. Kuchen, and V. von Hof, "Checking java assertions using automated test-case generation," in 25th International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2015), 2015, retrieved: August, 2015. [Online]. Available: https://gpd.sip.ucm.es/rafa/papers/lopstr15.pdf
  13. E. Barr, M. Harman, P. McMinn, M. Shabaz, and S. Yoo, "The oracle problem in software testing: A survey," IEEE Transactions on Software Engineering, vol. PP, no. 99, 2014, pp. 1-1.
  14. R. Caballero, M. Montenegro, H. Kuchen, and V. von Hof, "Exam- ples used," https://github.com/wwu-ucm/valid-15-examples, retrieved: August, 2015.
  15. B. Korel and A. M. Al-Yami, "Assertion-oriented automated test data generation," in Proceedings of the 18th International Conference on Software Engineering, ser. ICSE '96. Washington, DC, USA: IEEE Computer Society, 1996, pp. 71-80.