(On secondment at) Praxis High Integrity Systems Bath Dependable Systems Group School of Mathematical & Computer Sciences Heriot-Watt University Edinburgh Bill J Ellis Six Months In Praxis
Overview Context NuSPADE –Proposal –Architecture –Results SPADEase –Proposal Conclusions
Context NuSPADE: 2001 2004 –EPSRC critical systems programme (GR/R24081) –Collaboration with Praxis SPADEase:Jan 2005 July 2005 –EPSRC research assistant industrial secondment scheme (GR/T11289/01) –Direct follow-on to NuSPADE –Secondment to Praxis PhD: 2001 2005…? –Research directly related to NuSPDE –Now writing up… Principle investigator (and PhD supervisor): Andrew Ireland
NuSPADE Investigate the role of proof planning within the SPARK approach to high integrity software Proof planning: –Strong paradigm for exploring proof techniques –Previous results in proving loop verification conditions (VCs) SPARK approach to high integrity software: –Gain immediate access to VCs –Potential for industrial analysis
Completing Proof in SPARK Code and specification Program properties Proof Script SPADE User Remaining VCs SPADE Proof Checker SPADE Simplifier
Code and specification Introducing NuSPADE NuSPADE Program properties SPADE User Program analyser Proof Script SPADE Proof Checker Remaining VCs SPADE Simplifier Proof planner
NuSPADE Results NuSPADE –Evaluation based on examples from literature and industrial data provided by Praxis (SHOLIS) –Focus on: Exception freedom VCs Not automatically proved by the Simplifier Typically these arise from loop based code –80% of such problems were provable using our techniques However –NuSPADE is a typical academic system…
SPADEase Towards increased verification automation for high integrity software engineering Towards: –Six months is not long enough for a complete system Increased verification automation: –Exploit the results of the NuSPADE project –With an emphasis the practical task of automation High integrity software engineering: –Secondment at Praxis (High Integrity Systems)
Introducing SPADEase SPADEase –Automatically prove additional VCs –Same external behaviour as the Simplifier –Focus on proof planning (over program analysis) Implementation –Tweaks to Simplifier (completed) –Tweaks to Proof Checker (first draft completed) –Overhaul of NuSPADE (just starting…) Problem loading mechanism Data management system Evaluation –Compare with NuSPADE –Explore new examples SPADEase VCG SPADE Simplifier SIV Refined NuSPADE
Conclusions Building upon NuSPADE –To develop a new SPADE proof tool (SPADEase) Feedback welcome –Training opportunities? –Interesting proof examples?