The ProB Animator and Model Checker for B
|
|
|
- Alannah Knight
- 10 years ago
- Views:
Transcription
1 The ProB Animator and Model Checker for B A Tool Description Michael Leuschel and Michael Butler Department of Electronics and Computer Science University of Southampton Highfield, Southampton, SO17 1BJ, UK {mal,mjb}@ecs.soton.ac.uk Abstract. We present ProB, an animation and model checking tool for the B method. ProB s animation facilities allow users to gain confidence in their specifications, and unlike the animator provided by the B-Toolkit, the user does not have to guess the right values for the operation arguments or choice variables. ProB contains a temporal and a state-based model checker, both of which can be used to detect various errors in B specifications. ProB enables users to uncover errors that are not easily discovered by existing tools. 1 Introduction The B-method, originally devised by J.-R. Abrial [1], is a theory and methodology for formal development of computer systems. It is used by industries in a range of critical domains, most notably railway control. B is based on the notion of abstract machine and the notion of refinement. The variables of an abstract machine are typed using set theoretic constructs such as sets, relations and functions. Typically these are constructed from basic types such as integers and given types from the problem domain. The invariant of a machine is specified using predicate logic. Operations of a machine are specified as generalised substitutions, which allow deterministic and nondeterministic assignments to be specified. In B refinement, a machine may be refined by another machine in which the state is represented by data structures that are more concrete and/or in which operations are more deterministic and imperative. There are two main proof activities in B: consistency checking, which is used to show that the operations of a machine preserve the invariant, and refinement checking, which is used to show that one machine is a valid refinement of another. These activities are supported by industrial strength tools, such as Atelier-B [8] and the B-toolkit [2]. A B-tool generates a list of predicate logic proof obligations (POs). If each of these POs is proved, then the machine is consistent (or a correct refinement in the case of refinement checking). The B-tools have an automatic prover and an interactive prover. Typically the more complex POs are not proved automatically and need to be proved interactively. The tools also provide automatic translation of low level B into executable code. The ProB tool presented here currently supports automated consistency checking of B machines via model checking [4] and constraint-based checking
2 [5]. For exhaustive model checking, the given sets must be restricted to small finite sets, and integer variables must be restricted to small numeric ranges. This allows the checking to traverse all the reachable states of the machine. ProB can also be used non-exhaustively to explore the state space and find potential problems. The user can set an upper bound on the number of states to be traversed or can interrupt the checking at any stage. ProB will generate and graphically display counter-examples when it discovers a violation of the invariant. ProB detects attempts to evaluate undefined expressions, such as the application of a partial function to an argument outside its domain. ProB can also be used as an animator of a B specification. So, the model checking facilities are still useful for infinite state machines, not as a verification tool, but as a sophisticated debugging and testing tool. 2 Brief Overview of the system The ProB system has been developed mainly in SICStus Prolog, with a graphical user interface implemented in Tcl/Tk. ProB uses the JBTools package developed by Tatibouet [9] and the Pillow package [3] to that effect. The JBTools package permits translation of abstract machine notation (AMN) [1] specifications into XML, while the Pillow package allows the conversion of XML files into a Prolog term representation. The ProB front end then postprocesses the general Prolog term tree representation of the Pillow library output into a more structured representation which will serve as the input to the interpreter. The ProB interpreter recurses through this structured representation of B machines and makes call to the ProB kernel, which implements support for the basic datatypes and operations of the B-language. The ProB kernel itself is written in SICStus Prolog with co-routining and constraints. The ProB animator and the two model checkers all make use of the ProB interpreter in various ways, as will be explained below. 3 ProB in Action The ProB animator was developed using the Tcl/Tk library of SICStus Prolog 3.10 and builds upon our earlier animator for CSP [7]. Our animator supports (backtrackable) step-by-step animation of the B-machines. As can be seen in Figure 1 it presents the user with a description of the current state of the machine, the history that has led the user to reach the current state, and a list of the enabled operations, along with proper argument instantiations. Thus, unlike the animator provided by the B-Toolkit, the user does not have to guess the right values for the operation arguments. The same holds for choice variables in Any statements, the user does not have to find values which satisfy the Any condition. If the number of enabled operations becomes larger, one could envisage a better interface were not all options are immediately displayed to the user. The ProB animator also provides visualization of the state space that has been explored so far, and provides visual feedback on which states have been
3 Fig. 1. Animation of the E-Travel Agency Case Study fully explored and which ones are still open. One can also find the shortest trace (given the state space explored so far) to the current state. ProB provides two ways of model checking: 1. a temporal model checking which tries to find a sequence of operations that, starting from an initial state, leads to a state which violates the invariant (or exhibits some other error, such as deadlocking or abort conditions); and 2. a state-based model checking, which finds a state of the machine that satisfies the invariant, but where we can apply a single operation to reach a state that violates the invariant (or again exhibits some other error). A counter example found by the temporal model checker thus consists of a sequence of operations (with properly instantiated operation arguments), as shown in Fig. 2. Volvo Vehicle Function We have tried our tool on a case study performed at Volvo on a typical vehicle function. The largest B machine had 15 variables, 550 lines of B specification, and 26 operations. This B specification was developed by Volvo as part of the European Commission IST Project PUSSEE (IST-2000-
4 session={},r_user={},c_user={}, initialise_machine u_state(u1,s0),u_hotel(u1,nohotel),u_rental(u1,nocarrent), u_request(u1,none) login(u1) u_state(u1,s1),u_hotel(u1,nohotel),u_rental(u1,nocarrent), u_request(u1,none) bookcar(u1) u_state(u1,s5),u_hotel(u1,nohotel),u_rental(u1,nocarrent), u_request(u1,bc) entercard(u1) c_rent(c1a,c1),c_rent(c2a,c2),u_card(u1,valid), u_state(u1,s6),u_hotel(u1,nohotel),u_rental(u1,nocarrent), u_request(u1,bc) response(u1) r_user={},session(sess1,u1),respons(u1,done), c_rent(c2a,c2),u_card(u1,valid),u_state(u1,s7), again(u1) c_rent(c2a,c2),u_card(u1,unknown),u_state(u1,s1), u_hotel(u1,nohotel),u_rental(u1,nocarrent),u_request(u1,none), bookcar(u1) c_rent(c2a,c2),u_card(u1,unknown),u_state(u1,s5), entercard(u1) c_rent(c2a,c2),u_card(u1,valid),u_state(u1,s6), response(u1) r_user={},session(sess1,u1),respons(u1,done), c_rent(c2a,c2),u_card(u1,valid),u_state(u1,s7),,c_user(c2a,u1) Fig. 2. Counter example for the E-Travel Agency Example 30103). Animation using ProB worked very well and we have then used ProB to verify the B-machine using the temporal model checker. ProB managed to explore the entire state space of the B-machine in a few minutes, thereby proving the absence of invariant violations and deadlocks. However, ProB managed to identify a slight anomaly in the B machines behaviour: a crucial operation was only enabled very rarely. This shows that ProB might be used to identify problems that would otherwise only emerge at implementation time. E-TravelAgency Within our ABCD 1 project we have developed various B models for a distributed online travel agency, through which users can make hotel and car rental bookings. The models were developed jointly with a Java/JSP 1 Automated validation of Business Critical systems using Component-based Design, EPSRC grant GR/M91013.
5 implementation. The B model contains about 6 pages of B and, as can be seen in Fig. 1, has 11 variables of complicated type. ProB was very useful in the development of the specification, and was able to properly animate all of our models (see Fig. 1), and discover several problems with various versions of our system. 4 Uses of ProB Animation The animator is very easy to drive, and provides immediate visual feedback about one s specification. On the one hand, this is going to be very useful for people learning B and provides them a good feel for the B language. We plan to use ProB next academic year in our Critical Systems course. On the other hand, it also allows experienced users to more easily find problems with their specifications. Indeed, large specifications are very likely to contain errors, some of which can be identified early by animation. Model Checking The interactive proof process with Atelier-B or the B-Toolkit can be quite time consuming. A typical development involves going through several levels of refinement to code generation before attempting any interactive proof [6]. This is to avoid the expense of reproving POs as the specification and refinements change in order to arrive at a satisfactory implementation. We see the use of ProB as a complement to interactive proof in that errors that result in counterexamples should be eliminated before attempting interactive proof. Further Information More information about the ProB tool can be obtained in the paper to appear in the main conference proceedings of FME 03 and at the web site: mal/systems/prob.html. References 1. J.-R. Abrial. The B-Book. Cambridge University Press, B-Core (UK) Limited, Oxon, UK. B-Toolkit, On-line manual., Available at 3. D. Cabeza and M. Hermenegildo. The PiLLoW Web Programming Library. The CLIP Group, School of Computer Science, Technical University of Madrid, Available at 4. E. M. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, D. Jackson. Alloy: A lightweight object modelling notation. ACM Transactions on Software Engineering and Methodology (TOSEM), 11: , J.-L. Lanet. The use of B for Smart Card. In Forum on Design Languages (FDL02), September M. Leuschel. Design and implementation of the high-level specification language CSP(LP) in Prolog. In I. V. Ramakrishnan, editor, Proceedings of PADL 01, LNCS 1990, pages Springer-Verlag, March Steria, Aix-en-Provence, France. Atelier B, User and Reference Manuals, Available at uk.html. 9. Tatibouet, Bruno. The JBTools Package, Available at en.html.
Introducing Formal Methods. Software Engineering and Formal Methods
Introducing Formal Methods Formal Methods for Software Specification and Analysis: An Overview 1 Software Engineering and Formal Methods Every Software engineering methodology is based on a recommended
Software Engineering
Software Engineering Lecture 04: The B Specification Method Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 50 The B specification method
Improving Railway Data Validation with ProB
Chapter 1 Improving Railway Data Validation with ProB Jérôme Falampim, Hung Le-Dang, Michael Leuschel, Mikael Mokrani, Daniel Plagge Abstract In this chapter, we describe the successful application of
A Framework for the Semantics of Behavioral Contracts
A Framework for the Semantics of Behavioral Contracts Ashley McNeile Metamaxim Ltd, 48 Brunswick Gardens, London W8 4AN, UK [email protected] Abstract. Contracts have proved a powerful concept
Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications
Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications Sayantan Das Prasenjit Basu Ansuman Banerjee Pallab Dasgupta P.P. Chakrabarti Department of Computer Science & Engineering
Model Checking: An Introduction
Announcements Model Checking: An Introduction Meeting 2 Office hours M 1:30pm-2:30pm W 5:30pm-6:30pm (after class) and by appointment ECOT 621 Moodle problems? Fundamentals of Programming Languages CSCI
Static Program Transformations for Efficient Software Model Checking
Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major
Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification
Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by
The Model Checker SPIN
The Model Checker SPIN Author: Gerard J. Holzmann Presented By: Maulik Patel Outline Introduction Structure Foundation Algorithms Memory management Example/Demo SPIN-Introduction Introduction SPIN (Simple(
Introduction to Formal Methods. Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm
Introduction to Formal Methods Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm Outline Introduction Formal Specification Formal Verification Model Checking Theorem Proving Introduction Good papers to
T-79.186 Reactive Systems: Introduction and Finite State Automata
T-79.186 Reactive Systems: Introduction and Finite State Automata Timo Latvala 14.1.2004 Reactive Systems: Introduction and Finite State Automata 1-1 Reactive Systems Reactive systems are a class of software
Who watches the watchers: Validating the ProB Validation Tool
Who watches the watchers: Validating the ProB Validation Tool Jens Bendisposto Sebastian Krings Michael Leuschel Institut für Informatik, Heinrich-Heine Universität Düsseldorf Universitätsstr. 1, D-4225
http://aejm.ca Journal of Mathematics http://rema.ca Volume 1, Number 1, Summer 2006 pp. 69 86
Atlantic Electronic http://aejm.ca Journal of Mathematics http://rema.ca Volume 1, Number 1, Summer 2006 pp. 69 86 AUTOMATED RECOGNITION OF STUTTER INVARIANCE OF LTL FORMULAS Jeffrey Dallien 1 and Wendy
Formal verification of contracts for synchronous software components using NuSMV
Formal verification of contracts for synchronous software components using NuSMV Tobias Polzer Lehrstuhl für Informatik 8 Bachelorarbeit 13.05.2014 1 / 19 Problem description and goals Problem description
ML for the Working Programmer
ML for the Working Programmer 2nd edition Lawrence C. Paulson University of Cambridge CAMBRIDGE UNIVERSITY PRESS CONTENTS Preface to the Second Edition Preface xiii xv 1 Standard ML 1 Functional Programming
CSE4213 Lecture Notes
CSE4213 Lecture Notes Introduction to B Tools Computer Science and Software Engineering Monash University 20070226 / Lecture 1 ajh 1/15 1 Outline 2 3 4 5 ajh 2/15 In this course we will be introducing
System modeling. Budapest University of Technology and Economics Department of Measurement and Information Systems
System modeling Business process modeling how to do it right Partially based on Process Anti-Patterns: How to Avoid the Common Traps of Business Process Modeling, J Koehler, J Vanhatalo, IBM Zürich, 2007.
Investigating a File Transfer Protocol Using CSP and B
Noname manuscript No. (will be inserted by the editor) Investigating a File Transfer Protocol Using CSP and B Neil Evans, Helen Treharne Department of Computer Science, Royal Holloway, University of London
Software Verification: Infinite-State Model Checking and Static Program
Software Verification: Infinite-State Model Checking and Static Program Analysis Dagstuhl Seminar 06081 February 19 24, 2006 Parosh Abdulla 1, Ahmed Bouajjani 2, and Markus Müller-Olm 3 1 Uppsala Universitet,
Tool Support for Model Checking of Web application designs *
Tool Support for Model Checking of Web application designs * Marco Brambilla 1, Jordi Cabot 2 and Nathalie Moreno 3 1 Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza L. Da Vinci,
Debugging Prolog Programs. Contents The basic Prolog debugger Tracing program execution Spying on problem predicates
Debugging Prolog Programs Prof. Geraint A. Wiggins Centre for Cognition, Computation and Culture Goldsmiths College, University of London Contents The basic Prolog debugger Tracing program execution Spying
Abstract Data Types in Event-B An Application of Generic Instantiation
Abstract Data Types in Event-B An Application of Generic Instantiation David Basin 1, Andreas Fürst 1, Thai Son Hoang 1, Kunihiko Miyazaki 2, and Naoto Sato 2 1 Institute of Information Security, ETH Zurich
Data Model Bugs. Ivan Bocić and Tevfik Bultan
Data Model Bugs Ivan Bocić and Tevfik Bultan Department of Computer Science University of California, Santa Barbara, USA [email protected] [email protected] Abstract. In today s internet-centric world, web
An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications
An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications Khusbu Bubna RC Junit concrete test cases suitable for execution on the implementation. The remainder
Formal Verification of Software
Formal Verification of Software Sabine Broda Department of Computer Science/FCUP 12 de Novembro de 2014 Sabine Broda (DCC-FCUP) Formal Verification of Software 12 de Novembro de 2014 1 / 26 Formal Verification
Formal Methods for Software Engineering
Formal Methods for Software Engineering Virendra Singh Computer Design and Test Lab Indian Institute of Science Bangalore Email: [email protected] Introduction Problems in software development Formal
Software Engineering Reference Framework
Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of
InvGen: An Efficient Invariant Generator
InvGen: An Efficient Invariant Generator Ashutosh Gupta and Andrey Rybalchenko Max Planck Institute for Software Systems (MPI-SWS) Abstract. In this paper we present InvGen, an automatic linear arithmetic
A Security Domain Model for Static Analysis and Verification of Software Programs
A Security Domain Model for Static Analysis and Verification of Software Programs Alan B. Shaffer Naval Postgraduate School Computer Science Dept Monterey, CA, USA [email protected] Abstract- Unauthorized
Software Modeling and Verification
Software Modeling and Verification Alessandro Aldini DiSBeF - Sezione STI University of Urbino Carlo Bo Italy 3-4 February 2015 Algorithmic verification Correctness problem Is the software/hardware system
Verifying Semantic of System Composition for an Aspect-Oriented Approach
2012 International Conference on System Engineering and Modeling (ICSEM 2012) IPCSIT vol. 34 (2012) (2012) IACSIT Press, Singapore Verifying Semantic of System Composition for an Aspect-Oriented Approach
Testing LTL Formula Translation into Büchi Automata
Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland
CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing
CS Master Level Courses and Areas The graduate courses offered may change over time, in response to new developments in computer science and the interests of faculty and students; the list of graduate
Formal Verification by Model Checking
Formal Verification by Model Checking Natasha Sharygina Carnegie Mellon University Guest Lectures at the Analysis of Software Artifacts Class, Spring 2005 1 Outline Lecture 1: Overview of Model Checking
A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation
PLDI 03 A Static Analyzer for Large Safety-Critical Software B. Blanchet, P. Cousot, R. Cousot, J. Feret L. Mauborgne, A. Miné, D. Monniaux,. Rival CNRS École normale supérieure École polytechnique Paris
How To Improve Software Quality
Software Qualities Quality Assurance Maintainer Go Documentation Readable Ce Go Design Functionality Ease of use Ease of learning User Reliability Correctness Efficiency Low Cost Portability Increased
On strong fairness in UNITY
On strong fairness in UNITY H.P.Gumm, D.Zhukov Fachbereich Mathematik und Informatik Philipps Universität Marburg {gumm,shukov}@mathematik.uni-marburg.de Abstract. In [6] Tsay and Bagrodia present a correct
Automated Theorem Proving - summary of lecture 1
Automated Theorem Proving - summary of lecture 1 1 Introduction Automated Theorem Proving (ATP) deals with the development of computer programs that show that some statement is a logical consequence of
How To Test Automatically
Automated Model-Based Testing of Embedded Real-Time Systems Jan Peleska [email protected] University of Bremen Bieleschweig Workshop 7 2006-05-05 Outline Technologie-Zentrum Informatik Objectives Basic concepts
Run-Time Monitoring of Goal-Oriented Requirements Specifications
Department of Computer Science University College London University of London Run-Time Monitoring of Goal-Oriented Requirements Specifications Andrew Ross Dingwall-Smith Submitted for the degree of Doctor
A Generic Visualization Platform for CP
A Generic Visualization Platform for CP Helmut Simonis and Paul Davern and Jacob Feldman and Deepak Mehta and Luis Quesada and Mats Carlsson 2 Cork Constraint Computation Centre Department of Computer
Specification and Analysis of Contracts Lecture 1 Introduction
Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider [email protected] http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.
Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder
Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder Matt Department of Computer Science and Engineering University of Minnesota [email protected] Abstract We present
MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE
MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES Subarea Educational Computing and Technology Literacy Computer Systems, Data, and Algorithms Program Design and Verification Programming Language
DiPro - A Tool for Probabilistic Counterexample Generation
DiPro - A Tool for Probabilistic Counterexample Generation Husain Aljazzar, Florian Leitner-Fischer, Stefan Leue, and Dimitar Simeonov University of Konstanz, Germany Abstract. The computation of counterexamples
Automated Formal Analysis of Internet Routing Systems
Automated Formal Analysis of Internet Routing Systems Boon Thau Loo University of Pennsylvania [Joint work with Anduo Wang (Penn -> UIUC), Wenchao Zhou (Georgetown), Andre Scedrov (Penn), Limin Jia (CMU),
VeriTech - A Framework for Translating among Model Description Notations
Software Tools for Technology Transfer manuscript No. (will be inserted by the editor) VeriTech - A Framework for Translating among Model Description Notations Orna Grumberg and Shmuel Katz Computer Science
Introducing Formal Methods into Industry using Cleanroom and CSP
Guy H. Broadfoot, Chief Technical Director, Verum Consultants. TOOLS Introducing Formal Methods into Industry using Cleanroom and CSP In this paper, we present an overview of our observations and experiences
Extending Semantic Resolution via Automated Model Building: applications
Extending Semantic Resolution via Automated Model Building: applications Ricardo Caferra Nicolas Peltier LIFIA-IMAG L1F1A-IMAG 46, Avenue Felix Viallet 46, Avenue Felix Viallei 38031 Grenoble Cedex FRANCE
CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma
CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma Please Note: The references at the end are given for extra reading if you are interested in exploring these ideas further. You are
[Refer Slide Time: 05:10]
Principles of Programming Languages Prof: S. Arun Kumar Department of Computer Science and Engineering Indian Institute of Technology Delhi Lecture no 7 Lecture Title: Syntactic Classes Welcome to lecture
Reinforcement Learning
Reinforcement Learning LU 2 - Markov Decision Problems and Dynamic Programming Dr. Martin Lauer AG Maschinelles Lernen und Natürlichsprachliche Systeme Albert-Ludwigs-Universität Freiburg [email protected]
The Classes P and NP
The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the
Model Checking II Temporal Logic Model Checking
1/32 Model Checking II Temporal Logic Model Checking Edmund M Clarke, Jr School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 2/32 Temporal Logic Model Checking Specification Language:
Today s Agenda. Automata and Logic. Quiz 4 Temporal Logic. Introduction Buchi Automata Linear Time Logic Summary
Today s Agenda Quiz 4 Temporal Logic Formal Methods in Software Engineering 1 Automata and Logic Introduction Buchi Automata Linear Time Logic Summary Formal Methods in Software Engineering 2 1 Buchi Automata
Research Overview in. Formal Method in Software Engineering Laboratory
Research Overview in Formal Method in Software Engineering Laboratory Head of Lab: Prof. Belawati H Widjaja, Ph.D Presented By: Dr. Ade Azurat Wednesday 21 January 2015 FMSE Workshop 2015 @ Fasilkom UI
Formal Methods in Security Protocols Analysis
Formal Methods in Security Protocols Analysis Li Zhiwei Aidong Lu Weichao Wang Department of Computer Science Department of Software and Information Systems University of North Carolina at Charlotte Big
Verification of Imperative Programs in Theorema
Verification of Imperative Programs in Theorema Laura Ildikó Kovács, Nikolaj Popov, Tudor Jebelean 1 Research Institute for Symbolic Computation, Johannes Kepler University, A-4040 Linz, Austria Institute
Reinforcement Learning
Reinforcement Learning LU 2 - Markov Decision Problems and Dynamic Programming Dr. Joschka Bödecker AG Maschinelles Lernen und Natürlichsprachliche Systeme Albert-Ludwigs-Universität Freiburg [email protected]
StaRVOOrS: A Tool for Combined Static and Runtime Verification of Java
StaRVOOrS: A Tool for Combined Static and Runtime Verification of Java Jesús Mauricio Chimento 1, Wolfgang Ahrendt 1, Gordon J. Pace 2, and Gerardo Schneider 3 1 Chalmers University of Technology, Sweden.
Formal Verification and Linear-time Model Checking
Formal Verification and Linear-time Model Checking Paul Jackson University of Edinburgh Automated Reasoning 21st and 24th October 2013 Why Automated Reasoning? Intellectually stimulating and challenging
Policy Modeling and Compliance Verification in Enterprise Software Systems: a Survey
Policy Modeling and Compliance Verification in Enterprise Software Systems: a Survey George Chatzikonstantinou, Kostas Kontogiannis National Technical University of Athens September 24, 2012 MESOCA 12,
0 0-10 5-30 8-39. Rover. ats gotorock getrock gotos. same time compatibility. Rock. withrover 8-39 TIME
Verication of plan models using UPPAAL Lina Khatib 1, Nicola Muscettola, and Klaus Havelund 2 NASA Ames Research Center, MS 269-2 Moett Field, CA 94035 1 QSS Group, Inc. 2 RECOM Technologies flina,mus,[email protected]
Automated Program Behavior Analysis
Automated Program Behavior Analysis Stacy Prowell [email protected] March 2005 SQRL / SEI Motivation: Semantics Development: Most engineering designs are subjected to extensive analysis; software is
6.080/6.089 GITCS Feb 12, 2008. Lecture 3
6.8/6.89 GITCS Feb 2, 28 Lecturer: Scott Aaronson Lecture 3 Scribe: Adam Rogal Administrivia. Scribe notes The purpose of scribe notes is to transcribe our lectures. Although I have formal notes of my
CHAPTER 7 GENERAL PROOF SYSTEMS
CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes
CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 313]
CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 313] File Structures A file is a collection of data stored on mass storage (e.g., disk or tape) Why on mass storage? too big to fit
Algorithms, Flowcharts & Program Design. ComPro
Algorithms, Flowcharts & Program Design ComPro Definition Algorithm: o sequence of steps to be performed in order to solve a problem by the computer. Flowchart: o graphical or symbolic representation of
Division of Mathematical Sciences
Division of Mathematical Sciences Chair: Mohammad Ladan, Ph.D. The Division of Mathematical Sciences at Haigazian University includes Computer Science and Mathematics. The Bachelor of Science (B.S.) degree
An Agile Formal Development Methodology
An Agile Formal Development Methodology George Eleftherakis 1 and Anthony J. Cowling 2 1 Computer Science Department City Liberal Studies Affiliated College of the University of Sheffield 13 Tsimiski Str.,
Unified Static and Runtime Verification of Object-Oriented Software
Unified Static and Runtime Verification of Object-Oriented Software Wolfgang Ahrendt 1, Mauricio Chimento 1, Gerardo Schneider 2, Gordon J. Pace 3 1 Chalmers University of Technology, Gothenburg, Sweden
Model checking test models. Author: Kevin de Berk Supervisors: Prof. dr. Wan Fokkink, dr. ir. Machiel van der Bijl
Model checking test models Author: Kevin de Berk Supervisors: Prof. dr. Wan Fokkink, dr. ir. Machiel van der Bijl February 14, 2014 Abstract This thesis is about model checking testing models. These testing
Certification Authorities Software Team (CAST) Position Paper CAST-13
Certification Authorities Software Team (CAST) Position Paper CAST-13 Automatic Code Generation Tools Development Assurance Completed June 2002 NOTE: This position paper has been coordinated among the
Software safety - DEF-STAN 00-55
Software safety - DEF-STAN 00-55 Where safety is dependent on the safety related software (SRS) fully meeting its requirements, demonstrating safety is equivalent to demonstrating correctness with respect
An Automated Development Process for Interlocking Software that. Cuts Costs and Provides Improved Methods for Checking Quality.
An Automated Development Process for Interlocking Software that Cuts Costs and Provides Improved Methods for Checking Quality and Safety Authors: Claes Malmnäs Prover Technology Rosenlundsgatan 54 118
Extending Data Processing Capabilities of Relational Database Management Systems.
Extending Data Processing Capabilities of Relational Database Management Systems. Igor Wojnicki University of Missouri St. Louis Department of Mathematics and Computer Science 8001 Natural Bridge Road
Validated Templates for Specification of Complex LTL Formulas
Validated Templates for Specification of Complex LTL Formulas Salamah Salamah Department of Electrical, computer, Software, and Systems Engineering Embry Riddle Aeronautical University 600 S. Clyde Morris
11 Tips to make the requirements definition process more effective and results more usable
1 11 Tips to make the s definition process more effective and results more usable This article discusses what I believe are the key techniques for making s definition process repeatable from project to
Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com
Formal Software Testing Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com Scope of Testing Find defects early Remove defects prior to production Identify Risks Unbiased opinion When Should Testing
