课题基金 / 基金详情

Regression Verification in a User-Centered Software Development Process for Evolving Automated Production Systems

Regression Verification in a User-Centered Software Development Process for Evolving Automated Production Systems
用于不断发展的自动化生产系统的以用户为中心的软件开发过程中的回归验证
批准号:
221572075
负责人:
Professor Dr. Bernhard Beckert
金额:
$0.0万
依托单位国家:
德国
项目类别:
Priority Programmes
财政年份:
2012
资助国家:
德国
项目状态:
已结题
起止时间:
2011-12-31 至 2021-12-31

项目摘要

项目成果

Professor Dr. Bernhard Beckert的其他基金

相似基金

相关文献

中文摘要
翻译
点击翻译按钮获取中文摘要
英文摘要
The goal of this project is to leverage advances in deductive program verification to enable regression verification, i.e., proving formally that software remains correct through its evolution, and no new bugs are introduced. We aim to develop a regression verification methodology for a real object-oriented language (Java) that has the reach and power to be applied to real-world software. Even though building software with high quality from the beginning of the software lifecycle is crucial, it is not enough, since long-living software is adapted and evolves during its development and after its release. While traditional regression testing techniques are commonly used to give confidence in the reliability of evolving software, more powerful and reliable techniques are required. Over the last decade, there has been tremendous progress in the area of program verification. However, in the development of formal methods not enough attention has been given to software changes, which occur during software evolution. A very promising solution is to develop regression verification methods. They are a natural extension of regression testing. Given two programs that are both complex but similar to each other, much less effort is required to prove their equivalence than to prove that they satisfy a (complex) functional specification. The effort for proving equivalence mainly depends on the difference between the programs and not on their overall size and complexity. Our vision and goal is to develop regression verification methods powerful enough to be applicable to real-word software (and its evolution). We will develop regression verification methods for Java that can be used to prove that two Java programs are equivalent. We also address the problem of changing requirements by proving that two programs are not fully equivalent but differ in a formally specified way. We will implement these methods in a regression verification system based on our Java verification tool KeY. Regression verification shows its power (and only makes sense) as part of software evolution. It is central to the success of the proposed project that we integrate our methods into the software development and adaptation process. In particular, we plan to integrate regression verification with refactoring and reengineering of software, with software product line techniques, and with test generation and test selection. Our project thus addresses the priority programme’s guiding theme of methods and processes, contributing to the programme topics of (a) model-based and model-driven development of long-living systems, (b) traceability from requirements to architecture and code, and (c) continuous software system evolution under design (and to a lesser extent also runtime) control and management. We link to the application domains using case studies from the area of information systems, in particular the priority-programme-wide CoCoME case study.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
Formal Object-oriented Software Development: The Whole Picture
Integrierter Deduktiver Software-Entwurf
Static Analysis to Support Change Management in Variant-rich Legacy Control Software for Machine and Plant Engineering companies (CHANGE aPS)
KeY - A Deductive Software Analysis Tool for the Research Community
海外基金