Engineering:Correct by Construction

From HandWiki
Short description: Engineering development methodology

Correct by Construction (CbC) is a development methodology that builds mathematical models before design coding[1] to balance design robustness with physical constraints.[2] Correct by Construction emphasises correctness at the lowest levels of code and algorithmic design to reduce cycle time and cost, improve product quality, and allow real-time product feedback.[3][4]

Principle

Design errors are often discovered late in the development cycle or after release, and bugs that escape verification are costly and time-consuming to fix.[4] The aim of CbC is to catch and eliminate as many defects as possible early, before designers enter register-transfer level (RTL) design and before verification engineers write testbenches in a hardware verification language.[5]

For example, in civil engineering, a bridge designer first creates an accurate computer model of the proposed solution before laying the foundations. Similarly, CbC model is used to reason about the proposal and to ensure that required functionality is delivered and correct behaviour exhibited. Testing is still performed, but its role becomes validating the correct-by-construction process rather than finding bugs.[1]

References

  1. 1.0 1.1 "Escher Technologies - Correct by Construction". https://www.eschertech.com/products/correct_by_construction.php. 
  2. Sun, Minghui; Bakirtzis, Georgios; Jafarzadeh, Hassan; Fleming, Cody (2025-05-13). "Correct-by-construction requirement decomposition" (in en). Software and Systems Modeling. doi:10.1007/s10270-025-01291-4. ISSN 1619-1366. https://link.springer.com/10.1007/s10270-025-01291-4. 
  3. Kourie, Derrick G. (2012) (in en). The Correctness-By-Construction Approach to Programming. Astrophysics and Space Science Library. Bruce W. Watson (1st ed.). Berlin, Heidelberg: Springer Berlin / Heidelberg (published 2012-04-12). pp. 48. ISBN 978-3-642-27918-8. 
  4. 4.0 4.1 "Correct by Construction Design Principles". https://www5.cadence.com/Correct_by_Construction_ebook.html. 
  5. "Find and Fix Bugs Early with Correct-by-Construction Coding | Synopsys" (in en). https://www.synopsys.com/webinars/correct-by-construction-coding-euclide.html.