首页> 外文期刊>Electronic Communications of the EASST >The highs and lows of deploying Formal Methods in Industry
【24h】

The highs and lows of deploying Formal Methods in Industry

机译:在行业中部署形式化方法的高潮和低谷

获取原文
           

摘要

I attended my first software conference in 1968; it was organised by NATO with the title “The Software Crisis.” Many of the papers presented then could have been written yesterday; the problems of the software industry in producing reliable, correct software in the face of increasing complexity and shrinking time to market pressures have not fundamentally changed that much.In the intervening years as a community we have developed various tactics for trying to minimise software errors. Advances in theorem proving and model checking are good examples of systematic efforts to improve software correctness. Nevertheless, it remains the case that such approaches are rarely if ever encountered in the industrial workplace, with the possible exception of some safety critical domains, such as the software controlling nuclear power plants.In spite advances in formal methods and supporting tools, the tools available to programmers for verifying assertions about program execution are complex and require knowledge and skills that most practicing programmers do not have. Formal proofs remain difficult to construct, especially for anything but the simplest of programs. Merely constructing assertions to characterise program correctness is a difficult challenge.In 1998, I conceived the idea of combing model checking, code generation and the specification approach of Sequence-based Specification together to form an integrated software design platform for developing software components whose design (implementation) would be formally verified for correctness with respect to its specification. Other general correctness properties such as freedom from deadlocks, non-determinism, incomplete cases, etc. would also be verified. Verification would be performed by automatically translating Sequence-based specifications into semanti- cally equivalent CSP process algebra and then applying the model-checking engine FDR2. After verification was completed, semantically equivalent source code would be generated in one of several supported high-level languages.These ideas were developed further together with Philippa Hopcroft and in 2003 a company was founded to develop a commercial implementation of a development platform based on these ideas. In this talk, I will present an overview of the develop-ment platform and the technologies used. I will then discuss the experience gained during 10 years of trying to introduce this approach into industry and the lessons learned along the way.
机译:我参加了1968年的第一次软件会议。它由北约组织,标题为“软件危机”。那时提交的许多论文本可以在昨天写的;面对日益增加的复杂性和缩短的上市时间,软件行业在生产可靠,正确的软件方面所遇到的问题并未发生根本性的改变。在此期间,作为一个社区,我们已经制定了各种策略来尽量减少软件错误。定理证明和模型检查方面的进展是提高软件正确性的系统性努力的很好例子。尽管如此,在工业工作场所很少会遇到这种方法,除了某些安全关键领域(例如控制核电厂的软件)可能会例外。尽管在正式方法和支持工具方面取得了进步,但这些工具可供程序员用来验证有关程序执行的断言的过程很复杂,并且需要大多数实践的程序员所不具备的知识和技能。形式化证明仍然难以构造,尤其是对于最简单的程序而言。仅构造断言来表征程序的正确性是一个艰巨的挑战。1998年,我构想了将模型检查,代码生成和基于序列的规范的规范方法相结合的思想,从而形成一个集成的软件设计平台,用于开发其软件设计(实施)将对其规范进行正确性验证。其他一般的正确性属性,例如无死锁,不确定性,不完整案例等。验证将通过自动将基于序列的规范转换为等效的CSP过程代数,然后应用模型检查引擎FDR2来执行。验证完成后,将以几种受支持的高级语言之一生成语义等效的源代码。这些想法与Philippa Hopcroft一起进一步开发,并于2003年成立了一家公司,开发基于这些语言的开发平台的商业实现想法。在本次演讲中,我将概述开发平台和所使用的技术。然后,我将讨论在尝试将这种方法引入行业的10年中获得的经验以及在此过程中获得的经验教训。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号