Software Verification - a postpositivistic approach

Slides:



Advertisements
Similar presentations
Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Conclusion Summary Research trends Resources.
Advertisements

Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Lecture #21 Software Model Checking: predicate abstraction Thomas Ball Testing, Verification and Measurement Microsoft Research.
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 13.
SPIN
Rahul Sharma Işil Dillig, Thomas Dillig, and Alex Aiken Stanford University Simplifying Loop Invariant Generation Using Splitter Predicates.
Using Statically Computed Invariants Inside the Predicate Abstraction and Refinement Loop Himanshu Jain Franjo Ivančić Aarti Gupta Ilya Shlyakhter Chao.
State-Event Software Verification for Branching-Time Specifications Sagar Chaki, Ed Clarke, Joel Ouaknine, Orna Grumberg Natasha Sharygina, Tayssir Touili,
Software Engineering: Where are we? And where do we go from here? V Software Engineering Lecture 23 Clark Barrett New York University 4/17/2006.
VERTAF: An Application Framework for Design and Verification of Embedded Real-Time Software Pao-Ann Hsiung, Shang-Wei Lin, Chih-Hao Tseng, Trong-Yen Lee,
1 Combining verification and analysis. 2 CONCLUSIONS ON VERIFICATION  denotational abstract interpreters have the extra-value of being easily transformed.
Computing Over­Approximations with Bounded Model Checking Daniel Kroening ETH Zürich.
Efficient Software Model Checking of Data Structure Properties Paul T. Darga Chandrasekhar Boyapati The University of Michigan.
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
Model Checking for Embedded Systems Edmund Clarke, CMU High-Confidence Embedded Systems Workshop, May 1 st.
AUTOMATIC CONCOLIC TEST GENERATION WITH VIRTUAL PROTOTYPES FOR POST-SILICON VALIDATION Reviewer: Shin-Yann Ho Instructor: Jie-Hong Jiang.
By D. Beyer et. al. Simon Fraser University (Spring 09) Presentation By: Pashootan Vaezipoor.
Thread-modular Abstraction Refinement Thomas A. Henzinger, et al. CAV 2003 Seonggun Kim KAIST CS750b.
CSC2108 Lazy Abstraction on Software Model Checking Wai Sum Mong.
7/13/2003BMC A SAT-Based Approach to Abstraction Refinement in Model Checking Bing Li, Chao Wang and Fabio Somenzi University of Colorado at Boulder.
Software Engineering Prof. Dr. Bertrand Meyer March 2007 – June 2007 Chair of Software Engineering Static program checking and verification Slides: Based.
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
B. Fernández, D. Darvas, E. Blanco Formal methods appliedto PLC code verification Automation seminar CERN – IFAC (CEA) 02/06/2014.
Yang Liu, Jun Sun and Jin Song Dong School of Computing National University of Singapore.
Specifying and Verifying Event-based Fairness Enhanced Systems 1 ICFEM 2008 Specifying and Verifying Event-based Fairness Enhanced Systems Jun SUN, Yang.
© Andrew IrelandDependable Systems Group On the Scalability of Proof Carrying Code for Software Certification Andrew Ireland School of Mathematical & Computer.
Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003.
Bandera: Extracting Finite-state Models from Java Source Code. Paper By: James C. Corbett, Mathew Dwyer, John Hatcliff, Shawn Laubach, Corina Pasareanu,
1 Predicate Abstraction and Refinement for Verifying Hardware Designs Himanshu Jain Joint work with Daniel Kroening, Natasha Sharygina, Edmund M. Clarke.
Proving Non-Termination Gupta, Henzinger, Majumdar, Rybalchenko, Ru-Gang Xu presentation by erkan.
Model Checking for Simple Java Programs Taehoon Lee, Gihwon Kwon Department of Computer Science Kyonggi University, Korea IWFST, Shanghai, China,
Welcome to CS 477 Formal Methods in Software Development Spring 2011 Madhusudan Parthasarathy ( Madhu )
SAT-Based Model Checking Without Unrolling Aaron R. Bradley.
Learning Universally Quantified Invariants of Linear Data Structures Pranav Garg 1, Christof Loding, 2 P. Madhusudan 1 and Daniel Neider 2 1 University.
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
Automated Formal Verification of PLC (Programmable Logic Controller) Programs
Property-Guided Shape Analysis S.Itzhaky, T.Reps, M.Sagiv, A.Thakur and T.Weiss Slides by Tomer Weiss Submitted to TACAS 2014.
CHARME’03 Predicate abstraction with Minimum Predicates Sagar Chaki*, Ed Clarke*, Alex Groce*, Ofer Strichman** * Carnegie Mellon University ** Technion.
URL: by Wishnu Prasetya Course on Program Verification 2015/2016.
On Concurrency Idioms and their Effect on Program Analysis Weizmann Institute of Science Guy Katz and David Harel.
Counterexample-Guided Abstraction Refinement By Edmund Clarke, Orna Grumberg, Somesh Jha, Yuan Lu, and Helmut Veith Presented by Yunho Kim Provable Software.
Presentation Title 2/4/2018 Software Verification using Predicate Abstraction and Iterative Refinement: Part Bug Catching: Automated Program Verification.
Tutorial: Proving termination and liveness
Hardware Acceleration of A Boolean Satisfiability Solver
SS 2017 Software Verification Bounded Model Checking, Outlook
Learning Invariants using Decision Trees and Implication Counterexamples Pranav Garg Amazon India.
MSIS 2011 – Statistics Sweden
Course Software Testing & Verification 2016/17 Wishnu Prasetya
Lifting Propositional Interpolants to the Word-Level
إعداد د/زينب عبد الحافظ أستاذ مساعد بقسم الاقتصاد المنزلي
Semi-Symbolic Analysis of Analog and Signal Processing Systems
Property Directed Reachability with Word-Level Abstraction
دانشگاه شهیدرجایی تهران
Over-Approximating Boolean Programs with Unbounded Thread Creation
Formal Methods in software development
تعهدات مشتری در کنوانسیون بیع بین المللی
An overview of Coq Xinyu Feng USTC.
Automated Extraction of Inductive Invariants to Aid Model Checking
بسمه تعالی کارگاه ارزشیابی پیشرفت تحصیلی
Formal Methods in software development
Software Verification and Validation
Software Verification and Validation
A Trusted Safety Verifier for Process Controller Code
Work Presentation Acknowledgements
The Zoo of Software Security Techniques
Software Verification and Validation
Model Checking and Its Applications
Title of Article First Author: Second Author: Third Author:
An overview of Coq.
Data Structures & Programming
Presentation transcript:

Software Verification - a postpositivistic approach Georg Weissenbacher brought to you by

to assure that software fully satisfies all the expected requirements. Verification? to assure that software fully satisfies all the expected requirements. empirical verification can never be conclusive! (Sir Karl Popper)

‘All swans are white.’ (in particular, there are no black ones)

Counterexamples convincing conclusive irrefutable

Ariane 5 Disaster June 04, 1996 explosion after 42 sec altitude 3700 meters MC 68020 CPU, 18MHz approx. 2.8 MIPS 42 s x 2.8 MI/s = 117,6 MI 3.17 x 104 instructions/m geostationary orbit: 35 786 km

i := i + 1 N i = 1 i := 0

i := i * 5; j := i + j; i := 5N; j := N * 5N; N

iN = 5N jN = N * 5N N

Predicate Abstraction Widening/ Acceleration Model Checking Invariant Generation Abstraction/ Refinement

Questions? Thank you for your attention. Please also have a look at some of our papers: * Counterexamples with Loops for Predicate Abstraction (CAV 2006). * A Complete Bounded Model Checking Algorithm for Pushdown Systems (SPIN 2007) * A Survey of Automated Techniques for Formal Software Verification (TCAD 2008) * more on http://www.georg.weissenbacher.name