北大Java语言合约式设计支撑工具软件
北大Java语言合约式设计支撑工具软件
软件复用是提高软件产品质量与生产效率的关键技术。软件构件为软件复用提供了技术基础。构件的高质量是构件能被成功复用的前提。构件测试是保证构件质量的重要技术手段。基于构件的软件开发方法与传统的软件开发方法有着很大的不同,构件技术的新特点为构件测试带来了挑战。目前软件测试呈现向软件开发的前期发展、与软件开发的设计和编码阶段相融合的趋势,提高软件的易测试性,从而降低测试代价,提高软件质量。合约式设计是一种重要的软件易测试性设计方法。基于合约的构件易测试性设计能够有效地提高构件质量。
北大Java语言合约式设计支撑工具软件(Peking University Design-by-Contract Tool for Java Language,简称PKUJDbCT)是一个针对Java语言的合约式设计支撑工具。PKUJDbCT具有以下特点:
(1) 定义了合约的BNF范式,使得用户能够按照统一的格式在Java源文件的注释中书写合约;
(2) 所支持的合约种类包括:前置条件、后置条件、类不变式、循环变式和循环不变式等;
(3) 能够自动进行合约的正确性和有效性检查;
(4) 能够支持合约的继承、避免进行合约的嵌套检查、消除合约检查的副作用。
PKUJDbCT能够提高构件测试的效率和质量,帮助构件开发者发布已经过充分测试的构件,能够广泛地应用于构件开发过程中的质量保证。

