Results 1 - 10
of
52
The ForSpec Temporal Logic: A New Temporal Property-Specification Language
, 2001
"... In this paper we describe the ForSpec Temporal Logic (FTL), the new temporal property-specification logic of ForSpec, Intel's new formal specification language. The key features of FTL are as follows: it is a linear temporal logic, based on Pnueli's LTL, it is based on a rich set of logical and a ..."
Abstract
-
Cited by 68 (19 self)
- Add to MetaCart
In this paper we describe the ForSpec Temporal Logic (FTL), the new temporal property-specification logic of ForSpec, Intel's new formal specification language. The key features of FTL are as follows: it is a linear temporal logic, based on Pnueli's LTL, it is based on a rich set of logical and arithmetical operations on bit vectors to describe state properties, it enables the user to define temporal connectives over time windows, it enables the user to define regular events, which are regular sequences of Boolean events, and then relate such events via special connectives, it enables the user to express properties about the past, and it includes constructs that enable the user to model multiple clock and reset signals, which is useful in the verification of hardware design.
Module Checking
, 1996
"... . In computer system design, we distinguish between closed and open systems. A closed system is a system whose behavior is completely determined by the state of the system. An open system is a system that interacts with its environment and whose behavior depends on this interaction. The ability of ..."
Abstract
-
Cited by 61 (9 self)
- Add to MetaCart
. In computer system design, we distinguish between closed and open systems. A closed system is a system whose behavior is completely determined by the state of the system. An open system is a system that interacts with its environment and whose behavior depends on this interaction. The ability of temporal logics to describe an ongoing interaction of a reactive program with its environment makes them particularly appropriate for the specification of open systems. Nevertheless, model-checking algorithms used for the verification of closed systems are not appropriate for the verification of open systems. Correct model checking of open systems should check the system with respect to arbitrary environments and should take into account uncertainty regarding the environment. This is not the case with current model-checking algorithms and tools. In this paper we introduce and examine the problem of model checking of open systems (mod- ule checking, for short). We show that while module che...
Data-Flow Analysis of Program Fragments
"... Traditional interprocedural data-flow analysis is performed on whole programs; however, such whoZe-program analysis is not feasible for large or incomplete programs. We propose fragment data-flow analy-sis as an alternative approach which computes data-flow information for a specific program fragmen ..."
Abstract
-
Cited by 42 (9 self)
- Add to MetaCart
Traditional interprocedural data-flow analysis is performed on whole programs; however, such whoZe-program analysis is not feasible for large or incomplete programs. We propose fragment data-flow analy-sis as an alternative approach which computes data-flow information for a specific program fragment. The analysis is parameterized by the addi-tional information available about the rest of the program. We describe two frameworks for interprocedural flow-sensitive fragment analysis, the relationship between fragment analysis and whole-program analysis, and the requirements ensuring fragment analysis safety and feasibility. We propose an application of fragment analysis as a second analysis phase after an inexpensive flow-insensitive whole-program analysis, in order to obtain better information for important program fragments. We also describe the design of two fragment analyses derived from an already existing whole-program flow- and context-sensitive pointer alias analysis for C programs and present empirical evaluation of their cost and pre-cision. Our experiments show evidence of dramatically better precision obtainable at a practical cost.
The Common Fragment of CTL and LTL
- In IEEE Symposium on Foundations of Computer Science
, 2000
"... It is well-known that CTL and LTL have incomparable expressive power. In this paper, we give an inductive definition of those ACTL formulas that can be expressed in LTL. In addition, we obtain a procedure to decide whether an ACTL formula lies in LTL, and show that this problem is PSPACE complete. B ..."
Abstract
-
Cited by 34 (1 self)
- Add to MetaCart
It is well-known that CTL and LTL have incomparable expressive power. In this paper, we give an inductive definition of those ACTL formulas that can be expressed in LTL. In addition, we obtain a procedure to decide whether an ACTL formula lies in LTL, and show that this problem is PSPACE complete. By omitting path quantifiers, we get an inductive definition of the LTL formulas expressible in ACTL. We can show that the fragment defined by our logic represents exactly those LTL formulas the negation of which can be represented by a 1-weak Büchi automaton and that for this fragment, the representing automaton can be chosen to be of size linear in the size of the formula.
An automata-theoretic approach to reasoning about infinite-state systems
- LNCS
, 2000
"... Abstract. We develop an automata-theoretic framework for reasoning about infinitestate sequential systems. Our framework is based on the observation that states of such systems, which carry a finite but unbounded amount of information, can be viewed as nodes in an infinite tree, and transitions betw ..."
Abstract
-
Cited by 29 (4 self)
- Add to MetaCart
Abstract. We develop an automata-theoretic framework for reasoning about infinitestate sequential systems. Our framework is based on the observation that states of such systems, which carry a finite but unbounded amount of information, can be viewed as nodes in an infinite tree, and transitions between states can be simulated by finite-state automata. Checking that the system satisfies a temporal property can then be done by an alternating two-way tree automaton that navigates through the tree. As has been the case with finite-state systems, the automatatheoretic framework is quite versatile. We demonstrate it by solving several versions of the model-checking problem for §-calculus specifications and prefixrecognizable systems, and by solving the realizability and synthesis problems for §-calculus specifications with respect to prefix-recognizable environments. 1
A Fast Bisimulation Algorithm
- PROC. OF INT. CONFERENCE ON COMPUTER AIDED VERIFICATION (CAV’01), VOLUME 2102 OF LNCS
, 2000
"... In this paper we propose an efficient algorithmic solution to the problem of determining a Bisimulation Relation on a finite structure. ..."
Abstract
-
Cited by 24 (13 self)
- Add to MetaCart
In this paper we propose an efficient algorithmic solution to the problem of determining a Bisimulation Relation on a finite structure.
Module checking revisited
- In Proc. 9th CAV, LNCS 1254
, 1997
"... Abstract. When we verify the correctness of an open system with respect to a desired requirement, we should take into consideration the different environments with which the system may interact. Each environment induces a different behavior of the system, and we want all these behaviors to satisfy t ..."
Abstract
-
Cited by 22 (6 self)
- Add to MetaCart
Abstract. When we verify the correctness of an open system with respect to a desired requirement, we should take into consideration the different environments with which the system may interact. Each environment induces a different behavior of the system, and we want all these behaviors to satisfy the requirement. Module checking is an algorithmic method that checks, given an open system (modeled as a finite structure) and a desired requirement (specified by a temporal-logic formula), whether the open system satisfies the requirement with respect to all environments. In this paper we extend the module-checking method with respect to two orthogonal issues. Both issues concern the fact that often we are not interested in satisfaction of the requirement with respect to all environments, but only with respect to these that meet some restriction. We consider the case where the environment has incomplete information about the system; i.e., when the system has internal variables, which are not readable by its environment, and the case where some assumptions are known about environment; i.e., when the system is guaranteed to satisfy the requirement only when its environment satisfies certain assumptions. We study the complexities of the extended module-checking problems. In particular, we show that for universal temporal logics (e.g., LTL, ¥ CTL, and ¥ CTL ¦), module checking with incomplete information coincides with module checking, which by itself coincides with model checking. On the other hand, for non-universal temporal logics (e.g., CTL and CTL ¦), module checking with incomplete information is harder than module checking, which is by itself harder than model checking. 1
On the Complexity of Branching Modular Model Checking (Extended Abstract)
, 1995
"... In modular verification the specification of a module consists of two parts. One part describes the guaranteed behavior of the module. The other part describes the assumed behavior of the system in which the module is interacting. This is called the assume-guarantee paradigm. In this paper we consid ..."
Abstract
-
Cited by 18 (9 self)
- Add to MetaCart
In modular verification the specification of a module consists of two parts. One part describes the guaranteed behavior of the module. The other part describes the assumed behavior of the system in which the module is interacting. This is called the assume-guarantee paradigm. In this paper we consider assume-guarantee specifications in which the assumptions and the guarantees are specified by universal branching temporal formulas (i.e., all path quantifiers are universal). Verifying modules with respect to such specifications is called the branching modular model-checking problem. We consider both ACTL and ACTL*, the universal fragments of CTL and CTL*. We develop two fundamental techniques: building max...
An abstract account of composition
- Mathematical Foundations of Computer Science
, 1995
"... Abstract. We presentalogic of speci cations of reactive systems. The logic is independent of particular computational models, but it captures common patterns of reasoning with assumption-commitment speci cations. We use the logic for deriving proof rules for TLA and CTL speci cations. 1 Assumption-c ..."
Abstract
-
Cited by 16 (1 self)
- Add to MetaCart
Abstract. We presentalogic of speci cations of reactive systems. The logic is independent of particular computational models, but it captures common patterns of reasoning with assumption-commitment speci cations. We use the logic for deriving proof rules for TLA and CTL speci cations. 1 Assumption-commitment speci cations Modularityisacentral concern in the design of speci cation methods. In general terms, modularity is the ability to reduce reasoning about a complete system to reasoning about its components. These components are not expected to operate in fully arbitrary environments. In the context of the complete system, each component can assume that its environment is to some extent well behaved, for instance that it adheres to certain communication protocols. Therefore, it is common to specify each component by describing both the function required of the component and the properties assumed of its environment. In the realm of sequential programs, for example, the requirements are postconditions and the
Relating Linear and Branching Model Checking
- In IFIP Working Conference on Programming Concepts and Methods
, 1996
"... The difference in the complexity of branching and linear model checking has been viewed as an argument in favor of the branching paradigm. In particular, the computational advantage of CTL model checking over LTL model checking makes CTL a popular choice, leading to efficient model-checking tools fo ..."
Abstract
-
Cited by 16 (7 self)
- Add to MetaCart
The difference in the complexity of branching and linear model checking has been viewed as an argument in favor of the branching paradigm. In particular, the computational advantage of CTL model checking over LTL model checking makes CTL a popular choice, leading to efficient model-checking tools for this logic. Can we use these tools in order to verify linear properties? In this paper we relate branching and linear model checking. With each LTL formula /, we associate a CTL formula /A that is obtained from / by preceding each temporal operator by the universal path quantifier A. We first describe a number of attempts to utilize the tight syntactic relation between / and /A in order to use CTL model-checking tools in the process of checking the formula /. Neither attempt, however, suggests a method that is guaranteed to perform better than usual LTL model checkers. We then claim that, in practice, LTL model checkers perform nicely on formulas with equivalences of CTL. In fact, they oft...

