吉林大学学报(工学版) ›› 2017, Vol. 47 ›› Issue (4): 1262-1267.doi: 10.13229/j.cnki.jdxbgxb201704035
刘磊1, 2, 刘利娟2, 吴新维1, 张鹏1
LIU Lei1, 2, LIU Li-juan2, WU Xin-wei1, ZHANG Peng1
摘要: 提出了一种通过验证程序切片是否满足ECPMR的方式来验证编译器的方法。首先,选取一些满足特定蜕变关系的正确程序作为待测编译器的输入。然后,使用这些被选程序来生成程序切片。最后,检查程序切片的输出是否满足ECPMR从而发现编译器中的错误。在SNL编译器上进行了本文方法的验证实验,结果表明该方法可有效地探测到SNL编译器中的错误。
中图分类号:
[1] Kossatchev A S, Posypkin M A. Survey of compiler testing methods[J]. Programming & Computer Software, 2005, 31(1):10-19. [2] Chen J, Hu W, Hao D, et al. An empirical comparison of compiler testing techniques[C]//Proceedings of the 38th International Conference on Software Engineering, ACM, 2016: 180-190. [3] Ammann P, Offutt J. Introduction to Software Testing[M]. Oxford City: Cambridge University Press, 2016. [4] Barr E T, Harman M, McMinn P, et al. The oracle problem in software testing: A survey[J]. IEEE transactions on software engineering, 2015, 41(5): 507-525. [5] Chen T Y, Cheung S C, Yiu S M. Metamorphic testing: a new approach for generating next test cases[R]. Technical Report HKUST-CS98-01, 1998. [6] Xie X, Wong W E, Chen T Y, et al. Metamorphic slice: An application in spectrum-based fault localization[J]. Information and Software Technology, 2013, 55(5): 866-879. [7] 董国伟, 聂长海, 徐宝文. 基于程序路径分析的有效蜕变测试[J]. 计算机学报, 2009, 32(5):1002-1013. Dong G W, Nie C H, Xu B W. Effectively metamorphic testing based on program path analysis[J]. Chinese Journal of Computer, 2009, 32(5): 1002-1013. [8] Segura S, Fraser G, Sanchez A B, et al. A survey on metamorphic testing[J]. IEEE Transactions on Software Engineering, 2016, 42(9): 805-824. [9] 王志文,黄小龙,王海军,等. 基于程序切片的测试用例生成系统研究与实现[J]. 计算机科学,2014,(09):71-74. Wang Zhi-wen, Huang Xiao-long, Wang Hai-jun, et al. Program slicing-guided test case generation system[J]. Computer Science, 2014. [10] Păsăreanu C S, Visser W. A survey of new trends in symbolic execution for software testing and analysis[J]. International Journal on Software Tools for Technology Transfer (STTT), 2009, 11(4): 339-353. [11] Xie T, Tillmann N, de Halleux J, et al. Fitness-guided path exploration in dynamic symbolic execution[C]//2009 IEEE/IFIP International Conference on Dependable Systems & Networks(DSN'09). IEEE, 2009: 359-368. [12] 刘磊. 编译程序的设计与实现[M]. 北京:高等教育出版社, 2004. |
[1] | 余宜诚, 胡亮, 迟令, 初剑峰. 一种改进的适用于多服务器架构的匿名认证协议[J]. 吉林大学学报(工学版), 2018, 48(5): 1586-1592. |
[2] | 董坚峰, 张玉峰, 戴志强. 改进的基于狄利克雷混合模型的推荐算法[J]. 吉林大学学报(工学版), 2018, 48(2): 596-604. |
[3] | 赵博, 秦贵和, 赵永哲, 杨文迪. 基于半陷门单向函数的公钥密码[J]. 吉林大学学报(工学版), 2018, 48(1): 259-267. |
[4] | 董立岩, 王越群, 贺嘉楠, 孙铭会, 李永丽. 基于时间衰减的协同过滤推荐算法[J]. 吉林大学学报(工学版), 2017, 47(4): 1268-1272. |
[5] | 于斌斌, 武欣雨, 初剑峰, 胡亮. 基于群密钥协商的无线传感器网络签名协议[J]. 吉林大学学报(工学版), 2017, 47(3): 924-929. |
[6] | 邓昌义, 郭锐锋, 张忆文, 王鸿亮. 基于平衡因子的动态偶发任务低功耗调度算法[J]. 吉林大学学报(工学版), 2017, 47(2): 591-600. |
[7] | 魏晓辉, 刘智亮, 庄园, 李洪亮, 李翔. 支持大规模流数据在线处理的自适应检查点机制[J]. 吉林大学学报(工学版), 2017, 47(1): 199-207. |
[8] | 郝娉婷, 胡亮, 姜婧妍, 车喜龙. 基于多管理节点的乐观锁协议[J]. 吉林大学学报(工学版), 2017, 47(1): 227-234. |
[9] | 魏晓辉, 李翔, 李洪亮, 李聪, 庄园, 于洪梅. 支持大规模流数据处理的弹性在线MapReduce模型及拓扑协议[J]. 吉林大学学报(工学版), 2016, 46(4): 1222-1231. |
[10] | 车翔玖, 梁森. 一种基于大顶堆的SPIHT改进算法[J]. 吉林大学学报(工学版), 2016, 46(3): 865-869. |
[11] | 董悦丽, 郭权, 孙斌, 康玲. 药物分子对接动态任务迁移优化[J]. 吉林大学学报(工学版), 2015, 45(4): 1253-1259. |
[12] | 匡哲君,师唯佳,胡亮. 基于无线传感器网络的角色成员关系剩余能量新算法[J]. 吉林大学学报(工学版), 2015, 45(2): 600-605. |
[13] | 张忆文,郭锐锋. 实时系统混合任务低功耗调度算法[J]. 吉林大学学报(工学版), 2015, 45(1): 261-266. |
[14] | 张忆文1, 2, 郭锐锋1. 制的容错节能调度算法[J]. 吉林大学学报(工学版), 2014, 44(4): 1112-1117. |
[15] | 付帅1, 马建峰1, 李洪涛1, 王长广2. 改进的基于分簇无线传感器网络的数据聚合算法[J]. 吉林大学学报(工学版), 2014, 44(4): 1118-1125. |
|