arXivDaily arXiv每日学术速递 周一至周五更新
arXiv cs/0508109cs.SEcs.LO
收藏

用分析模式增强合金分析仪

Enhancing the Alloy Analyzer with Patterns of Analysis

William Heaven, Alessandra Russo

摘要:

形式化技术已经被证明是有用的,在正确的软件开发。但是,这些技术的从业者所需的专业知识水平阻碍了它们的广泛采用。形式化技术需要为商业软件开发者量身定制。Alloy是Alloy Analyzer(AA)支持的轻量级规约语言,AA是一种基于现成SAT技术的工具。该工具允许用户以交互方式检查给定的属性是否与高级规范一致或有效,提供了一个可以建立这种规范的正确性的环境。然而,Alloy并不特别适合表达程序规范,并且AA提供的反馈可能会误导分析中的规范或检查中的属性包含不一致性。在本文中,我们解决这两个缺点。首先,我们提出了一个轻量级的语言称为“Loy”,量身定制的规范面向对象的程序。提供了一种将Loy编码为Alloy的方法,以便AA可用于Loy程序规范的自动分析。其次,我们提出了一些“模式的分析”,指导开发人员通过分析的洛伊规范,以建立其正确性之前实施。

英文摘要:

Formal techniques have been shown to be useful in the development of correct software. But the level of expertise required of practitioners of these techniques prohibits their widespread adoption. Formal techniques need to be tailored to the commercial software developer. Alloy is a lightweight specification language supported by the Alloy Analyzer (AA), a tool based on off-the-shelf SAT technology. The tool allows a user to check interactively whether given properties are consistent or valid with respect to a high-level specification, providing an environment in which the correctness of such a specification may be established. However, Alloy is not particularly suited to expressing program specifications and the feedback provided by AA can be misleading where the specification under analysis or the property being checked contains inconsistencies. In this paper, we address these two shortcomings. Firstly, we present a lightweight language called "Loy", tailored to the specification of object-oriented programs. An encoding of Loy into Alloy is provided so that AA can be used for automated analysis of Loy program specifications. Secondly, we present some "patterns of analysis" that guide a developer through the analysis of a Loy specification in order to establish its correctness before implementation.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑