• Documents
  • Authors
  • Tables
  • Log in
  • Sign up
  • MetaCart
  • DMCA
  • Donate

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations

State-based model checking of event-driven system requirements. (1993)

by J Atlee, J Gannon
Add To MetaCart

Tools

Sorted by:
Results 1 - 10 of 144
Next 10 →

Automated Consistency Checking of Requirements Specifications

by Constance L. Heitmeyer, Ralph D. Jeffords, Bruce G. Labaw , 1996
"... This paper describes a formal analysis technique, called consistency checking, for automatic detection of errors, such as type errors, nondeterminism, missing cases, and circular definitions, in requirements specifications. The technique is designed to analyze requirements specifications expressed i ..."
Abstract - Cited by 270 (33 self) - Add to MetaCart
This paper describes a formal analysis technique, called consistency checking, for automatic detection of errors, such as type errors, nondeterminism, missing cases, and circular definitions, in requirements specifications. The technique is designed to analyze requirements specifications expressed in the SCR (Software Cost Reduction) tabular notation. As background, the SCR approach to specifying requirements is reviewed. To provide a formal semantics for the SCR notation and a foundation for consistency checking, a formal requirements model is introduced; the model represents a software system as a finite state automaton, which produces externally visible outputs in response to changes in monitored environmental quantities. Results are presented of two experiments which evaluated the utility and sealability of our technique for consistency checking in a real-world avionics application. The role of consistency checking during the requirements phase of software development is discussed.

Using model checking to generate tests from specifications

by Paul E. Ammann, Paul E. Black, William Majurski - In Proceedings of the Second IEEE International Conference on Formal Engineering Methods (ICFEM’98 , 1998
"... Abstract We apply a model checker to the problem of test generation using a new application of mutation analysis. We define syntactic operators, each of which produces a slight variation on a given model. The operators define a form of mutation analysis at the level of the model checker specificatio ..."
Abstract - Cited by 150 (13 self) - Add to MetaCart
Abstract We apply a model checker to the problem of test generation using a new application of mutation analysis. We define syntactic operators, each of which produces a slight variation on a given model. The operators define a form of mutation analysis at the level of the model checker specification. A model checker generates counterexamples which distinguish the variations from the original specification. The counterexamples can easily be turned into complete test cases, that is, with inputs and expected output. We define two classes of operators: those that produce test cases from which a correct implementation must differ, and those that produce test cases with which it must agree. There are substantial advantages to combining a model checker with mutation analysis. First, the generation of test cases is automatic; each counterexample serves as a complete test case. Second, in sharp contrast to program-based mutation analysis, the identification of equivalent mutants is also automatic; the model checker simply reports that the mutant satisfies the constraints, and hence no counterexample is produced. We apply our method to an example specification and evaluate the resulting test sets with coverage metrics on a corresponding implementation in Java. 1 Introduction The use of formal methods has been widely advocated to reduce the likelihood of errors in the early stages of system development. Some of the chief drawbacks to applying formal methods is the difficulty of conducting formal analysis [5] and the perceived or actual payoff in project budget. Testing is an expensive part of the software budget, and formal methods offer an opportunity to significantly reduce the testing costs. We have developed an innovative combination of mutation analysis, model checking, and test generation which solves some problems previously plaguing these approaches and automatically produces good sets of tests from formal specifications. This section reviews the formal methods and approaches we use.
(Show Context)

Citation Context

...pendent properties such as syntax, type mismatch, missing cases, circular dependencies and so on, but not application dependent properties such as safety and security. Atlee's model checking approach =-=[1, 3, 4]-=- addresses the application dependent property of safety in SCR mode transition tables by expressing an SCR mode transition table as a logic model, expressing the safety properties of the specification...

Completeness and consistency in hierarchical state-base requirements

by Mats P. E. Heimdahl, Nancy G. Leveson - IEEE Transactions on Software Engineering , 1996
"... Abstract-This paper describes methods for automatically analyzing formal, state-based requirements specifications for some aspects of completeness and consistency. The approach uses a low-level functional formalism, simplifying the analysis process. State-space explosion problems are eliminated by a ..."
Abstract - Cited by 125 (17 self) - Add to MetaCart
Abstract-This paper describes methods for automatically analyzing formal, state-based requirements specifications for some aspects of completeness and consistency. The approach uses a low-level functional formalism, simplifying the analysis process. State-space explosion problems are eliminated by applying the analysis at a high level of abstraction; i.e., instead of generating a reachability graph for analysis, the analysis is performed directly on the model. The method scales up to large systems by decomposing the specification into smaller, analyzable parts and then using functional composition rules to ensure that verified properties hold for the entire specification. The analysis algorithms and tools have been validated on TCAS 11, a complex, airborne, collision-avoidance system required on all commercial aircraft with more than 30 passengers that fly in U.S. airspace. Index Terms-Completeness, methods. 1
(Show Context)

Citation Context

...y graph and, therefore, quickly runs into a state-space explosion problem. Model checking: Model checking is conceptually simple and is applicable in a wide variety of languages and application areas =-=[1, 6, 7]-=-. Early work in model checking also relied on a global reachability graph. Consequently, the approach suffered from statespace explosion problems. Newer approaches relying on a symbolic representation...

Consistency Checking of SCR-Style Requirements Specifications

by Constance Heitmeyer, Bruce Labaw, Daniel Kiskis , 1995
"... This paper describes a class of formal analysis called consistency checking that mechanically checks requirements specifications, expressed in the SCR tabular notation, for application-independent properties. Properties include domain coverage, type correctness, and determinism. As background, the S ..."
Abstract - Cited by 105 (8 self) - Add to MetaCart
This paper describes a class of formal analysis called consistency checking that mechanically checks requirements specifications, expressed in the SCR tabular notation, for application-independent properties. Properties include domain coverage, type correctness, and determinism. As background, the SCR notation for specifying requirements is reviewed. A formal requirements model describing the meaning of the SCR notation is summarized, and consistency checks derived from the formal model are described. The results of experiments to evaluate the utility of automated consistency checking are presented. Where consistency checking of requirements fits in the software development process is discussed. 1 Introduction A recent study of industrial application of formal methods concludes that formal methods, including those for specifying and analyzing requirements, are "beginning to be used seriously and successfully by industry: : : to develop systems of significant scale and importance" [5]...
(Show Context)

Citation Context

... 40 kg. [18]. Using tools to do such analyses should cost far less than using people. Related Work. In a related effort, Atlee and Gannon use model checking to analyze SCR requirements specifications =-=[2]-=-. Unlike our tool, theirs evaluates application-specific properties. Further, where our consistency checker tests all tables and definitions in an SCR specification automatically, their tool analyzes ...

Using abstraction and model checking to detect safety violations in requirements specifications

by Constance Heitmeyer, James Kirby, Bruce Labaw, Myla Archer, Ramesh Bharadwaj - IEEE Transactions on Software Engineering , 1998
"... Abstract—Exposing inconsistencies can uncover many defects in software specifications. One approach to exposing inconsistencies analyzes two redundant specifications, one operational and the other property-based, and reports discrepancies. This paper describes a “practical ” formal method, based on ..."
Abstract - Cited by 97 (38 self) - Add to MetaCart
Abstract—Exposing inconsistencies can uncover many defects in software specifications. One approach to exposing inconsistencies analyzes two redundant specifications, one operational and the other property-based, and reports discrepancies. This paper describes a “practical ” formal method, based on this approach and the SCR (Software Cost Reduction) tabular notation, that can expose inconsistencies in software requirements specifications. Because users of the method do not need advanced mathematical training or theorem proving skills, most software developers should be able to apply the method without extraordinary effort. This paper also describes an application of the method which exposed a safety violation in the contractor-produced software requirements specification of a sizable, safety-critical control system. Because the enormous state space of specifications of practical software usually renders direct analysis impractical, a common approach is to apply abstraction to the specification. To reduce the state space of the control system specification, two “pushbutton ” abstraction methods were applied, one which automatically removes irrelevant variables and a second which replaces the large, possibly infinite, type sets of certain variables with smaller type sets. Analyzing the reduced specification with the model checker Spin uncovered a possible safety violation. Simulation demonstrated that the safety violation was not spurious but an actual defect in the original specification.
(Show Context)

Citation Context

...ecking to detect inconsistencies in SCR specifications. Using this approach, they have exposed errors in the A-7 requirements specification [62], in Kirby’s specification of automobile cruise control =-=[6]-=-, and in other specifications. In each case, they analyzed two redundant specifications of the required behavior—one property-based, the other operational. 6.2 Selecting an Analysis Method Among the a...

SCR*: A Toolset for Specifying and Analyzing Requirements

by Constance Heitmeyer, Alan Bull, Carolyn Gasarch, Bruce Labaw , 1995
"... A set of CASE tools is described for developing formal requirements specifications expressed in the SCR (Software Cost Reduction) tabular notation. The tools include an editor for building the specifications, a consistency checker for testing the specifications for consistency with a formal requirem ..."
Abstract - Cited by 95 (14 self) - Add to MetaCart
A set of CASE tools is described for developing formal requirements specifications expressed in the SCR (Software Cost Reduction) tabular notation. The tools include an editor for building the specifications, a consistency checker for testing the specifications for consistency with a formal requirements model, a simulator for symbolically executing the specifications, and a verifier for checking that the specifications satisfy selected application properties. As background, the SCR method for specifying requirements is reviewed, and a formal requirements model is introduced. Examples are presented to illustrate the tools. 1 Introduction High assurance computer systems are computer systems where compelling evidence is required that the system delivers its services in a manner that satisfies certain critical properties. Examples of high assurance systems include military command and control systems, nuclear power plants, telephone networks, medical systems (e.g., patient monitoring sys...
(Show Context)

Citation Context

...n. 8 Related Work. In a related effort, Atlee and Gannon used model checking, a state exploration technique pioneered by Clarke [3], to test SCR requirements specifications for application properties =-=[2]-=-. Their tool analyzes properties defined in terms of mode classes and input variables only (e.g., Properties 3 and 4 above). Their state model is derived from the mode transition tables, extended by h...

A Framework for Multi-Valued Reasoning over Inconsistent Viewpoints

by Steve Easterbrook, Marsha Chechik , 2001
"... In requirements elicitation, different stakeholders often hold different views of how a proposed system should behave, resulting in inconsistencies between their descriptions. Consensus may not be needed for every detail, but it can be hard to determine whether a particular disagreement affects the ..."
Abstract - Cited by 86 (27 self) - Add to MetaCart
In requirements elicitation, different stakeholders often hold different views of how a proposed system should behave, resulting in inconsistencies between their descriptions. Consensus may not be needed for every detail, but it can be hard to determine whether a particular disagreement affects the critical properties of the system. In this paper, we describe the # bel framework for merging and reasoning about multiple, inconsistent state machine models. # bel permits the analyst to choose how to combine information from the multiple viewpoints, where each viewpoint is described using an underlying multi-valued logic. The different values of our logics typically represent different levels of agreement. Our multi-valued model checker, # chek, allows us to check the merged model against properties expressed in a temporal logic. The resulting framework can be used as an exploration tool to support requirements negotiation, by determining what properties are preserved for various combinations of inconsistent viewpoints.
(Show Context)

Citation Context

...g formalism, we gain generality and analytical power but lose some expressive power. However, as many standard state-machine specification languages can be translated into Kripke structures (e.g. SCR =-=[1]-=-), it would be fairly straightforward to adopt a richer specification language as a front end to our framework. Also,sviews do not have an explicit representation of time, although we plan to add this...

Model Checking Complete Requirements Specifications Using Abstraction

by Ramesh Bharadwaj, Constance L. Heitmeyer - Automated Software Engineering , 1999
"... Although model checking has proven remarkably effective in detecting errors in hardware designs, its success in the analysis of software specifications has been limited. Model checking algorithms for hardware verification commonly use Binary Decision Diagrams (BDDs) to represent predicates involving ..."
Abstract - Cited by 83 (22 self) - Add to MetaCart
Although model checking has proven remarkably effective in detecting errors in hardware designs, its success in the analysis of software specifications has been limited. Model checking algorithms for hardware verification commonly use Binary Decision Diagrams (BDDs) to represent predicates involving the many Boolean variables commonly found in hardware descriptions. Unfortunately, BDD representations may be less effective for analyzing software specifications, which usually contain not only Booleans but variables spanning a wide range of data types. Further, software specifications typically have huge, sometimes infinite, state spaces that cannot be model checked directly using conventional symbolic methods. One promising but largely unexplored approach to model checking software...

An Approach to Large-Scale Collection of Application Usage Data Over the Internet

by D. M. Hilbert, D. F. Redmiles
"... Empirical evaluation of software systems in actual usage situations is critical in software engineering. Prototyping, beta testing, and usability testing are widely used to refine system requirements, detect anomalous or unexpected system and user behavior, and to evaluate software usefulness and us ..."
Abstract - Cited by 80 (29 self) - Add to MetaCart
Empirical evaluation of software systems in actual usage situations is critical in software engineering. Prototyping, beta testing, and usability testing are widely used to refine system requirements, detect anomalous or unexpected system and user behavior, and to evaluate software usefulness and usability. The World Wide Web enables cheap, rapid, and large-scale distribution of software for evaluation purposes. However, current techniques for collecting usage data have not kept pace with the opportunities presented by Web-based deployment. This paper presents an approach and prototype system that makes large-scale collection of usage data over the Internet a practical possibility. A general framework for comparing software monitoring systems is presented and used to compare the proposed approach to existing techniques.
(Show Context)

Citation Context

...ol infrastructure. With respect to agent representation and authoring, we are investigating existing tools and techniques for constructing state-based [30], rule-based [10], and mode-transition-based =-=[1]-=- specifications. With regard to agent maintenance, we have identified mitigating factors that minimize the impact of maintenance issues [13]. With regard to data storage and analysis, we are investiga...

Generating test data from state-based specifications

by Jeff Offutt, Shaoying Liu, Aynur Abdurazik, Paul Ammann - The Journal of Software Testing, Verification and Reliability , 2003
"... Although the majority of software testing in industry is conducted at the system level, most formal research has focused on the unit level. As a result, most system level testing techniques are only described informally. This paper presents formal testing criteria for system level testing that are b ..."
Abstract - Cited by 77 (8 self) - Add to MetaCart
Although the majority of software testing in industry is conducted at the system level, most formal research has focused on the unit level. As a result, most system level testing techniques are only described informally. This paper presents formal testing criteria for system level testing that are based on formal specifications of the software. Software testing can only be formalized and quantified when a solid basis for test generation can be defined. Formal specifications represent a significant opportunity for testing because they precisely describe what functions the software is supposed to provide in a form that can be automatically manipulated. This paper presents general criteria for generating test inputs from state-based specifications. The criteria include techniques for generating tests at several levels of abstraction for specifications (transition predicates, transitions, pairs of transitions and sequences of transitions). These techniques provide coverage criteria that are based on the specifications, and are made up of several parts, including test prefixes that contain inputs necessary to put the software into the appropriate state for the test values. The test generation process includes several steps for transforming specifications to tests. These criteria have been applied to a case study to compare their ability to detect seeded faults.
(Show Context)

Citation Context

...ion. These criteria are meant to be general enough to be applied to a variety of specification languages that use a state-based representation. They have been applied to Software Cost Reduction (SCR) =-=[6, 30]-=-, CoRE [24], UML Statecharts [18, 45], and the Structured Object-oriented Formal Language (SOFL) [41, 46]. The test data generation model includes techniques for generating tests at several levels of ...

Powered by: Apache Solr
  • About CiteSeerX
  • Submit and Index Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2019 The Pennsylvania State University