CTGE: AN EFFECTIVE CONSTRAINT-BASED TEST-CASE GENERATION ALGORITHM FOR DETECTING REGRESSION BUGS IN EVOLVING PROGRAMS
Anh D. Le, Tho T. Quan, Nguyen T. Huynh, Phung H. Nguyen
2011
Abstract
In this paper, we investigate a kind of logic error occurring in evolving programs, known as regression bug. This error reflects a practical situation that when a program or software is evolved to meet with new requirements, it may accidentally violate the original requirements. Hence, the paper makes three theoretical contributions. First, we show that the test-case generated by typical white-box approach are not sufficient to cover all probable regression bugs. Next, we propose a new approach based on combined constraint to solve this problem. Finally, we introduce an ultimate CTGE (Efficient Constraint-based Test-cases Generation) algorithm whose complexity is reduced into linear time, thus becoming practical. The soundness of our theoretical contribution is formally proved and supported by some initial experiments conducted in education environment.
References
- Bjørner, N. and Moura, L. D. (2009). Z310: Applications, Enablers, Challenges and Directions. In Proceedings of Workshop on Constraints in Formal Verification.
- Bjørner, N. and Moura, L. D. (2009). Z310: Applications, Enablers, Challenges and Directions. In Proceedings of Workshop on Constraints in Formal Verification.
- Cadar, C., Dunbar, D. and Engler, D. R. (2008). Klee: Unassisted and automatic generation of high-coverage tests for complex systems programs. USENIX Symposium on Operating Systems Design and Implementations.
- Cadar, C., Dunbar, D. and Engler, D. R. (2008). Klee: Unassisted and automatic generation of high-coverage tests for complex systems programs. USENIX Symposium on Operating Systems Design and Implementations.
- Godefroid, P., Klarlund, N. and Sen, K. (2005). DART: Directed automated random testing. ACM Publisher, In Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, 40(6), 213-223. doi:10.1145/ 1065010.1065036
- Godefroid, P., Klarlund, N. and Sen, K. (2005). DART: Directed automated random testing. ACM Publisher, In Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, 40(6), 213-223. doi:10.1145/ 1065010.1065036
- Godefroid, P. (2007). Random testing for security: blackbox vs. whitebox fuzzing. ACM Publisher, In Proceedings of the 2nd international workshop on Random testing: co-located with the 22nd IEEE/ACM International Conference on Automated Software Engineering, 1-1. doi:10.1145/1292414.1292416
- Godefroid, P. (2007). Random testing for security: blackbox vs. whitebox fuzzing. ACM Publisher, In Proceedings of the 2nd international workshop on Random testing: co-located with the 22nd IEEE/ACM International Conference on Automated Software Engineering, 1-1. doi:10.1145/1292414.1292416
- Heumann, J. (2002). Generating Test Cases from Use Cases. Journal of Software Testing Professionals, 3(2).
- Heumann, J. (2002). Generating Test Cases from Use Cases. Journal of Software Testing Professionals, 3(2).
- Hutcheson, M. L. (2003). Software Testing FundamentalsMethods and Metrics, Wiley Publishing.
- Hutcheson, M. L. (2003). Software Testing FundamentalsMethods and Metrics, Wiley Publishing.
- King, J. C. (1976, July). Symbolic execution and program testing. Communications of the ACM, 19(7), 385-394. doi:10.1145/360248.360252
- King, J. C. (1976, July). Symbolic execution and program testing. Communications of the ACM, 19(7), 385-394. doi:10.1145/360248.360252
- Qi, D., Roychoudhury, A. and Liang, Z. (2010). Test generation to expose changes in evolving programs. ACM Publisher, In Proceedings of the IEEE/ACM international conference on Automated software engineering, 397-406. doi:10.1145/1858996.1859083
- Qi, D., Roychoudhury, A. and Liang, Z. (2010). Test generation to expose changes in evolving programs. ACM Publisher, In Proceedings of the IEEE/ACM international conference on Automated software engineering, 397-406. doi:10.1145/1858996.1859083
- Sen, K., Marinov, D. and Agha, G. (2005). CUTE: a concolic unit testing engine for C. ACM Publisher, In Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering, 30(5), 263-272. doi:10.1145/1081706.1081750
- Sen, K., Marinov, D. and Agha, G. (2005). CUTE: a concolic unit testing engine for C. ACM Publisher, In Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering, 30(5), 263-272. doi:10.1145/1081706.1081750
- Sen, K. and Agha, G. (2006). CUTE and jCUTE : Concolic Unit Testing and Explicit Path ModelChecking Tools. Springer-Verlag, Computer Aided Verification: In Proceedings of the 18th International Conference, 4144, 419-423. doi:10.1007/11817963_38
- Sen, K. and Agha, G. (2006). CUTE and jCUTE : Concolic Unit Testing and Explicit Path ModelChecking Tools. Springer-Verlag, Computer Aided Verification: In Proceedings of the 18th International Conference, 4144, 419-423. doi:10.1007/11817963_38
- Spillner, A., Linz, T. and Schaefer, H. (2006). Software Testing Foundations. California: Rocky Nook.
- Spillner, A., Linz, T. and Schaefer, H. (2006). Software Testing Foundations. California: Rocky Nook.
- Wang, T. and Roychoudhury, A. (2008). Dynamic slicing on java bytecode traces. ACM Publisher, ACM Transactions on Programming Languages and Systems, 30(2). doi:10.1145/1330017.1330021
- Wang, T. and Roychoudhury, A. (2008). Dynamic slicing on java bytecode traces. ACM Publisher, ACM Transactions on Programming Languages and Systems, 30(2). doi:10.1145/1330017.1330021
- Williams, N., Marre, B., Mouy, P. and Roger, M. (2005). PathCrawler: Automatic Generation of Path Tests by Combining Static and Dynamic Analysis. SpringerVerlag, Dependable Computing: In Proceedings of the 5th European Dependable Computing Conference, 3463, 281-292. doi:10.1007/11408901_21
- Williams, N., Marre, B., Mouy, P. and Roger, M. (2005). PathCrawler: Automatic Generation of Path Tests by Combining Static and Dynamic Analysis. SpringerVerlag, Dependable Computing: In Proceedings of the 5th European Dependable Computing Conference, 3463, 281-292. doi:10.1007/11408901_21
Paper Citation
in Harvard Style
Le A., Quan T., Huynh N. and Nguyen P. (2011). CTGE: AN EFFECTIVE CONSTRAINT-BASED TEST-CASE GENERATION ALGORITHM FOR DETECTING REGRESSION BUGS IN EVOLVING PROGRAMS . In Proceedings of the 6th International Conference on Software and Database Technologies - Volume 2: ICSOFT, ISBN 978-989-8425-77-5, pages 36-43. DOI: 10.5220/0003501400360043
in Harvard Style
Le A., Quan T., Huynh N. and Nguyen P. (2011). CTGE: AN EFFECTIVE CONSTRAINT-BASED TEST-CASE GENERATION ALGORITHM FOR DETECTING REGRESSION BUGS IN EVOLVING PROGRAMS . In Proceedings of the 6th International Conference on Software and Database Technologies - Volume 2: ICSOFT, ISBN 978-989-8425-77-5, pages 36-43. DOI: 10.5220/0003501400360043
in Bibtex Style
@conference{icsoft11,
author={Anh D. Le and Tho T. Quan and Nguyen T. Huynh and Phung H. Nguyen},
title={CTGE: AN EFFECTIVE CONSTRAINT-BASED TEST-CASE GENERATION ALGORITHM FOR DETECTING REGRESSION BUGS IN EVOLVING PROGRAMS},
booktitle={Proceedings of the 6th International Conference on Software and Database Technologies - Volume 2: ICSOFT,},
year={2011},
pages={36-43},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003501400360043},
isbn={978-989-8425-77-5},
}
in Bibtex Style
@conference{icsoft11,
author={Anh D. Le and Tho T. Quan and Nguyen T. Huynh and Phung H. Nguyen},
title={CTGE: AN EFFECTIVE CONSTRAINT-BASED TEST-CASE GENERATION ALGORITHM FOR DETECTING REGRESSION BUGS IN EVOLVING PROGRAMS},
booktitle={Proceedings of the 6th International Conference on Software and Database Technologies - Volume 2: ICSOFT,},
year={2011},
pages={36-43},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003501400360043},
isbn={978-989-8425-77-5},
}
in EndNote Style
TY - CONF
JO - Proceedings of the 6th International Conference on Software and Database Technologies - Volume 2: ICSOFT,
TI - CTGE: AN EFFECTIVE CONSTRAINT-BASED TEST-CASE GENERATION ALGORITHM FOR DETECTING REGRESSION BUGS IN EVOLVING PROGRAMS
SN - 978-989-8425-77-5
AU - Le A.
AU - Quan T.
AU - Huynh N.
AU - Nguyen P.
PY - 2011
SP - 36
EP - 43
DO - 10.5220/0003501400360043
in EndNote Style
TY - CONF
JO - Proceedings of the 6th International Conference on Software and Database Technologies - Volume 2: ICSOFT,
TI - CTGE: AN EFFECTIVE CONSTRAINT-BASED TEST-CASE GENERATION ALGORITHM FOR DETECTING REGRESSION BUGS IN EVOLVING PROGRAMS
SN - 978-989-8425-77-5
AU - Le A.
AU - Quan T.
AU - Huynh N.
AU - Nguyen P.
PY - 2011
SP - 36
EP - 43
DO - 10.5220/0003501400360043