Specification inference techniques aim at (automatically) inferring a set of assertions that capture the exhibited software behaviour by generating and filtering assertions through dynamic test executions and mutation testing. Although powerful, such techniques are computationally expensive due to a large number of assertions, test cases and mutated versions that need to be executed. To overcome this issue, we demonstrate that a small subset, i.e., 12.95% of the mutants used by mutation testing tools is sufficient for assertion inference, this subset is significantly different, i.e., 71.59% different from the subsuming mutant set that is frequently cited by mutation testing literature, and can be statically approximated through a learning based method. In particular, we propose AIMS, an approach that selects Assertion Inferring Mutants, i.e., a set of mutants that are well-suited for assertion inference, with 0.58 MCC, 0.79 Precision, and 0.49 Recall. We evaluate AIMS on 46 programs and demonstrate that it has comparable inference capabilities with full mutation analysis (misses 12.49% of assertions) while significantly limiting execution cost (runs 46.29 times faster). A comparison with randomly selected sets of mutants, shows the superiority of AIMS by inferring 36% more assertions while requiring approximately equal amount of execution time. We also show that AIMS 's inferring capabilities are almost complete as it infers 96.15% of ground truth assertions, (i.e., a complete set of assertions that were manually constructed) while Random Mutant Selection infers 19.23% of them. More importantly, AIMS enables assertion inference techniques to scale on subjects where full mutation testing is prohibitively expensive and Random Mutant Selection does not lead to any assertion.
翻译:具体化技术旨在( 自动) 推断一组通过动态测试处决和突变测试生成和过滤显示显示的软件行为, 从而通过动态测试处决和突变测试来捕捉显示显示的软件行为。 虽然这些技术很强大, 但由于需要执行的大量断言、 测试案例和变异版本, 计算成本非常昂贵。 要克服这一问题, 我们证明, 突变测试工具使用的变异器中有12.95%的小子集, 足以进行断言推断, 也就是说, 这个子集的变异器的变异器变异性显著不同, 即, 与突变测试文献经常引用的分包变异器组相比, 有71.59%的变异器不同, 并且可以通过学习为基础的方法静态近似近似近似。 特别是, 我们提出, AIMS, 一种选择的变异异体, 也就是说, 一组变异变体, 适合断言, 0. 58 MCC, 0. 0.79 准确度, 0.49 和 重新点数。 我们评估了46个程序, AIMS 的预测, 和显示它具有完全变异能力与全变变变变变变变变变变变异能力( ) 分析( 12. 49 比较), ), 而, 而 直判的直判的直判, 显示, 而 直判的直判的直判的直判的直判, 直判的直判的直判为 直径, 而 直判法 直判法 以 以 直判法 直判法 直判, 直判法 直判法 直判法 以 直判 直判法 直判法 以 以 以 以 以 直判 直判 直判 直判 直判 直判 直判 直判 以 直判 直判 直判 直判 直判 直判 直判 直判 直判 直判 直判 直判 直判 直判 直判 直判 直判 直判 直判 直判 直判 以 以 直判 直判 直判 直判 直判 直判 直判 直判