共查询到20条相似文献,搜索用时 2 毫秒
1.
Klaus Havelund Willem Visser 《International Journal on Software Tools for Technology Transfer (STTT)》2002,4(1):8-20
This paper introduces a special section of the STTT journal containing a selection of papers that were presented at the 7th
international SPIN workshop, Stanford, 30 August – 1 September 2000. The workshop was named SPIN Model Checking and Software
Verification, with an emphasis on model checking of programs. The paper outlines the motivation for stressing software verification,
rather than only design and model verification, by presenting the work done in the Automated Software Engineering group at
NASA Ames Research Center within the last 5 years. This includes work in software model checking, testing like technologies
and static analysis.
Published online: 2 October 2002 相似文献
2.
3.
Local model checking and protocol analysis 总被引:1,自引:1,他引:1
Xiaoqun Du Scott A. Smolka Rance Cleaveland 《International Journal on Software Tools for Technology Transfer (STTT)》1999,2(3):219-241
This paper describes a local model-checking algorithm for the alternation-free fragment of the modal mu-calculus that has
been implemented in the Concurrency Factory and discusses its application to the analysis of a real-time communications protocol.
The protocol considered is RETHER, a software-based, real-time Ethernet protocol developed at SUNY at Stony Brook. Its purpose is to provide guaranteed bandwidth
and deterministic, periodic network access to multimedia applications over commodity Ethernet hardware. Our model-checking
results show that (for a particular network configuration) RETHER makes good on its bandwidth guarantees to real-time nodes without exposing non-real-time nodes to the possibility of starvation.
Our data also indicate that, in many cases, the state-exploration overhead of the local model checker is significantly smaller
than the total amount that would result from a global analysis of the protocol. In the course of specifying and verifying
RETHER, we also identified an alternative design of the protocol that warranted further study due to its potentially smaller run-time
overhead in servicing requests for data transmission. Again, using local model checking, we showed that this alternative design
also possesses the properties of interest. This observation points out one of the often-overlooked benefits of formal verification:
by forcing designers to understand their designs rigorously and abstractly, these techniques often enable the designers to
uncover interesting design alternatives. 相似文献
4.
Orna Kupferman Moshe Y. Vardi 《International Journal on Software Tools for Technology Transfer (STTT)》2003,4(2):224-233
One of the advantages of temporal-logic model-checking tools is their ability to accompany a negative answer to the correctness
query by a counterexample to the satisfaction of the specification in the system. On the other hand, when the answer to the
correctness query is positive, most model-checking tools provide no witness for the satisfaction of the specification. In
the last few years there has been growing awareness as to the importance of suspecting the system or the specification of
containing an error also in the case model checking succeeds. The main justification of such suspects are possible errors
in the modeling of the system or of the specification. Many such errors can be detected by further automatic reasoning about
the system and the environment. In particular, Beer et al. described a method for the detection of vacuous satisfaction of
temporal logic specifications and the generation of interesting witnesses for the satisfaction of specifications. For example,
verifying a system with respect to the specification ϕ=AG(reqAFgrant) (“every request is eventually followed by a grant”), we say that ϕ is satisfied vacuously in systems in which requests are
never sent. An interesting witness for the satisfaction of ϕ is then a computation that satisfies ϕ and contains a request.
Beer et al. considered only specifications of a limited fragment of ACTL, and with a restricted interpretation of vacuity.
In this paper we present a general method for detection of vacuity and generation of interesting witnesses for specifications
in CTL*. Our definition of vacuity is stronger, in the sense that we check whether all the subformulas of the specification affect
its truth value in the system. In addition, we study the advantages and disadvantages of alternative definitions of vacuity,
study the problem of generating linear witnesses and counterexamples for branching temporal logic specifications, and analyze
the complexity of the problem.
Published online: 22 January 2002 相似文献
5.
Constraint-based deductive model checking 总被引:2,自引:0,他引:2
Giorgio Delzanno Andreas Podelski 《International Journal on Software Tools for Technology Transfer (STTT)》2001,3(3):250-270
We show that constraint logic programming (CLP) can serve as a conceptual basis and as a practical implementation platform
for the model checking of infinite-state systems. CLP programs are logical formulas (built up from constraints) that have
both a logical interpretation and an operational semantics. Our contributions are: (1) a translation of concurrent systems
(imperative programs) into CLP programs with the same operational semantics; and (2) a deductive method for verifying safety
and liveness properties of the systems which is based on the logical interpretation of the CLP programs produced by the translation.
We have implemented the method in a CLP system and verified well-known examples of infinite-state programs over integers,
using linear constraints here as opposed to Presburger arithmetic as in previous solutions.
Published online: 18 July 2001 相似文献
6.
Model checking JAVA programs using JAVA PathFinder 总被引:5,自引:0,他引:5
Klaus Havelund Thomas Pressburger 《International Journal on Software Tools for Technology Transfer (STTT)》2000,2(4):366-381
This paper describes a translator called Java PathFinder (Jpf), which translates from Java to Promela, the modeling language
of the Spin model checker. Jpf translates a given Java program into a Promela model, which then can be model checked using
Spin. The Java program may contain assertions, which are translated into similar assertions in the Promela model. The Spin
model checker will then look for deadlocks and violations of any stated assertions. Jpf generates a Promela model with the
same state space characteristics as the Java program. Hence, the Java program must have a finite and tractable state space.
This work should be seen in a broader attempt to make formal methods applicable within NASA’s areas such as space, aviation,
and robotics. The work is a continuation of an effort to formally analyze, using Spin, a multi-threaded operating system for
the Deep-Space 1 space craft, and of previous work in applying existing model checkers and theorem provers to real applications. 相似文献
7.
Henrik Reif Andersen Jorn Lind-Nielsen 《International Journal on Software Tools for Technology Transfer (STTT)》1999,2(3):242-259
Partial model checking is a technique for verifying concurrent systems. It gradually reduces the verification problem to the
final answer by removing concurrent components one-by-one, transforming and minimizing the specifications as it proceeds.
This paper gives a survey of the theory behind partial model checking and the results obtained with it. 相似文献
8.
Moataz Kamel Stefan Leue 《International Journal on Software Tools for Technology Transfer (STTT)》2000,2(4):394-409
The General Inter-Orb Protocol (GIOP) is a key component of the Common Object Request Broker Architecture (CORBA) specification.
We present the formal modeling and validation of the GIOP protocol using the Promela language, Linear Time Temporal Logic
(LTL) and the Spin model checker. We validate the Promela model using ten high-level requirements which we elicit from the
informal CORBA specification. These requirements are then formalized in LTL and the Spin model checker is used to determine
their validity. During the validation process we discovered a few problems in GIOP: a potential transport-layer interface
deadlock and problems with the server migration protocol. We also describe how property specification patterns helped us in
formalizing the high-level requirements that we have elicited. 相似文献
9.
Cindy Eisner 《International Journal on Software Tools for Technology Transfer (STTT)》2002,4(1):107-124
We examine the application of symbolic CTL model checking to railway interlocking software. We show that the railway interlocking
systems examined exhibit the characteristics of robustness and locality, and that these characteristics allow optimizations
to the model checking algorithms not possible in the general case. In order to gain a better understanding of robustness and
locality, we examine in detail a small railway interlocking.
Published online: 9 October 2001 相似文献
10.
Hong Peng Sofiène Tahar Ferhat Khendek 《International Journal on Software Tools for Technology Transfer (STTT)》2003,4(2):234-245
In this paper, we compare and contrast SPIN and VIS, two widely used formal verification tools. In particular, we devote special
attention to the efficiency of these tools for the verification of communications protocols that can be implemented either
in software or hardware. As a basis of our comparison, we formally describe and verify the Asynchronous Transfer Mode Ring
(ATMR) medium access protocol using SPIN and its hardware model using VIS. We believe that this study is of particular interest
as more and more protocols, like ATM protocols, are implemented in hardware to match high-speed requirements.
Published online: 1 March 2002 相似文献
11.
Carl Pixley Vigyan Singhal 《International Journal on Software Tools for Technology Transfer (STTT)》1999,2(3):288-306
Current practices in the verification of commercial hardware designs (digital, synchronous, and sequential semiconductors)
are described. Recent advances in verification by the mathematical technique called model checking are described, and requirements
for the successful application of model checking in commercial design are discussed. 相似文献
12.
Cormac Flanagan 《Science of Computer Programming》2004,50(1-3):253-270
This paper proposes the use of constraint logic to perform model checking of imperative, infinite-state programs. We present a semantics-preserving translation from an imperative language with recursive procedures and heap-allocated mutable data structures into constraint logic. The constraint logic formulation provides a clean way to reason about the behavior and correctness of the original program. In addition, it enables the use of existing constraint logic implementations to perform bounded software model checking, using a combination of symbolic reasoning and explicit path exploration. 相似文献
13.
Per Bjesse 《Formal Methods in System Design》2009,35(1):56-72
In this paper we present a word-level model checking method that attempts to speed up safety property checking of industrial
netlists. Our aim is to construct an algorithm that allows us to check both bounded and unbounded properties using standard
bit-level model checking methods as back-end decision procedures, while incurring minimum runtime penalties for designs that
are unsuited to our analysis. We do this by combining modifications of several previously known techniques into a static abstraction
algorithm which is guaranteed to produce bit-level netlists that are as small or smaller than the original bitblasted designs.
We evaluate our algorithm on several challenging hardware components. 相似文献
14.
David P.L. Simons Mariëlle I.A. Stoelinga 《International Journal on Software Tools for Technology Transfer (STTT)》2001,3(4):469-485
This paper reports on the mechanical verification of the IEEE 1394 root contention protocol. This is an industrial leader
election protocol, in which timing parameters play an essential role. A manual verification of this protocol using I/O automata
has been published in [24]. We improve the communication model presented in that paper. Using the Uppaal2k tool, we investigate
the timing constraints on the parameters which are necessary and sufficient for correct protocol operation: by analyzing large
numbers of protocol instances with different parameter values, we derive the required timing constraints. We explore the use
of model checking in combination with stepwise abstraction. That is, we show that the implementation automaton correctly implements
the specification via several intermediate automata, using Uppaal to prove the trace inclusion in each step.
Published online: 18 July 2001 相似文献
15.
Thomas Ball Andreas Podelski Sriram K. Rajamani 《International Journal on Software Tools for Technology Transfer (STTT)》2003,5(1):49-58
We show how to attack the problem of model checking a C program with recursive procedures using an abstraction that we formally define as the composition of the Boolean and the Cartesian abstractions. It is implemented through a source-to-source transformation into a Boolean C program; we give an algorithm to compute the transformation with a cost that is exponential in its theoretical worst-case complexity but feasible in practice. 相似文献
16.
Fady Copty Amitai Irron Osnat Weissberg Nathan Kropp Gila Kamhi 《International Journal on Software Tools for Technology Transfer (STTT)》2003,4(3):335-348
In this paper, we emphasize the importance of efficient debugging in formal verification and present capabilities that we
have developed in order to aid debugging in Intel’s Formal Verification Environment. We have given the name “Counter-Example
Wizard” to the bundle of capabilities that we have developed to address the needs of the verification engineer in the context
of counter-example diagnosis and rectification. The novel features of the Counter-Example Wizard are the multi-value counter-example annotation, constraint-based debugging, and multiple counter-example generation mechanisms. Our experience with the verification of real-life Intel designs shows that these capabilities complement one
another and can help the verification engineer diagnose and fix a reported failure. We use real-life verification cases to
illustrate how our system solution can significantly reduce the time spent in the loop of model checking, specification, and
design modification.
Published online: 21 February 2003 相似文献
17.
Jeffrey A. Fayman Oded Sudarsky Ehud Rivlin Michael Rudzsky 《Machine Vision and Applications》2001,13(1):25-37
We present a new active vision technique called zoom tracking. Zoom tracking is the continuous adjustment of a camera's focal
length in order to keep a constant-sized image of an object moving along the camera's optical axis. Two methods for performing
zoom tracking are presented: a closed-loop visual feedback algorithm based on optical flow, and use of depth information obtained
from an autofocus camera's range sensor. We explore two uses of zoom tracking: recovery of depth information and improving
the performance of scale-variant algorithms. We show that the image stability provided by zoom tracking improves the performance
of algorithms that are scale variant, such as correlation-based trackers. While zoom tracking cannot totally compensate for
an object's motion, due to the effect of perspective distortion, an analysis of this distortion provides a quantitative estimate
of the performance of zoom tracking. Zoom tracking can be used to reconstruct a depth map of the tracked object. We show that
under normal circumstances this reconstruction is much more accurate than depth from zooming, and works over a greater range
than depth from axial motion while providing, in the worst case, only slightly less accurate results. Finally, we show how
zoom tracking can also be used in time-to-contact calculations.
Received: 15 February 2000 / Accepted: 19 June 2000 相似文献
18.
Automatically Detecting and Visualising Errors in UML Diagrams 总被引:1,自引:0,他引:1
Laura A. Campbell Betty H. C. Cheng William E. McUmber R. E. K. Stirewalt 《Requirements Engineering》2002,7(4):264-287
UML has become the de facto standard for object-oriented modelling. Currently, UML comprises several different notations with no formal semantics attached
to the individual diagrams or their integration, thus preventing rigorous analysis of the diagrams. Previously, we developed
a formalisation framework that attaches formal semantics to a subset of UML diagrams used to model embedded systems. This
paper describes automated structural and behavioural analyses applicable to UML diagrams using our formalisation framework.
In addition to intra- and inter-diagram consistency checks, we discuss how simulation and model checking can be used in tandem
for behavioural analysis of the UML diagrams. Our tools also visually interpret the analysis results in terms of the original
UML diagrams, thereby facilitating their correction and refinement. We illustrate these capabilities through the modelling
and analysis of UML diagrams for an automotive industrial case study.
Correspondence and offprint requests to: Dr B. Cheng, Software Engineering and Network Systems Laboratory, Department of Computer Science and Engineering, Michigan
State University, 3115 Engineering Building, East Lansing, MI 48824, USA. Tel.: +1 517 355 8344; Fax: +1 517 432 1061; Email:
chengb@cse.msu.edu 相似文献
19.
In this paper we define a requirements-level execution semantics for object-oriented statecharts and show how properties of
a system specified by these statecharts can be model checked using tool support for model checkers. Our execution semantics
is requirements-level because it uses the perfect technology assumption, which abstracts from limitations imposed by an implementation.
Statecharts describe object life cycles. Our semantics includes synchronous and asynchronous communication between objects
and creation and deletion of objects. Our tool support presents a graphical front-end to model checkers, making these tools
usable to people who are not specialists in model checking. The model-checking approach presented in this paper is embedded
in an informal but precise method for software requirements and design. We discuss some of our experiences with model checking.
Correspondence and offprint requests to: Rik Eshuis, Department of Computer Science, University of Twente, PO Box 217, 7500 AE Enschede, The Netherlands. Email: eshuis@cs.utwente.nl 相似文献