Skip to main content

Combined Constraint-Based Analysis for Efficient Software Regression Detection in Evolving Programs

  • Conference paper

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 303))

Abstract

Software regression is a bug that makes software stop functioning normally after a certain event. In this paper, we investigate detecting regression when software evolves to a new version. In this context, regression bugs occur in parts of software that already passed testing process in the old version. Hence, such kind of bugs is difficult to be discovered if normal strategy like white-box testing is applied. Moreover, since both old and new versions must be taken into account during the testing process, the computational cost is usually high in this con-text.

Concolic testing in an emerging extension of white-box testing that can reduce significantly the number of execution paths needed to be analyzed. However, the typical concolic testing is not really efficient when dealing with software regression. Thus, we propose a new approach based on combined constraint to solve this problem, known as CTGE (Efficient Constraint-based Test-cases Generation) approach. The soundness of our theoretical contribution is formally proved and supported by some initial experiments conducted in education environment.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Beckman, N.E., Nori, A.V., Rajamani, S.K., Simmons, R.J., Tetali, S.D., Thakur, A.V.: Proofs from Tests. IEEE Transactions on Software Engineering (2012)

    Google Scholar 

  2. Bjørner, N., Moura, L.D.: Z310: Applications, Enablers, Challenges and Directions. In: Proceedings of Workshop on Constraints in Formal Verification (2009)

    Google Scholar 

  3. Cadar, C., Dunbar, D., Engler, D.R.: Klee: Unassisted and automatic generation of high-coverage tests for complex systems programs. In: USENIX Symposium on Operating Systems Design and Implementations (2008)

    Google Scholar 

  4. Godefroid, P., Klarlund, N., Sen, K.: DART: Directed automated random testing. In: Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, vol. 40(6), pp. 213–223. ACM (2005), doi:10.1145/1065010.1065036

    Google Scholar 

  5. Godefroid, P.: Random testing for security: blackbox vs. whitebox fuzzing. In: Proceedings of the 2nd International Workshop on Random Testing: Co-located with the 22nd IEEE/ACM International Conference on Automated Software Engineering, p. 1. ACM (2007), doi:10.1145/1292414.1292416

    Google Scholar 

  6. Hutcheson, M.L.: Software Testing Fundamentals-Methods and Metrics. Wiley Publishing (2003)

    Google Scholar 

  7. King, J.C.: Symbolic execution and program testing. Communications of the ACM 19(7), 385–394 (1976), doi:10.1145/360248.360252

    Article  MATH  Google Scholar 

  8. Morasca, S., Taibi, D., Tosi, D.: T-DOC: A Tool for the Automatic Generation of Testing Documentation for OSS Products. In: Ågerfalk, P., Boldyreff, C., González-Barahona, J.M., Madey, G.R., Noll, J. (eds.) OSS 2010. IFIP AICT, vol. 319, pp. 200–213. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  9. Orso, A., Harrold, M.J., Rosenblum, D., Rothermel, G., Soffa, M.L., Do, H.: Using component metacontent to support the regression testing of component-based software. In: Proceedings of IEEE International Conference on Software Maintenance (2001)

    Google Scholar 

  10. Pressman, R.: Software Engineering: A Practitioner’s Approach. McGraw Hill, Boston (2001)

    Google Scholar 

  11. Qi, D., Roychoudhury, A., Liang, Z.: Test generation to expose changes in evolving programs. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, pp. 397–406. ACM (2010), doi:10.1145/1858996.1859083

    Google Scholar 

  12. Sen, K., Marinov, D., Agha, G.: 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, vol. 30(5), pp. 263–272. ACM (2005), doi:10.1145/1081706.1081750

    Google Scholar 

  13. Sen, K., Agha, G.: CUTE and jCUTE: Concolic Unit Testing and Explicit Path Model-Checking Tools. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 419–423. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  14. Spillner, A., Linz, T., Schaefer, H.: Software Testing Foundations. Rocky Nook, California (2006)

    Google Scholar 

  15. Wang, T., Roychoudhury, A.: Dynamic slicing on java bytecode traces. ACM Transactions on Programming Languages and Systems 30(2) (2008), doi:10.1145/1330017.1330021

    Google Scholar 

  16. Williams, N., Marre, B., Mouy, P., Roger, M.: PathCrawler: Automatic Generation of Path Tests by Combining Static and Dynamic Analysis. In: Dal Cin, M., Kaâniche, M., Pataricza, A. (eds.) EDCC 2005. LNCS, vol. 3463, pp. 281–292. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Le, A.D., Quan, T.T., Huynh, N.T., Nguyen, P.H., Le, NV. (2013). Combined Constraint-Based Analysis for Efficient Software Regression Detection in Evolving Programs. In: Escalona, M.J., Cordeiro, J., Shishkov, B. (eds) Software and Data Technologies. ICSOFT 2011. Communications in Computer and Information Science, vol 303. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-36177-7_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-36177-7_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-36176-0

  • Online ISBN: 978-3-642-36177-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics