Challenges In Deductive Software Verification Reiner Hhnle (with - - PowerPoint PPT Presentation

challenges
SMART_READER_LITE
LIVE PREVIEW

Challenges In Deductive Software Verification Reiner Hhnle (with - - PowerPoint PPT Presentation

Challenges In Deductive Software Verification Reiner Hhnle (with Marieke Huisman, U Twente) www.se.tu-darmstadt.de TU Darmstadt, Software Engineering Group Many challenges apply to AD in general Deductive Software Verification


slide-1
SLIDE 1

Challenges

In Deductive Software Verification Reiner Hähnle (with Marieke Huisman, U Twente)

www.se.tu-darmstadt.de TU Darmstadt, Software Engineering Group

slide-2
SLIDE 2

Deductive Software Verification

Reasoning about Correctness of Programs

As automatic and as precise as possible

→ Subfield of AD since early days (Bledsoe, Manna & Waldinger,…) → A main consumer of AD technology → Driver of AD research: theory reasoning, SMT, tactics Many “challenges” apply to AD in general

2

slide-3
SLIDE 3

Deductive Software Verification

Reasoning about Correctness of Programs

As automatic and as precise as possible

→ Subfield of AD since early days (Bledsoe, Manna & Waldinger,…) → A main consumer of AD technology → Driver of AD research: theory reasoning, SMT, tactics Many “challenges” apply to AD in general

2

slide-4
SLIDE 4

Specification

“Specification is the New Bottleneck” — Beckert et al, Systems Software Verification, pp18–32, 2012

→ Programming languages more concise than specification languages → Specifications larger, more complex than code → Modular verification requires contracts Challenge Specify program boundaries: library, system, GUI Challenge Invest in debugging & understanding of specs Challenge Automate specification generation

3

slide-5
SLIDE 5

Specification

“Specification is the New Bottleneck” — Beckert et al, Systems Software Verification, pp18–32, 2012

→ Programming languages more concise than specification languages → Specifications larger, more complex than code → Modular verification requires contracts Challenge Specify program boundaries: library, system, GUI Challenge Invest in debugging & understanding of specs Challenge Automate specification generation

3

slide-6
SLIDE 6

Integration

→ Integration at tool level → Method integration (Model checking, symb. ex. abstraction, …) → Integration into production environment Challenge “Universal” intermediate language with formal semantics Challenge Tool integration, API writing: no scientific reward Challenge Integrate proof management into GitHub

4

slide-7
SLIDE 7

Integration

→ Integration at tool level → Method integration (Model checking, symb. ex. abstraction, …) → Integration into production environment Challenge “Universal” intermediate language with formal semantics Challenge Tool integration, API writing: no scientific reward Challenge Integrate proof management into GitHub

4

slide-8
SLIDE 8

Coverage

→ Mainstream languages not designed with analyzability in mind → Problematic: concurrency, floating point, reflection → Non-functional properties Challenge Create a widely-used programming language designed to be analyzable Challenge Keep up with rapid evolution of mainstream industrial programming languages

(huge challenge for any academic tool)

5

slide-9
SLIDE 9

Coverage

→ Mainstream languages not designed with analyzability in mind → Problematic: concurrency, floating point, reflection → Non-functional properties Challenge Create a widely-used programming language designed to be analyzable Challenge Keep up with rapid evolution of mainstream industrial programming languages

(huge challenge for any academic tool)

5

slide-10
SLIDE 10

Usability

→ Our research is method- and tool-driven → Benchmarks, case studies: no feedback on usability → “Winning CASC irrelevant for industrial stakeholder” → Need to demonstrate that tool saves time, money Challenge Back up claims on increased effectiveness or productivity by experimental user studies Challenge Establish paper category experimental user study Challenge Usability as driver for research investment

6

slide-11
SLIDE 11

Usability

→ Our research is method- and tool-driven → Benchmarks, case studies: no feedback on usability → “Winning CASC irrelevant for industrial stakeholder” → Need to demonstrate that tool saves time, money Challenge Back up claims on increased effectiveness or productivity by experimental user studies Challenge Establish paper category experimental user study Challenge Usability as driver for research investment

6

slide-12
SLIDE 12

Funding

→ Mature deduction tools require sustained effort → Some research challenges require decades to address → … but each < <your favorite funding agency> >-project must be a “breakthrough” and “disruptive” Challenge Academic reward system must provide incentives Challenge Computer Science must be re-classified as engineering or experimental science with according infrastructure

7

slide-13
SLIDE 13

Funding

→ Mature deduction tools require sustained effort → Some research challenges require decades to address → … but each < <your favorite funding agency> >-project must be a “breakthrough” and “disruptive” Challenge Academic reward system must provide incentives Challenge Computer Science must be re-classified as engineering or experimental science with according infrastructure

7

slide-14
SLIDE 14

Industrial and Societal Context

→ Digitalization of everything is huge opportunity for formal methods and, hence, AD technology → Tool-based software analysis also applicable to CPS → Certification goes from HW to SW → But, we must find out what industry needs Challenge Get involved in standardization efforts (languages, certification) Challenge Quality control for deduction/verification tools (robustness, usability, learnability, …)

8

slide-15
SLIDE 15

Industrial and Societal Context

→ Digitalization of everything is huge opportunity for formal methods and, hence, AD technology → Tool-based software analysis also applicable to CPS → Certification goes from HW to SW → But, we must find out what industry needs Challenge Get involved in standardization efforts (languages, certification) Challenge Quality control for deduction/verification tools (robustness, usability, learnability, …)

8