Conference
Formal Methods in Software Practice
About: Formal Methods in Software Practice is an academic conference. The conference publishes majorly in the area(s): Formal specification & Formal methods. Over the lifetime, 30 publications have been published by the conference receiving 5301 citations.
Topics: Formal specification, Formal methods, Formal verification, Model checking, Functional verification
Papers
1 May 1997
TL;DR: An overview of the design and structure of the verifier, its theoretical foundation, and an overview of significant practical applications are given.
Abstract: SPIN is an efficient verification system for models of distributed software systems. It has been used to detect design errors in applications ranging from high-level descriptions of distributed algorithms to detailed code for controlling telephone exchanges. The paper gives an overview of the design and structure of the verifier, reviews its theoretical foundation, and gives an overview of significant practical applications.
4,389 citations
4 Mar 1998
TL;DR: This work proposes a pattern-based approach to the presentation, codification and reuse of property specifications for finite-state verification, believing that a primary cause rests with the fact that practitioners are unfamiliar with specification processes, notations, and strategies.
Abstract: Finite-state verification (e.g., model checking) provides a powerful means to detect errors that are often subtle and difficult to reproduce. Nevertheless, the transition of this technology from research to practice has been slow. While there are a number of potential causes for reluctance in adopting such formal methods in practice, we believe that a primary cause rests with the fact that practitioners are unfamiliar with specification processes, notations, and strategies. Recent years have seen growing success in leveraging experience with design and coding patterns. We propose a pattern-based approach to the presentation, codification and reuse of property specifications for finite-state verification.
560 citations
24 Aug 2000
TL;DR: The DSD (Document Structure Description) notation is introduced as the bid on how to meet the requirements above to support evolving classes of XML documents.
Abstract: XML (eXtensible Markup Language) is a linear syntax for trees, which has gathered a remarkable amount of interest in industry. The acceptance of XML opens new venues for the application of formal methods such as specification of abstract syntax tree sets and tree transformations.A notation for defining a set of XML trees is called a schema language. Such trees correspond to a specific user domain, such as XHTML, the class of XML documents that make sense as HTML.A useful schema notation must: identify most of the syntactic requirements that the documents in the user domain follow; allow efficient parsing; be readable to the user; allow limited tree transformations corresponding to the insertion of defaults; be modular and extensible to support evolving classes of XML documents.In the present paper, we introduce the DSD (Document Structure Description) notation as our bid on how to meet the requirements above.
93 citations
24 Aug 2000
TL;DR: It is shown how most of the criteria can be embedded in a formal specification language in ways that potentially allow automated checking or assist in manual reviews.
Abstract: This paper examines the issue of completeness in specification language design. In the mid-80s we identified a set of 26 formal criteria to identify missing, incorrect, and ambiguous requirements for process-control systems. Experimental validation of the criteria on NASA and NASDA spacecraft systems have supported their usefulness in detecting commonly omitted but important information and engineers have been using them in checklist form on real systems. At the same time, we have extended the criteria and now have over 60. This paper shows how most of the criteria can be embedded in a formal specification language in ways that potentially allow automated checking or assist in manual reviews.
71 citations
24 Aug 2000
TL;DR: This paper investigates the use of abstraction techniques to reduce the state-space of a real-time operating system kernel written in C++ and introduces some extensions to predicate abstraction that all allow it to be used within the class-instance framework of object-oriented languages.
Abstract: While it is becoming more common to see model checking applied to software requirements specifications, it is seldom applied to software implementations. The Automated Software Engineering group at NASA Ames is currently investigating the use of model checking for actual source code, with the eventual goal of allowing software developers to augment traditional testing with model checking. Because model checking suffers from the state-explosion problem, one of the main hurdles for program model checking is reducing the size of the program. In this paper we investigate the use of abstraction techniques to reduce the state-space of a real-time operating system kernel written in C++. We show how informal abstraction arguments could be formalized and improved upon within the framework of predicate abstraction, a technique based on abstract interpretation. We introduce some extensions to predicate abstraction that all allow it to be used within the class-instance framework of object-oriented languages. We then demonstrate how these extensions were integrated into an abstraction tool that performs automated predicate abstraction of Java programs.
61 citations
Performance Metrics
| Year | Papers |
|---|---|
| 2000 | 11 |
| 1998 | 14 |
| 1997 | 4 |
| 1996 | 1 |