Profs Kourie & Watson publish book on Provably Correct Software
Posted by Dr Fritz Solms on 19 Jun 2012, 15:36 (last modified on 19 Jun 2012, 16:43)
The book titles "The Correctness-by-Construction Approach to Programming" was published by Springer in April 2012 and makes a significant contribution to the field of developing mission critical and provably correct software.
Springer summarize the book to provide a
- Step-by-step explanation of how to derive mathematically correct algorithms using small and tractable refinements.
- Detailed illustration of the presented methodology through a set of carefully selected graded examples.
- Practical applicability demonstrated by deriving non-trivial algorithms (e.g. in computational geometry) and algorithm taxonomies (as a basis for toolkit construction).
The focus of this book is on bridging the gap between two extreme methods for developing software. On the one hand, there are texts and approaches that are so formal that they scare off all but the most dedicated theoretical computer scientists. On the other, there are some who believe that any measure of formality is a waste of time, resulting in software that is developed by following gut feelings and intuitions.
Kourie and Watson advocate an approach known as “correctness-by-construction,” a technique to derive algorithms that relies on formal theory, but that requires such theory to be deployed in a very systematic and pragmatic way. First they provide the key theoretical background (like first-order predicate logic or refinement laws) that is needed to understand and apply the method. They then detail a series of graded examples ranging from binary search to lattice cover graph construction and finite automata minimization in order to show how it can be applied to increasingly complex algorithmic problems.
The principal purpose of this book is to change the way software developers approach their task at programming-in-the-small level, with a view to improving code quality. Thus it coheres with both the IEEE’s Guide to the Software Engineering Body of Knowledge (SWEBOK) recommendations, which identifies themes covered in this book as part of the software engineer’s arsenal of tools and methods, and with the goals of the Software Engineering Method and Theory (SEMAT) initiative, which aims to “refound software engineering based on a solid theory.”
Jurg Gutknecht from ETH Zurich writes "This book is a must-read for every computer science student and every computing professional involved in software development. Based on a set of simple but powerful formal rules originally invented by computing pioneers E. W. Dijkstra and C. A. R. Hoare, the authors introduce the reader to the development of elegant and provably correct software. By emphasizing construction with a priori built-in correctness, the book goes one decisive step beyond formal verification. The goal is ambitious but the authors fully deliver. With a minimum of formalistic overhead, they walk the reader through a series of carefully chosen examples and use cases, thereby gradually unleashing the full power of the methodology. The book's main merit, however, lies in the fact that it convincingly disproves the common belief that formal methods are not practicable in the "real" world."
Images
Links
Attachments
Additional News
- Welcome
- Registration deadlines
- ICSE 2010 Warm Up Workshop
- CIRG did it again!
- Computer Science student publishes book
- Another book by one of our students
- Standard Bank IT Challenge
- IEEE SEFM 2008
- Standard Bank IT Challenge: Congratulations to the CS Team!
- UP Exceptional Achievers 2009-2011
- SIT Sport Day
- International visitors at FASTAR/Espresso
- Double collaboration with Germany
- International visitor at CIRG
- 2009 Autumn Graduation
- Exam Timetable
- Project PumaScope 2009: Do you want to be part of it?
- Winning team at the Standard Bank IT Challenge
- Prof Kourie honoured for 20 years as SACJ editor
- International Workshop on Formal Methods and Agile Methods
- International Workshop on Finite-State Methods and Natural Language Processing
- Good bye Prof Judith Bishop!
- Gurdeep Hura visits the department
- Imagine Cup SA - Registrations now open
- African News Monitor
- How to review a research paper
- Visit to City of Tshwane’s Traffic Signals Control Centre
- Dr Serena Coetzee takes over Polelo leadership
- Extension on deadline for discontinuation of modules
- DC3 Digital Forensics Challenge
- Third year project day
- COS 301 project day on Thursday, 22 October
- 4th place for first years in 2009 Regional ACM ICPC
- DC3 Digital Forensics Competition
- South African address standard launched
- SESENA 2010 – Workshop on Software Engineering for Sensor Network Applications
- New Research Sub-Group for Software Science and Formal Methods
- School of IT T-Shirts
- 2010 Registration
- Welcome to the department in 2010!
- Industrial collaboration on model-driven software engineering (MDE)
- Last day of cancellation of modules
- Workshop on Formal Methods and Agile Methods
- Guest lecture by Eric Allender - Tue, 23 Feb in IT-4-58
- 2009 Third year class photo
- Jaco Swanepoel excels in DC3 Digital Forensics Competition
- Establishment of a Centre of Excellence in Uganda
- 'Tuks 4' Team in finals of Standard Bank IT Challenge
- UPDATED: 2009 Third year class photo - Collection
- 2nd date for collection of the 2009 class photo postponed
- CIL 121 Winter School
- GIS as a forensic tool by Peter Schmitz
- Postgraduate student impresses at joint SIGiST-JCSE Seminar
- Prof Engelbrecht receives 2010 UP Exceptional Achiever Award
- Guest lecture by Prof Kurt Geihs
- June 2010 Exam Timetable
- Research reinforcement from Germany
- Computer Science Research Workshop
- Computer Science students honoured at the SIT Prize Giving Ceremony
- 2011 Bursary and student support opportunities
- Photos of the SIT Prize Giving Ceremony
- Public lecture by Fritz Solms at the JCSE
- Bernardt Duvenhage gets award at Afrigraph 2010
- First workshop of the South African/Poland research cooperation in Wroclaw, Poland
- SIT Sport Day, 29 October 2010
- Congratulations to Dr Patricia Lutu!
- IEEE Student Branch at UP
- Manfred Nagl visit, 27 and 28 October
- Konrad Zuse and Lothar Collatz commemorated
- Roelf van den Heever receives prestigious award
- Holger Schlingloff visit, 1-3 November
- Invitation to Project Day 2010
- Annual Project Day
- Prof Bruce Watson's second PhD thesis
- Third International Workshop on Formal and Agile Methods
- Computer Science Alumni
- Open lectures: Adam Iwaniak and Tomasz Kubik, 17 Feb
- Deleting of all home folders
- Bobby Anguelov receives 'Eric Dybsand Memorial AI Scholarship'
- Students succeed in InformatiCup international CS competition
- Hons.-Students win 2nd Prize at German InformatiCup
- Invitation to presentation by Dr Fred Cohen
- Computer Science Research Workshop
- GUEST LECTURE BY ANTONIO CERONE ON FORMAL METHODS FOR HCI
- PumaScope has a new sponsor
- Project PumaScope expands
- ZaCon III
- Apply for a position as a Teaching Assistant
- Runners-up in SABS Essay Competition
- Prof Graham Kendall visits Department
- COS301 Project Day Photos.
- Prof Hein Venter receives award
- Hacking for Humanity
- First South African Workshop on Software Architecture
- 2011 Computer Science group photo
- SSFM Research Group will organise First South African Workshop on Software Architecture 2012
- Stefan Gruner co-organises the FormSERA Workshop 2012 with International Top Experts
- Seminar on nature inspired techniques for avoiding congestion in wireless sensor networks
- UP CS student in final six of m2work challenge
- Ms Fasan receives Google Scholarship
- PumaScope 2012: How you can help the community
- Tuks Team Secures 2nd Place in Standard Bank IT Challenge Finals
- Oluwasola Fasan selected as L'Oreal-UNESCO women in science regional fellow
- Derrick Kourie receives SAICSIT award for Pioneering Role in Promoting Computer Science
- COS-301 Project Day
- Paul Black presents seminars on Quantum Computing and Testing
- We require assistant lecturers for 2013
- 2012 class photo available
- VIOPE Game Programming Contest
- Apply for Honours 2013
- Honours Seminar Day
- 7 Feb: Design of User-Centric Interfaces
- 7 Feb, 14h00, IT 4-64: Seminar on Design of User-Centric Interfaces
- Seminar, 7 Feb, 15h00, IT 4-64: Towards Smart Pervasive Environments
- CSIR Master and Doctoral Studentships
- MSc defense: An integrated digital forensic process model framework
- Seminar on "Evolutionary approaches to solving dynamic optimization"
- Seminar: Freedom of Expression and the Human Brain
- SSFM co-organizes Formal Methods and Software Engineering Workshop
- Joint Digital Forensics Initiative provides Opportunities to Students and Research Staff
- The Standard Bank IT challenge is here!
- 25 April: Fund raising concert: "We are the Champions"
- Step-Up Technology Innovation Competition
- PumaScope 2013: How you can help the community?

