Teaching how to derive correct concurrent programs from state-based specifications and code patterns

M Carro, J Marino, A Herranz… - Teaching Formal Methods …, 2004 - Springer
Teaching Formal Methods: CoLogNET/FME Symposium, TFM 2004, Ghent, Belgium …, 2004Springer
The fun of teaching and learning concurrent programming is sometimes darkened by the
difficulty in getting concurrent programs to work right. In line with other programming
subjects in our department, we advocate the use of formal specifications to state clearly how
a concurrent program must behave, to reason about this behavior, and to be able to produce
code from specifications in a semi-automatic fashion. We argue that a mild form of
specification not only makes it possible to get programs running easier, but it also introduces …
Abstract
The fun of teaching and learning concurrent programming is sometimes darkened by the difficulty in getting concurrent programs to work right. In line with other programming subjects in our department, we advocate the use of formal specifications to state clearly how a concurrent program must behave, to reason about this behavior, and to be able to produce code from specifications in a semi-automatic fashion. We argue that a mild form of specification not only makes it possible to get programs running easier, but it also introduces students to a quite systematic way of approaching programming: reading and understanding specifications is seen as an unavoidable step in the programming process, as they are really the only place where the expected conduct of the system is described. By using formal techniques in these cases, where they are undoubtedly appropriate, we introduce formality without the need to resort to justifications with artificial or overly complicated examples.
Springer
Showing the best result for this search. See all results