AI4FM: using AI to aid automation of proof search in Formal Methods

Lead Research Organisation: Newcastle University
Department Name: Computing Sciences

Abstract

Formal Methods bring to software engineering the level of scientific underpinning familiar in other engineering disciplines. Such methods use specification languages with precise meaning and thus open the possibility of proving that a design (ultimately the implementation) satisfies the specification.Such formal methods have come a long way since their inception and they are now used in applications far more common than the safety-critical systems where they were first deployed. Significant awareness of their potential has come from the use of push-button, post facto, methods that derive from ideas of model checking . The family of methods that can be thought of as top-down have more potential pay-off but are also more challenging for users. Any post-facto method has to face the prospect of incorrect programs - extracting their specifications can be unedifying. Furthermore, an enormous amount of the waste in software development derives from scrap and rework when design errors are discovered after their insertion (but possibly before there is even code to execute). Both post-facto and top-down approaches are important: we choose to address the latter and tackle a key cost in their deployment.In justifying a top-down step of design, the user has to discharge so-called proof obligations . These are small proofs that can often be discharged by an automatic theorem prover. But where they are not discharged automatically, an engineer is faced with the unfamiliar task of constructing a formal proof. Improvements in so-called heuristics can help increase the power of theorem provers. This project aims to use learning techniques from artificial intelligence to record and abstract how experts do proofs in order to increase the proportion of cases where proofs are constructed without (or with minimal) human intervention.

Planned Impact

Who will benefit from this research?: The long-term, non-academic beneficiaries of this research will be all users of formal methods in ICT system development. In the shorter term, our prototype system will first be available to users of the Rodin Toolset, e.g. industrial members of the DEPLOY project, such as Bosch, SAP and Siemens. Assuming this leads to a greater uptake of formal methods for ICT system development, then customers of these systems will benefit from more dependable ICT products, i.e. systems that are delivered on-time, on-budget, that meet their specifications and are more easily maintained against an evolving specification. Considering the horrifying statistics associated with the failures of current ICT projects, this would be a major impact. How will they benefit from this research? The potential impact on the practical use of formal methods is huge. It is clear that recalcitrant POs are a major bottleneck in the use of formal methods even within a project like DEPLOY where the industrial partners have already made some commitment to their use. Our tools will increase the level of automation in the use of formal methods. This will result in both a decrease in the required skill level in their use and a decrease in the time take to apply them. Expert interaction will still be required to deal with proof obligations (POs) that are beyond the ability of current theorem proving systems, but this interaction will be limited to an exemplar PO within each family, where a typical family size is 20 POs. The other 19 POs will then be dealt with automatically using the source proof to guide the target proofs. Rare, expensive and highly-skilled proof expertise can then be spread more thinly across a wider range of projects, with less-skilled ICT developers dealing with the automated tools that will deal with the majority of the POs. The savings to users might well amount to a quarter of their costs. With the resulting reduction in costs and time-to-market of formal methods, we would expect a major barrier to their wider uptake to be lifted, and their use to become more routine. What will be done to ensure that they have the opportunity to benefit from this research? Our workplan involves close interaction with several industrial formal-methods users. We will harvest examples from these users to form our development and test sets. This will ensure that we are working on industrially relevant problems. We will embed our prototype in tools, such as the Rodin Toolset, that are being used by these industrial users. This will ensure that our contribution is readily usable by these industrial users. Most importantly, we will engage in a continuous dialogue with these industrial users to ensure that our tools will address their most significant problems. This dialogue will take place not only within this project, but also within sister projects, such as DEPLOY, and our membership of communities, such as UKCRC Grand Challenge 6, on Dependable Systems Evolution and the Verified Systems Initiative . In particular, GC6 and VSI will give us the opportunity to tension our research against related research on a common benchmark of problems. We will, of course, also use all the usual channels of research dissemination: conference and journal publication; seminar, workshop and conference presentations; making software and examples freely available to download; web page with links to publications, etc.; tutorials on our results during the later stages of the project; organising both UK and European workshops on our evolving research, e.g., at Schloss Dagstuhl, involving both industrial and academic researchers; integrating our research results into our teaching, in order to send out a generation of UG and MSc CS students much better equipped to employ FM in their future careers.

Publications

10 25 50
publication icon
Cliff B. Jones (2011) Semantic Models for a Logic of Partial Functions in International Journal of Software and Informatics

publication icon
Cliff B. Jones; Gudmund Grov; Alan Bundy (2010) AFM'10 Automated Formal Methods

publication icon
Gudmund Grov (2010) AI4FM: A New Project Seeking Challenges in VSTTE~2010

publication icon
Gudmund Grov; Alan Bundy; Cliff B. Jones; Andrew Ireland (2010) Grand Challenges in Computing Research 2010

publication icon
Iain Whiteside; Leo Freitas; Cliff Jones; Andrius Velykis (2013) Contributions to AI4FM 2013

publication icon
Leo Freitas; Cliff B. Jones; Andrius Velykis (2014) HOWARD-60. A Festschrift on the Occasion of Howard Barringer's 60th Birthday

 
Description The AI4FM project has developed a way of learning from a user who is discharging proof obligations for the formal development of software. A detailed model of a system has been refined and published and prototypes of some aspects produced.
Exploitation Route We have developed a range of techniques for the increased automation of the proofs required in the refinement and verification of computer programs from their specifications, especially using the EventB system. These include: * The automatic synthesis of key lemmas in the proof, which normally requires highly skilled and time-consuming human interaction. * The design and implementation of a strategy language for describing the structure of a proof, so that the proof of a target theorem may be abstracted and then used to automatically guide the proof of a target conjecture. These techniques will help lower the skill level required to apply formal methods to system development and speed up their application, thus enabling their use to be more widespread. This will, in turn, enable computer systems It would be possible to build a full AI4FM system from our published formal model.
Sectors Aerospace, Defence and Marine,Digital/Communication/Information Technologies (including Software),Education,Security and Diplomacy,Transport

URL http://www.ai4fm.org
 
Description This is a joint project involving three universities. Newcastle have a wide range of industrial partners from an earlier EU IP (DEPLOY) using the Event-B and its associated tool support (RodinTools) and we hope to persuade them to attempt experiments with our tools and results. Edinburgh and Heriot Watt are conducting a pilot project using our strategy language to describe the automated proof tool for formal verification used by the DRisQ spin-out from QinetiQ. This has been funded by their Platform Grant. We have exercised our paper model with examples. Until a full system is built, it is difficult to get industrial use. (Added in 2021) Subsequent development in this area is interesting. Firstly, it has to be conceded that raw compute power has made tools like Sledgehammer in Isabelle far more effective than they were when we identified the need for strategy extraction. (This includes searching using Cloud resources.) There are however many users of theorem proving systems who feel that Isar-stule guided proofs are important and it is this are that extraction of strategies would be effective. Jones did prepare a subsequent grant application that focussed on one are of the research. Unfortunately this was not funded (of course, it is always true that there is a funding cut-off). The planned research Co-I subsequently moved to the US.
First Year Of Impact 2014
Sector Digital/Communication/Information Technologies (including Software),Transport
Impact Types Societal,Economic

 
Description 2015 AI4FM Annual Workshop 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Professional Practitioners
Results and Impact This workshop brought together researchers from formal methods and AI; it addressed the issue of how AI can be used to support the formal software development process, including modelling and proof. As previous AI4FM workshops itincluded a mix of industrial and academic participants.
Year(s) Of Engagement Activity 2015
URL http://www.ai4fm.org/ai4fm-2015/programme/
 
Description AI4FM 2011 - Annual workshop 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? Yes
Geographic Reach International
Primary Audience Other academic audiences (collaborators, peers etc.)
Results and Impact Follow up meeting after the successful AI4FM kick-off meeting. The event spanned 2 days and featured a number of invited talks and short talk sessions. It was held at the University of Edinburgh and sponsored by the Complex Systems Engineering theme of the Scottish Informatics and Computer Science Alliance (SICSA) and the Centre for Intelligent Systems and Their Applications (CISA) at the University of Edinburgh.

The event was a good platform to share the results of the project
Year(s) Of Engagement Activity 2011
URL http://www.ai4fm.org/ai4fm-2011/
 
Description AI4FM 2013 - Annual workshop 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? Yes
Geographic Reach International
Primary Audience Other academic audiences (collaborators, peers etc.)
Results and Impact AI4FM 2013 workshop has brought together researchers from formal methods and AI; it explored the issue of how AI can be used to support the formal software development process, including modelling and proof.

The workshop consisted of one invited talk: Sharing the Burden of (Dis)proof with Nitpick and Sledgehammer by Jasmin Blanchette, and 9 regular talks.

After the workshop .....
Year(s) Of Engagement Activity 2013
URL http://www.ai4fm.org/ai4fm-2013/
 
Description AI4FM 2014 - Annual workshop 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? Yes
Geographic Reach International
Primary Audience Other academic audiences (collaborators, peers etc.)
Results and Impact This workshop brought together researchers from formal methods and AI; it addressed the issue of how AI can be used to support the formal software development process, including modelling and proof. As previous AI4FM workshops itincluded a mix of industrial and academic participants.

The main reult....
Year(s) Of Engagement Activity 2014
URL http://www.ai4fm.org/ai4fm-2014/
 
Description AI4FM kick-off meeting 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach National
Primary Audience Other academic audiences (collaborators, peers etc.)
Results and Impact The kick-off meeting consisted of 4 sessions totalling 15 talks on topics relevant to the project.

The AI4FM kick-off meeting was a good starting point to get relevant audiences informed about the project existence, its objectives and future activities.
Year(s) Of Engagement Activity 2010
URL http://www.ai4fm.org/ko-meeting/
 
Description Dagstuhl seminar 12271: AI meets Formal Software Development 
Form Of Engagement Activity A formal working group, expert panel or dialogue
Part Of Official Scheme? Yes
Geographic Reach International
Primary Audience Other academic audiences (collaborators, peers etc.)
Results and Impact The seminar was an inspiring meeting where industry and academia shared ideas and insights from both formal methods (FM) and artificial intelligence (AI) domains.

Considerable presence of industrial users kept our sights at the right target, namely realistic sizeable problems of interest. A few talks from an AI-only perspective were also illuminating: from the "ecology of machine learning (ML)" to application of ML to problems of proof. A variety of verification tools and techniques was presented: various program verification suites (e.g. Dafny and VCC from Microsoft Research; Perfect developer and ECV from Escher Technologies; GNAT Pro from AdaCore; etc), machine learning tools (e.g. HR, Wikka), theorem provers (e.g. ACL2, ProofPower/Z, Isabelle/HOL, Z/Eves, etc), SAT/SMT solvers (e.g. E, Boggie, Z3, etc.). From the AI4FM project itself, there were presentations on new technology to capture and extract proof process data, as well as ideas for a new high-level proof strategy language used to discover families of proofs from extracted proof process data. Overall, there has been great participation and enthusiasm from the audience with a potential new collaborations to come.

The organisers are preparing a summary report of the event, which will be published in Dagstuhl Reports series and will contain abstracts of all the talks.

During this workshop potential collaborations arose after the results of AI4FM were presented.
Year(s) Of Engagement Activity 2012
URL http://www.dagstuhl.de/en/program/calendar/semhp/?semnr=12271