Community Research and Development Information Service - CORDIS

Affordable bug-free software development

Software generation is susceptible to a multitude of potential errors introduced at any stage of its development. A new software development tool allows a ready-to-compile code generation directly from system specification.
Affordable bug-free software development
Software projects include a series of stages: requirement analysis, specification, design, coding, compilation and execution. Ambiguity of requirement analysis and specification, poor design and software bugs mean extra development time, increased cost and lost productivity. Often before purchasing a new software version, many customers prefer to wait for the first maintenance release in order to avoid a duplication of expenses and effort.

A new software development system provides the tools for the elimination of the above mentioned problems from the beginning of the software development process. The system allows the expression of user's requirements and system specification in a high-level description language, avoiding ambiguity and allowing automatic checks to be performed on consistency and completeness. The system goes on to either generate code from the specification automatically or to verify that developer-supplied code implements the specification precisely.

The software development tool uses a powerful automatic inference engine and theorem "prover" to reason about the requirements, specification and code, eliminating the need for extensive mathematical knowledge. The output code is generated in a traditional programming language (C++ or Java) allowing the development of programmes for any processor and any operating environment. The object-oriented nature of the system makes it easy to learn and it may be hosted under Windows or Linux on x86-based hardware.

The tool is well-suited for the development of software to IEC 61508 at safety integrity levels 1 through 3 and it demonstrates higher developer productivity in comparison with developments using C++. Further improvement of its theorem-proving capabilities and interfacing with other software development tools will render the software bugs totally extinct.

Related information

Record Number: 80687 / Last updated on: 2005-09-18
Domain: IT, Telecommunications