首页> 外文期刊>Software Engineering, IEEE Transactions on >On the Effectiveness of Contracts as Test Oracles in the Detection and Diagnosis of Functional Faults in Concurrent Object-Oriented Software
【24h】

On the Effectiveness of Contracts as Test Oracles in the Detection and Diagnosis of Functional Faults in Concurrent Object-Oriented Software

机译:并发对象软件中功能故障的检测和诊断中作为测试Oracle的合同的有效性

获取原文
获取原文并翻译 | 示例
           

摘要

Design by contract (DbC) is a software development methodology that focuses on clearly defining the interfaces between components to produce better quality object-oriented software. Though there exists ample support for DbC for sequential programs, applying DbC to concurrent programs presents several challenges. Using Java as the target programming language, we tackle such challenges by augmenting the Java Modelling Language (JML) and modifying the JML compiler (jmlc) to generate runtime assertion checking code to support DbC in concurrent programs. We applied our solution in a carefully designed case study on a highly concurrent industrial software system from the telecommunications domain to assess the effectiveness of contracts as test oracles in detecting and diagnosing functional faults in concurrent software. Based on these results, clear and objective requirements are defined for contracts to be effective test oracles for concurrent programs whilst balancing the effort to design them. Effort is measured indirectly through the contract complexity measure (CCM), a measure we define. Main results include that contracts of a realistic level of completeness and complexity can detect around 76 percent of faults and reduce the diagnosis effort for such faults tenfold. We, therefore, show that DbC can be applied to concurrent software and can be a valuable tool to improve the economics of software engineering.
机译:合同设计(DbC)是一种软件开发方法,专注于明确定义组件之间的接口,以生产质量更好的面向对象的软件。尽管为顺序程序提供了对DbC的充分支持,但将DbC应用于并发程序仍会带来一些挑战。使用Java作为目标编程语言,我们通过增强Java建模语言(JML)和修改JML编译器(jmlc)来生成运行时断言检查代码以在并发程序中支持DbC来应对这些挑战。我们在经过精心设计的案例研究中将我们的解决方案应用于电信领域的高度并行的工业软件系统,以评估作为测试预言的合同在检测和诊断并行软件中的功能故障时的有效性。根据这些结果,为合同定义了明确而客观的要求,使其成为并发程序的有效测试预言,同时平衡了设计合同的工作量。努力是通过合同复杂性度量(CCM)间接度量的,这是我们定义的度量。主要结果包括,具有现实水平的完整性和复杂性的合同可以检测到大约76%的故障,并将此类故障的诊断工作减少十倍。因此,我们证明了DbC可以应用于并发软件,并且可以成为提高软件工程经济性的有价值的工具。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号