Results 1  10
of
13
Monte Carlo Model Checking
 In Proc. of Tools and Algorithms for Construction and Analysis of Systems (TACAS 2005), volume 3440 of LNCS
, 2005
"... Abstract. We present MC 2, what we believe to be the first randomized, Monte Carlo algorithm for temporallogic model checking, the classical problem of deciding whether or not a property specified in temporal logic holds of a system specification. Given a specification S of a finitestate system, a ..."
Abstract

Cited by 45 (4 self)
 Add to MetaCart
(Show Context)
Abstract. We present MC 2, what we believe to be the first randomized, Monte Carlo algorithm for temporallogic model checking, the classical problem of deciding whether or not a property specified in temporal logic holds of a system specification. Given a specification S of a finitestate system, an LTL (Linear Temporal Logic) formula ϕ, and parameters ɛ and δ, MC 2 takes N = ln(δ) / ln(1 − ɛ) random samples (random walks ending in a cycle, i.e lassos) from the Büchi automaton B = BS × B¬ϕ to decide if L(B) = ∅. Should a sample reveal an accepting lasso l, MC 2 returns false with l as a witness. Otherwise, it returns true and reports that with probability less than δ, pZ < ɛ, where pZ is the expectation of an accepting lasso in B. It does so in time O(N · D) and space O(D), where D is B’s recurrence diameter, using a number of samples N that is optimal to within a constant factor. Our experimental results demonstrate that MC 2 is fast, memoryefficient, and scales very well.
Probabilistically accurate program transformations
 In SAS
, 2011
"... Abstract. The standard approach to program transformation involves the use of discrete logical reasoning to prove that the transformation does not change the observable semantics of the program. We propose a new approach that, in contrast, uses probabilistic reasoning to justify the application of t ..."
Abstract

Cited by 24 (12 self)
 Add to MetaCart
(Show Context)
Abstract. The standard approach to program transformation involves the use of discrete logical reasoning to prove that the transformation does not change the observable semantics of the program. We propose a new approach that, in contrast, uses probabilistic reasoning to justify the application of transformations that may change, within probabilistic accuracy bounds, the result that the program produces. Our new approach produces probabilistic guarantees of the form P(D  ≥ B) ≤ ɛ, ɛ ∈ (0, 1), where D is the difference between the results that the transformed and original programs produce, B is an acceptability bound on the absolute value of D, and ɛ is the maximum acceptable probability of observing large D. We show how to use our approach to justify the application of loop perforation (which transforms loops to execute fewer iterations) to a set of computational patterns. 1
A few graphbased relational numerical abstract domains
 Static Analysis: Proceedings of the 9th International Symposium
, 2002
"... Abstract. This article presents the systematic design of a class of relational numerical abstract domains from nonrelational ones. Constructed domains represent sets of invariants of the form (vj − vi ∈ C), where vj and vi are two variables, and C lives in an abstraction of P(Z), P(Q), or P(R). We ..."
Abstract

Cited by 22 (1 self)
 Add to MetaCart
(Show Context)
Abstract. This article presents the systematic design of a class of relational numerical abstract domains from nonrelational ones. Constructed domains represent sets of invariants of the form (vj − vi ∈ C), where vj and vi are two variables, and C lives in an abstraction of P(Z), P(Q), or P(R). We will call this family of domains weakly relational domains. The underlying concept allowing this construction is an extension of potential graphs and shortestpath closure algorithms in exoticlike algebras. Example constructions are given in order to retrieve wellknown domains Interpretation framework in order to design various static analyses. A major benefit of this construction is its modularity, allowing to quickly implement new abstract domains from existing ones. 1
An overview of semantics for the validation of numerical programs
, 2005
"... Abstract. In this article, we introduce a simple formal semantics for floatingpoint numbers with errors which is expressive enough to be formally compared to the other methods. Next, we define formal semantics for interval, stochastic, automatic differentiation and error series methods. This enable ..."
Abstract

Cited by 19 (9 self)
 Add to MetaCart
(Show Context)
Abstract. In this article, we introduce a simple formal semantics for floatingpoint numbers with errors which is expressive enough to be formally compared to the other methods. Next, we define formal semantics for interval, stochastic, automatic differentiation and error series methods. This enables us to formally compare the properties calculated in each semantics to our reference, simple semantics. Most of these methods having been developed to verify numerical intensive codes, we also discuss their adequacy to the formal validation of softwares and to static analysis. Finally, this study is completed by experimental results. 1
Open source model checking
 In Proceedings of the Workshop on Software Model Checking
, 2005
"... Abstract. We present GMC 2,asoftwaremodelcheckerforGCC, theopensource compiler from the Free Software Foundation (FSF). GMC 2,which is part of the GMC staticanalysis and modelchecking tool suite for GCC under development at SUNY Stony Brook, can be seen as an extension of Monte Carlo model checkin ..."
Abstract

Cited by 10 (4 self)
 Add to MetaCart
(Show Context)
Abstract. We present GMC 2,asoftwaremodelcheckerforGCC, theopensource compiler from the Free Software Foundation (FSF). GMC 2,which is part of the GMC staticanalysis and modelchecking tool suite for GCC under development at SUNY Stony Brook, can be seen as an extension of Monte Carlo model checking to the setting of concurrent, procedural programming languages. Monte Carlo model checking is a newly developed technique that utilizes the theory of geometric random variables, statistical hypothesis testing, and random sampling of lassos in Büchi automata to realize a onesided error, randomized algorithm for LTL model checking. To handle the function call/return mechanisms inherent in procedural languages such as C/C++, the version of Monte Carlo model checking implemented in GMC 2 is optimized for pushdownautomaton models. Our experimental results demonstrate that this approach yields an efficient and scalable software model checker for GCC. 1
Static Analyses of FloatingPoint Operations
 In SAS’01, volume 2126 of LNCS
, 2001
"... Computers manipulate approximations of real numbers, called floatingpoint numbers. The calculations they make are accurate enough for most applications. Unfortunately, in some (catastrophic) situations, the floatingpoint operations lose so much precision that they quickly become irrelevant. In thi ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
Computers manipulate approximations of real numbers, called floatingpoint numbers. The calculations they make are accurate enough for most applications. Unfortunately, in some (catastrophic) situations, the floatingpoint operations lose so much precision that they quickly become irrelevant. In this article, we review some of the problems one can encounter, focussing on the IEEE7541985 norm. We give a (sketch of a) semantics of its basic operations then abstract them (in the sense of abstract interpretation) to extract information about the possible loss of precision. The expected application is abstract debugging of software ranging from simple onboard systems (which use more and more ontheshelf microprocessors with floatingpoint units) to scientific codes. The abstract analysis is demonstrated on simple examples and compared with related work. 1
Static Analysis for Probabilistic Programs: Inferring Whole Program Properties from Finitely Many Paths.
"... We propose an approach for the static analysis of probabilistic programs that sense, manipulate, and control based on uncertain data. Examples include programs used in risk analysis, medical decision making and cyberphysical systems. Correctness properties of such programs take the form of queries ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
(Show Context)
We propose an approach for the static analysis of probabilistic programs that sense, manipulate, and control based on uncertain data. Examples include programs used in risk analysis, medical decision making and cyberphysical systems. Correctness properties of such programs take the form of queries that seek the probabilities of assertions over program variables. We present a static analysis approach that provides guaranteed interval bounds on the values (assertion probabilities) of such queries. First, we observe that for probabilistic programs, it is possible to conclude facts about the behavior of the entire program by choosing a finite, adequate set of its paths. We provide strategies for choosing such a set of paths and verifying its adequacy. The queries are evaluated over each path by a combination of symbolic execution and probabilistic volumebound computations. Each path yields interval bounds that can be summed up with a “coverage ” bound to yield an interval that encloses the probability of assertion for the program as a whole. We demonstrate promising results on a suite of benchmarks from many different sources including robotic manipulators and medical decision making programs.
An abstract analysis of the probabilistic termination of programs
 In Proc. of The 8th Internat. Static Analysis Symposium
, 2001
"... Abstract. It is often useful to introduce probabilistic behavior in programs, either because of the use of internal random generators (probabilistic algorithms), either because of some external devices (networks, physical sensors) with known statistics of behavior. Previous works on probabilistic ab ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
(Show Context)
Abstract. It is often useful to introduce probabilistic behavior in programs, either because of the use of internal random generators (probabilistic algorithms), either because of some external devices (networks, physical sensors) with known statistics of behavior. Previous works on probabilistic abstract interpretation have addressed safety properties, but somehow neglected probabilistic termination. In this paper, we propose a method to automatically prove the probabilistic termination of programs using exponential bounds on the tail of the distribution. We apply this method to an example and give some directions as to how to implement it. We also show that this method can also be applied to make unsound statistical methods on average running times sound. 1
Probabilistic Program Analysis for Software Component Reliability
, 2002
"... I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I understand that my thesis may be made electronically available to the public. Components are widely seen by software engineers as an im ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
(Show Context)
I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I understand that my thesis may be made electronically available to the public. Components are widely seen by software engineers as an important technology to address the “software crisis”. An important aspect of components in other areas of engineering is that system reliability can be estimated from the reliability of the components. We show how commonly proposed methods of reliability estimation and composition for software are inadequate because of differences between the models and the actual software systems, and we show where the assumptions from system reliability theory cause difficulty when applied to software. This thesis provides an approach to reliability that makes it possible, if not currently plausible, to compose component reliabilities so as to accurately and safely determine system reliability. Firstly, we extend previous work on input subdomains, or partitions, such that our
Backwards abstract interpretation of probabilistic programs
 IN EUROPEAN SYMPOSIUM ON PROGRAMMING LANGUAGES AND SYSTEMS (ESOP '01), NUMBER 2028 IN LECTURE NOTES IN COMPUTER SCIENCE
, 2001
"... ..."
(Show Context)