• Corpus ID: 13990335

Correctness by Construction : A Manifesto for High-Integrity Software

@inproceedings{Croxford2006CorrectnessBC,
  title={Correctness by Construction : A Manifesto for High-Integrity Software},
  author={Martin Croxford},
  year={2006}
}
High-integrity software systems are often so large that conventional development processes cannot get anywhere near achieving tolerable defect rates. This article presents an approach that has delivered software with very low defect rates cost-effectively. We describe the technical details of the approach and the results achieved, and discuss how to overcome barriers to adopting such best practice approaches. We conclude by observing that where such approaches are compatible and can be deployed… 

Climbing the Software Assurance Ladder - Practical Formal Verification for Reliable Software

  • Yannick Moy
  • Computer Science
    Electron. Commun. Eur. Assoc. Softw. Sci. Technol.
  • 2018
Adoption and usage guidelines for SPARK are defined based on five levels of increasing assurance that map well with industrial needs in practice based on experience of both long-term and new users.

Towards Confidentiality-by-Construction

This work proposes a development method for specifying information flow policies first and constructing programs satisfying these policies subsequently, and replaces functional pre- and postcondition specifications with confidentiality properties and defines rules to derive new confidentiality specifications for each refining program construct.

From models to code and back: Correct-by-construction code from UML and ALF

  • Federico Ciccozzi
  • Computer Science
    2013 35th International Conference on Software Engineering (ICSE)
  • 2013
Generation of full source code from design models defined using the CHESS-ML, monitoring of selected extra-functional properties at code level, and back-propagation of observed values to design models are provided.

How to Safely Integrate Multiple Applications on Embedded Many-Core Systems by Applying the "Correctness by Construction" Principle

It is argued that the challenges of the adoption of a massively parallel processor architecture in the embedded domain cannot be effectively addressed with traditional engineering approaches and the application of the "correctness by construction" principle is proposed to improve the integration process.

Definition, realization and evaluation of a software reference architecture for use in space applications

The core of the PhD project was the design and prototype implementation of constituent (i), a component model, which was centered on rigorous separation of concerns and the support for specification and model-based analysis of extra-functional properties.

Formal verification: will the seedling ever flower?

Some of the key deployments of formal techniques over the past 20 years are summarized, including both security- and safety-critical systems, and some of the challenges the community faces in ensuring that formal techniques achieve their true potential impact on society are reflected.

Development of Correct-by-Construction Software using Product Lines. (Développement de logiciels corrects par construction à partir de lignes de produits)

The thesis proposes a methodology to develop product lines such that the generated products are correct-by-construction and their correctness is guaranteed, and defines the FFML language that is used for writing modules.

Experiences gained from modeling and solving large mapping problems during system design

The "correctness by construction" engineering principle was applied to "mapping problems", which occur during the design of several real-world embedded control systems, to demonstrate the feasibility of this approach.

A formal contract-based model for component-based real-time systems

This work uses linear temporal logic (LTL) for specifying the invariant properties of contracts and the timed regular expressions over a distributed alphabet to specify the interaction between methods in a component and between components.

UML-Based Development of Embedded Real-Time Software on Multi-Core in Practice: Lessons Learned and Future Perspectives

The lessons learned in the research work carried out within SMARTCore are described and a set of perspectives that are considered to be highly relevant for the forthcoming future of this research area are provided to enable a wider adoption of UML-based development in industry in general, and in the multicore embedded real-time domain in particular.

References

SHOWING 1-10 OF 15 REFERENCES

Correctness by Construction: Developing a Commercial Secure System

A systematic process from requirements elicitation through formal specification, user interface prototyping, rigorous design, and coding is used to deliver a highly reliable system that meets all its throughput and usability goals.

Is Proof More Cost-Effective Than Testing?

The most striking result is that the Z proof appears to be substantially more efficient at finding faults than the most efficient testing phase, which helps to show the significant benefit and practicality of large-scale proof on projects of this kind.

High Integrity Software - The SPARK Approach to Safety and Security

From the Book: This book is about programming in Spark--a language highly suited for writing programs that need to be reliable, and thus particularly relevant to those application areas where

Introduction to the Team Software Process

Watts Humphrey is the visionary behind the Capability Maturity Model (CMM)(R) and the Personal Software Process (PSP) (sm). The CMM contains a framework for software process improvement at the

Communicating sequential processes

This paper suggests that input and output are basic primitives of programming and that parallel composition of communicating sequential processes is a fundamental program structuring method. When

The Z notation - a reference manual

  • J. M. Spivey
  • Linguistics
    Prentice Hall International Series in Computer Science
  • 1989
Tutorial introduction background the Z language the mathematical tool-kit sequential systems syntax summary and how to use it to solve sequential systems problems.

Chaos Report

  • 1995