Objective
"As software becomes ever more ubiquitous in our lives, the need to ensure it runs without error becomes ever more important. Restarting a phone is a simple, if inconvenient task; restarting an aeroplane in mid-flight is not an option!
Correct by construction programming offers a revolutionary approach to program verification where programs can contain not just computations as is normal, but also logical proofs of the correctness of these computations. The simple fact that such programs compile provides formal, i.e. mathematical, guarantees of the correctness of the program. In particular, there is no need for post-hoc testing of software etc.
Fundamental to the implicit marriage of computation and logic inherent within correct by construction programming is the choice of the right logical systems and concepts upon which programming languages ought to be built. This reflects the symbiotic relationship between logic, programming, and the design of programming languages—any attempt to sever this connection will diminish each component. This proposal brings together internationally leading researchers from both inside Europe and outside Europe to work on exactly what logical structures are needed for correct by construction programming and how those logical structures can then by turned into concrete programming artefacts. In order to produce fundamental work which stands the test of time, we work not with specific programming languages but with mathematical abstractions of them. The recent development of dependently typed programming languages capable of supporting correct by construction programming makes this a very timely proposal, while the billions spent on software every year makes the potential impact of this proposal very significant."
Fields of science
Call for proposal
FP7-PEOPLE-2013-IRSES
See other projects for this call
Coordinator
LS2 9JT Leeds
United Kingdom
See on map
Participants (8)
G1 1XQ Glasgow
See on map
SA2 8PP Swansea
See on map
10691 Stockholm
See on map
57076 Siegen
See on map
80539 Muenchen
See on map
21100 Varese
See on map
35122 Padova
See on map
16126 Genova
See on map