An evolutionary approach for analyzing Alloy specifications
An evolutionary approach for analyzing Alloy specifications
复制标题
分析合金规格的进化方法
DOI:
10.1145/3238147.3240468
复制
发表时间:
2018
期刊:
影响因子:
--
通讯作者:
Cohen, Myra B.
中科院分区:
文献类型:
--
作者:
Wang, Jianghao;Bagheri, Hamid;Cohen, Myra B.
Formal methods use mathematical notations and logical reasoning to precisely define a program's specifications, from which we can instantiate valid instances of a system. With these techniques we can perform a multitude of tasks to check system dependability. Despite the existence of many automated tools including ones considered lightweight, they still lack a strong adoption in practice. At the crux of this problem, is scalability and applicability to large real world applications. In this paper we show how to relax the completeness guarantee without much loss, since soundness is maintained. We have extended a popular lightweight analysis, Alloy, with a genetic algorithm. Our new tool, EvoAlloy, works at the level of finite relations generated by Kodkod and evolves the chromosomes based on the failed constraints. In a feasibility study we demonstrate that we can find solutions to a set of specifications beyond the scope where traditional Alloy fails. While small specifications take longer with EvoAlloy, the scalability means we can handle larger specifications. Our future vision is that when specifications are small we can maintain both soundness and completeness, but when this fails, EvoAlloy can switch to its genetic algorithm.