Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education 2015
DOI: 10.1145/2729094.2742628
|View full text |Cite
|
Sign up to set email alerts
|

Introducing Formal Methods via Program Derivation

Abstract: Existing attempts towards including formal methods in introductory programming courses focus on introducing program verification tools. When using the verification tools, there is no structured help available to the students in the actual task of implementing the program, except for the hints provided by the failed proof obligations. In contrast, in the correct-by-construction programming methodology, programs are incrementally derived from their specifications.By restricting our attention to program derivatio… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
5
0

Year Published

2015
2015
2023
2023

Publication Types

Select...
3
2

Relationship

1
4

Authors

Journals

citations
Cited by 5 publications
(5 citation statements)
references
References 14 publications
0
5
0
Order By: Relevance
“…Chaudhari et al [11] focused on the typical steps in the program derivation process, starting from the program specifications. Ref.…”
Section: Related Workmentioning
confidence: 99%
See 2 more Smart Citations
“…Chaudhari et al [11] focused on the typical steps in the program derivation process, starting from the program specifications. Ref.…”
Section: Related Workmentioning
confidence: 99%
“…Ref. [11] divided the post-assertion into multiple specifications based on the weakest predicate method and then formed a loop invariant for derivation [12] . Refs.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…This lemma adds the missing requirements for enabling the use of the log function: the precondition requires the sequence is non empty, and the lo index to be strictly smaller than the hi index. The ensures expression is the proof obligation as in expression (6). This lemma calls itself recursively.…”
Section: Function In Relation To the Log2 [2] Functionmentioning
confidence: 99%
“…The use of formal methods in software development education is described, e.g., in [6] and [20]. Both approaches are dedicated to verifying functional correctness while we can illustrate the time complexity of algorithms to developers.…”
Section: Related Workmentioning
confidence: 99%