Tools and Algorithms for the Construction and Analysis of Systems: 24th International Conference, TACAS 2018, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018, Thessaloniki, Greece, April 14-20, 2018, Proceedings, Part I
authentication; computer science; computer software selection and evaluation; cryptography; data privacy; formal logic; formal methods; formal specification; internet; privacy; program compilers; programming languages; security systems; semantics; separation logic; software engineering; verification...
Uložené v:
| Hlavní autori: | , |
|---|---|
| Médium: | E-kniha |
| Jazyk: | English |
| Vydavateľské údaje: |
Cham
Springer Nature
2018
Springer International Publishing AG |
| Vydanie: | 1 |
| Edícia: | Theoretical Computer Science and General Issues |
| Predmet: | |
| ISBN: | 9783319899602, 3319899600, 3319899597, 9783319899596 |
| On-line prístup: | Získať plný text |
| Tagy: |
Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
|
Obsah:
- 4.2 Semantic Refinement of Successor Computation -- 4.3 Abstraction of Transition Systems with Closures -- 4.4 Implementation of Search Algorithms -- 4.5 Imperative Implementations of Model Checking Operations -- 4.6 Code Extraction -- 5 From UPPAAL-Style Semantics to a Single Automaton -- 5.1 UPPAAL-Style Semantics -- 5.2 Program Analysis -- 5.3 Product Construction -- 6 Experimental Evaluation -- 7 Conclusion -- References -- SAT and SMT I -- Chain Reduction for Binary and Zero-Suppressed Decision Diagrams -- 1 Introduction -- 2 Related Work -- 3 BDDs and ZDDs -- 4 Chain Patterns and Reductions -- 5 Size Ratio Bounds -- 6 Operating on CBDDs and CZDDs -- 7 Experimental Results -- 7.1 Encoding a Dictionary -- 7.2 The 15-Queens Problem -- 7.3 Digital Circuits -- 8 Observations -- References -- CDCLSym: Introducing Effective Symmetry Breaking in SAT Solving -- 1 Introduction -- 2 Preliminaries and Definitions -- 2.1 Basics on Boolean Satisfiability -- 2.2 Ordering and Monotonicity -- 2.3 Symmetry Group of a Formula -- 3 CDCLSym Algorithm -- 3.1 Classical CDCL -- 3.2 Symmetry-Guided Search -- 3.3 Lex-leader Forcing -- 3.4 Illustrative Example -- 4 Implementation and Evaluation -- 4.1 cosy: An Efficient Implementation of the Symmetry Controller -- 4.2 Evaluation -- 5 Conclusion -- References -- Automatic Generation of Precise and Useful Commutativity Conditions -- 1 Introduction -- 2 Example -- 3 Preliminaries -- 4 Commutativity Without Quantifier Alternation -- 5 Iterative Refinement -- 6 The Servois Tool and Practical Considerations -- 7 Case Studies -- 8 Conclusions and Future Work -- References -- Bit-Vector Model Counting Using Statistical Estimation -- 1 Introduction -- 2 Background -- 3 Design -- 4 Experimental Results -- 5 Related Work -- 6 Future Work and Conclusion -- References -- Deductive Verification -- Hoare Logics for Time Bounds
- 5 Experimental Results
- 1 Introduction -- 2 Basics -- 3 Hoare Logics for Time Bounds -- 3.1 Nielson Style -- 3.2 Quantitative Hoare Logic -- 3.3 Separation Logic with Time Credits -- 4 Discussion -- 5 Related Work -- 6 Conclusion -- References -- A Verified Implementation of the Bounded List Container -- 1 Introduction -- 2 Dynamic Bounded Doubly-Linked Lists -- 2.1 Overview -- 2.2 List Container -- 2.3 Cursors -- 3 Verification Approach -- 3.1 Model-Based Specification for Verification -- 3.2 Support for Specification Types -- 3.3 Annotations Load -- 3.4 Challenges Dealt -- 4 Verification Results -- 5 Related Work -- 6 Conclusion -- References -- Automating Deductive Verification for Weak-Memory Programs -- 1 Introduction -- 2 Non-atomic Locations -- 3 Release-Acquire Atomics -- 4 Relaxed Memory Accesses and Fences -- 5 Compare and Swap -- 6 Soundness and Completeness -- 7 Examples and Evaluation -- 8 Conclusions and Future Work -- References -- Software Verification and Optimisation -- Property Checking Array Programs Using Loop Shrinking -- 1 Introduction -- 2 Background -- 3 Programs and Properties of Interest -- 3.1 Residual Loop and Residual Property -- 4 Shrinkability of Loops -- 4.1 Identifying Shrinkable Loops -- 4.2 Conditions Guaranteeing Shrinkability of Loops -- 5 Determining Shrinkability and Property Checking -- 5.1 Checking Shrinkability of an Iteration Sequence -- 5.2 Property Checking for Shrinkable Loops -- 6 Implementation and Measurements -- 6.1 Experiments -- 7 Related Work -- 8 Conclusion -- References -- Invariant Synthesis for Incomplete Verification Engines -- 1 Introduction -- 2 An Invariant Synthesis Framework for Incomplete Verification Engines -- 2.1 Conjunctive/Disjunctive Non-provability Information -- 2.2 Building CD-NPI Learners -- 2.3 Main Result -- 3 Application: Learning Invariants that Aid Natural Proofs for Heap Reasoning
- 4 Conclusions and Future Work -- References -- -1.7pcAccelerating Syntax-Guided Invariant Synthesis-1.4pc -- 1 Introduction -- 2 Background and Notation -- 3 Syntax-Guided Invariant Synthesis -- 4 Old Friends Are Best -- 4.1 Interpolation-Based Proofs of Bounded Safety -- 4.2 Inductive Subset Extraction -- 5 Reconsidering Syntax-Guided Invariant Synthesis -- 5.1 Overview -- 5.2 Learning Strategy -- 5.3 Optimizations -- 6 Evaluation -- 6.1 The Bootstrapping Experiment -- 6.2 Overall Statistics -- 7 Related Work -- 8 Conclusion -- References -- Daisy - Framework for Analysis and Optimization of Numerical Programs (Tool Paper) -- 1 Introduction -- 2 User's Guide: An Overview of Daisy -- 3 Theoretical Foundations -- 4 Developer's Guide: Daisy's Internals -- 4.1 Input Language and Frontend -- 4.2 Modular Architecture -- 4.3 Implementation Details -- 5 Experimental Evaluation -- 6 Related Work -- 7 Conclusion -- References -- Model Checking -- Oink: An Implementation and Evaluation of Modern Parity Game Solvers -- 1 Introduction -- 2 Preliminaries -- 2.1 Solvers -- 2.2 Empirical Evaluation -- 3 Oink -- 4 Strategy Improvement -- 5 Progress Measures -- 5.1 Small Progress Measures -- 5.2 Quasi-polynomial Progress Measures -- 5.3 Empirical Evaluation -- 6 Zielonka's Recursive Algorithm -- 7 Priority Promotion -- 8 Conclusions -- References -- More Scalable LTL Model Checking via Discovering Design-Space Dependencies (D3) -- 1 Introduction -- 2 Preliminaries -- 3 Discovering Design-Space Dependencies -- 3.1 Reduction Along the Number of Instances -- 3.2 Reduction Along the Number of Properties -- 4 Experimental Analysis -- 4.1 Benchmarks -- 4.2 Experiment Setup -- 4.3 Experimental Results -- 5 Conclusions and Future Work -- 6 Supporting Artifact -- References -- Generation of Minimum Tree-Like Witnesses for Existential CTL -- 1 Introduction -- 2 Background
- 2.1 Kripke Structures, CTL, and Witnesses -- 2.2 Decision Diagrams -- 2.3 Symbolic CTL Algorithms -- 3 Defining the Minimum Witness Size -- 4 Computing the Minimum Witness Size -- 4.1 Computing the Minimum Witness Size for EU Formulas -- 4.2 Computing the Minimum Witness Size for EG Formulas -- 5 Generating a Minimum Tree-Like Witness -- 6 Experimental Results -- 7 A Comment About Our Definition of Witness Size -- 8 Conclusions -- References -- From Natural Projection to Partial Model Checking and Back -- 1 Introduction -- 2 A General Framework -- 2.1 Language Semantics Versus State Semantics -- 2.2 Operational Model and Natural Projection -- 2.3 Equational -calculus and Partial Model Checking -- 3 Unifying the Logical and the Operational Approaches -- 4 Quotienting Finite-State Systems -- 4.1 Quotienting Algorithm -- 4.2 Prototype and Application to the Running Example -- 5 Related Work -- 6 Conclusion -- References -- Machine Learning -- ICE-Based Refinement Type Discovery for Higher-Order Functional Programs -- 1 Introduction -- 2 Target Language and Verification Conditions -- 2.1 Language -- 2.2 Refinement Type System -- 2.3 Verification Conditions -- 2.4 Simplifying Verification Conditions -- 3 Modified Ice Framework -- 3.1 Teacher -- 3.2 Learner -- 3.3 Qualifier Selection in Algorithm 3 -- 3.4 Mining and Synthesizing Qualifiers -- 4 Experimental Evaluation -- 4.1 Evaluation of the Optimizations -- 4.2 Comparison with Other OCaml Program Verifiers -- 4.3 Horn-Clause-Level Evaluation -- 5 Related Work -- 6 Conclusion -- References -- Strategy Representation by Decision Trees in Reactive Synthesis -- 1 Introduction -- 2 Graph Games and Strategies -- 3 Decision Trees and Decision Tree Learning -- 4 Learning Winning Strategies Efficiently -- 4.1 Strategies as Training Sets and Decision Trees -- 4.2 Strategy-DT Learning -- 4.3 Heuristics
- Intro -- ETAPS Foreword -- Preface -- Organization -- Contents -- Part I -- Contents -- Part II -- Theorem Proving -- Unification with Abstraction and Theory Instantiation in Saturation-Based Reasoning -- 1 Introduction -- 2 Preliminaries and Related Work -- 3 Generating Simpler Instances -- 4 Abstraction Through Unification -- 5 Experimental Results -- 6 Related Work -- 7 Conclusion -- References -- Efficient Verification of Imperative Programs Using Auto2 -- 1 Introduction -- 2 Overview of the auto2 Prover -- 2.1 Proof Steps -- 2.2 Rewrite Table -- 2.3 Property and Well-Formedness Tables -- 2.4 Case Analysis -- 2.5 Proof Scripts -- 3 Verification of Functional Programs -- 3.1 Simple Proof Steps -- 3.2 Normalization of Natural Number Expressions -- 3.3 Difference Logic on Natural Numbers -- 3.4 Example -- 4 Imperative HOL and Its Separation Logic -- 4.1 Heaps and Programs -- 4.2 Assertions and Hoare Triples -- 5 Automation for Separation Logic -- 5.1 Basic Approach -- 5.2 Inductively-Defined Assertions -- 5.3 Modularity -- 5.4 Example -- 6 Case Studies -- 6.1 Union-Find -- 6.2 Red-Black Tree -- 6.3 Interval Tree and Rectangle Intersection -- 6.4 Indexed Priority Queue and Dijkstra's Algorithm -- 7 Related Work -- 8 Conclusion -- References -- Frame Inference for Inductive Entailment Proofs in Separation Logic -- 1 Introduction -- 2 Preliminaries -- 3 Illustrative Example -- 4 Frame Inference -- 5 Extensions -- 6 Implementation and Experiments -- 7 Related Work and Conclusion -- References -- Verified Model Checking of Timed Automata -- 1 Introduction -- 1.1 Isabelle/HOL -- 1.2 Related Work -- 2 Timed Automata and Model Checking -- 2.1 Transition Systems -- 2.2 Timed Automata -- 2.3 Model Checking -- 3 A First Glance at the Model Checker -- 4 Single Automaton Model Checking -- 4.1 Implementation Semantics

