0% found this document useful (0 votes)
100 views

Correctness by Construction

The document discusses the methodology of Correctness by Construction (CbyC) and its seven key principles: (1) expect requirements to change, (2) know why you're testing, (3) eliminate errors before testing, (4) write software that is easy to verify, (5) develop incrementally, (6) some aspects of software development are hard, and (7) software is not useful by itself. It also discusses how CbyC combines rigorous mathematical notations with agile incremental development to achieve low defect rates and high productivity. The presentation concludes by stating CbyC uses good engineering practices rather than "magic" to improve software development performance.

Uploaded by

Amna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
100 views

Correctness by Construction

The document discusses the methodology of Correctness by Construction (CbyC) and its seven key principles: (1) expect requirements to change, (2) know why you're testing, (3) eliminate errors before testing, (4) write software that is easy to verify, (5) develop incrementally, (6) some aspects of software development are hard, and (7) software is not useful by itself. It also discusses how CbyC combines rigorous mathematical notations with agile incremental development to achieve low defect rates and high productivity. The presentation concludes by stating CbyC uses good engineering practices rather than "magic" to improve software development performance.

Uploaded by

Amna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Hello , good mooring My name is …......

today I will cover a subject on Correctness by Construction, which I hope you will
enjoy. I will answer all the questions at the end with all pleasure.
First , I will discuss the CbyC Methodology from Praxis Critical Systems ,
Second , the seven key principles of Correctness-by- Construction , Third Point
the step of Correctness by Construction Defect detection/Correction , Then I
will discuss about effort and defect Rate, Fifth point about Agile Methods , finally
I will discuss How TSP Relates to Agile .

First of all, Praxis Critical Systems developed a secure certification authority for
smart cards that had to satisfy performance and usability requirements while
meeting stringent security constraints. The authors used a systematic process from
requirements elicitation through formal specification, user interface prototyping,
rigorous design, and coding to ensure these objectives' achievement. They show
how a process that achieves normal commercial productivity can deliver a highly
reliable system that meets all its throughput and usability goals. (First slid)

And I move to the seven key principles of Correctness-by- Construction which


are :
1-Expect requirements to change: It is easy to change the expected requirements
during the exam without having to go back to the beginning
2-Know why you're testing (debug + verification): Conversely, the rigor and
precision of the CbyC approach means that the requirements are more likely to be
correct.
3-Eliminate errors before testing: In the program, any errors that may occur can be
eliminated
4-Write software that is easy to verify: It is the use of precision that differentiates
approaches such as CbyC from others in common use
5-Develop incrementally: to implementing these principles is to introduce
sufficient precision at each step of the development of the software to enable
reasoning about the correctness of that step – reasoning in the sense that an
argument for correctness can be established by review or using tool support.
6-Some aspects of software development are just plain hard:

Evidence for this may be found in the common tendency for development
lifecycles to migrate to an often-repeating “code-test debug” phase, which can lead
to severe cost and timescale overruns.
7-Software is not useful by itself: Typically, software development approaches
endure a lack of precision that makes it very easy to introduce defects, and very
hard to find those defects early.

The step of Correctness by Construction Defect detection/Correction which


are : Specification , Architecture , Design , code , Development test , Customer test
, Operation .
Fifth point about Agile methods or Agile processes generally promote a disciplined
project management process that encourages frequent inspection and adaptation, a
leadership philosophy that encourages teamwork, self-organization and
accountability, a set of engineering best practices intended to allow for rapid
delivery of high-quality software, and a business approach that aligns development
with customer needs and company goals.
Related to Agile software development these some of principle:
-Customer satisfaction by early and continuous delivery of valuable software.
-Welcome changing requirements, even in late development.
-Deliver working software frequently (weeks rather than months)
-Close, daily cooperation between business people and developers
-Projects are built around motivated individuals, who should be trusted
finally, I will talk about How TSP Relates to Agile:
That Agile Really Needs TSP for :
 Measurement
• Personal reviews
• Team inspections
• More complete roster of roles
• Better scalability
• Better/more explicit design role
• Better pathways to architecture and security practices

At the end of my presentation There are no silver bullets, and CbyC makes no
claims to change that stark fact. It is, however, clear that careful use of the best
currently available tools and techniques can radically improve software
development performance.

CbyC combines rigorous, mathematically based notations with agile approaches to


incremental development; the result is industry beating low defect rates combined
with high productivity.
It isn’t magic, just good engineering.

Thank you for listening. If there is any question, I will be ready to answer

You might also like