GAssert:一个全自动的断言预言机改进工具
软件工程
2021-03-05 v1
摘要
本演示介绍首个自动改进断言预言机(assertion oracle)的工具 GASSERT 的实现与使用细节。断言预言机是置于程序内部的可执行布尔表达式,应在所有正确执行时通过(返回真),在所有错误执行时失败(返回假)。由于设计完美的断言预言机十分困难,断言容易出现假阳性(断言失败但应通过)与假阴性(断言通过但应失败)。给定一个包含待改进断言预言机的 Java 方法,GASSERT 返回一个比初始断言具有更少假阳性和假阴性的改进断言。在内部,GASSERT 实现了一种新颖的协同进化算法,在两个适应度函数引导下探索可能断言的空间,这两个函数奖励具有更少假阳性、更少假阴性以及更小规模的断言。
引用
@article{arxiv.2103.02901,
title = {GAssert: A Fully Automated Tool to Improve Assertion Oracles},
author = {Valerio Terragni and Gunel Jahangirova and Paolo Tonella and Mauro Pezzè},
journal= {arXiv preprint arXiv:2103.02901},
year = {2021}
}
备注
4 pages, published at the 43nd IEEE/ACM International Conference on Software Engineering, Demonstration Track ICSE-DEMO 2021