论文:2018,Vol:36,Issue(1):156-161
引用本文:
吴潇雪, 郑炜, 王培源, 王培甲, 樊宋宇. 基于JDart的测试用例自动生成与优化[J]. 西北工业大学学报
Wu Xiaoxue, Zheng Wei, Wang Peiyuan, Wang Peijia, Fan Songyu. JDart-Based Test Cases Generation and Optimization[J]. Northwestern polytechnical university

基于JDart的测试用例自动生成与优化
吴潇雪1, 郑炜2, 王培源2, 王培甲2, 樊宋宇2
1. 西北工业大学 自动化学院, 陕西 西安 710072;
2. 西北工业大学 软件与微电子学院, 陕西 西安 710072
摘要:
基于符号执行的测试用例生成方法,以其高可靠性得到了学术界和工业界广泛关注。然而,已有工具大都面向C或者C++程序,面向Java的符号执行工具发展相对较慢。JDart是表现较好的一款开源的面向Java的符号执行工具,但是对复杂数据类型比较数组却支持很弱,因此,在对JDart工具以及动态符号技术进行分析的基础上,通过对JDart测试用例生成能力和存在问题的深入剖析,针对数组处理进行改进,以提高生成测试用例的代码覆盖率,保证测试质量。最后,通过用三角形程序实例进行验证,结果表明,改进后的JDart工具能够完全探索函数中关于数组处理的所有路径。
关键词:    测试用例生成    JDart    符号执行    优化策略   
JDart-Based Test Cases Generation and Optimization
Wu Xiaoxue1, Zheng Wei2, Wang Peiyuan2, Wang Peijia2, Fan Songyu2
1. School of Automation, Northwestern Polytechnical University, Xi'an 710072, China;
2. School of Software and Microelectronics, Northwestern Polytechnical University, Xi'an 710072, China
Abstract:
Test cases play a crucial role in software testing, with the increasing complexity and scale of software, automatic test cases generation becomes increasingly important for software reliability and test efficiency. Symbolic-based test cases generation approach draws great attention due to its high reliability and there are already various kinds of tools introduced. However, most of these tools are C-oriented. JDart is a good open source Java-oriented symbol execution tool with excellent scalability. This paper aims to enhance the automatic test generation ability of JDart by designing and optimizing its array symbolization. The verification result shows that the optimization strategy proposed in this paper is effective in the test of the Jdart, it can effectively improve the coverage of Jdart on program involving complex object testing.
Key words:    test case generation    JDart,dynamic symbolic execution    optimization strategy,scalability,software reliability   
收稿日期: 2017-05-08     修回日期:
DOI:
基金项目: 国家自然科学基金(61402370)与航天科技基金(HT-2017-XG)资助
通讯作者:     Email:
作者简介: 吴潇雪(1983-),女,西北工业大学博士研究生,主要从事软件故障检测与云环境安全研究。
相关功能
PDF(1024KB) Free
打印本文
把本文推荐给朋友
作者相关文章
吴潇雪  在本刊中的所有文章
郑炜  在本刊中的所有文章
王培源  在本刊中的所有文章
王培甲  在本刊中的所有文章
樊宋宇  在本刊中的所有文章

参考文献:
[1] Shamsoddin-Motlagh E. A Review of Automatic Test Cases Generation[J]. International Journal of Computer Applications, 2012, 57(13):25-29
[2] Zheng W, Hierons R M, Li M, et al. Multi-Objective Optimisation for Regression Testing[J]. Information Sciences, 2016, 334/335:1-16
[3] Anand S, Burke E K, Chen T Y, et al. An Orchestrated Survey of Methodologies for Automated Software Test Case Generation[J]. Journal of Systems & Software, 2013, 86(8):1978-2001
[4] Cadar C, Sen K. Symbolic Execution for Software Testing:Three Decades Later[J]. Communications of the ACM, 2013, 56(2):82-90
[5] Stephens N, Grosen J, Salls C, et al. Driller:Augmenting Fuzzing through Selective Symbolic Execution[C]//NDSS, 2016, 16:1-16
[6] Yi Q, Yang Z, Guo S, et al. Postconditioned Symbolic Execution[C]//2015 IEEE 8th International Conference on Software Testing, Verification and Validation, 2015:1-10
[7] Sobeih A, Marinov D. Optimized Execution of Deterministic Blocks in Java Pathfinder[C]//International Conference on Formal Methods and Software Engineering, 2006:549-567
[8] Cadar C, Dunbar D, Engler D R. KLEE:Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs[C]//OSDI, 2008:209-224
[9] Dimjašević M, Rakamarić Z. JPF-Doop:Combining Concolic and Random Testing for Java[C]//Java Pathfinder Workshop, 2013
[10] Luckow K, Dimjašević M, Giannakopoulou D, et al. JDart:A Dynamic Symbolic Analysis Framework[C]//International Conference on Tools and Algorithms for the Construction and Analysis of Systems, 2016:442-459
[11] 周海将, 吴军华. 基于符号执行与混合约束求解的测试用例生成研究[J]. 计算机应用与软件, 2016, 33(6):23-26 Zhou Haijiang, Wu Junhua. On Test Case Generation Based on Symbolic Execution and Hybrid Constraint Solving. Computer Applications and Software,2016, 33(6):23-26(in Chinese)
[12] 白晓颖, 黄军. 基于约束组合的测试用例生成[J]. 清华大学学报:自然科学版, 2017(3):225-233 Bai Xiaoying, Huang Jun. Case Generation by Constraints Combinatorial Testing[J]. Journal of Tsinghua University:Science and Technology, 2017(3):225-233(in Chinese)