Results 1  10
of
187
Cloningbased contextsensitive pointer alias analysis using binary decision diagrams
 In Proceedings of the ACM SIGPLAN 2004 Conference on Programming Language Design and Implementation
, 2004
"... This paper presents the first scalable contextsensitive, inclusionbased pointer alias analysis for Java programs. Our approach to context sensitivity is to create a clone of a method for every context of interest, and run a contextinsensitive algorithm over the expanded call graph to get contexts ..."
Abstract

Cited by 254 (16 self)
 Add to MetaCart
(Show Context)
This paper presents the first scalable contextsensitive, inclusionbased pointer alias analysis for Java programs. Our approach to context sensitivity is to create a clone of a method for every context of interest, and run a contextinsensitive algorithm over the expanded call graph to get contextsensitive results. For precision, we generate a clone for every acyclic path through a program’s call graph, treating methods in a strongly connected component as a single node. Normally, this formulation is hopelessly intractable as a call graph often has 10 14 acyclic paths or more. We show that these exponential relations can be computed efficiently using binary decision diagrams (BDDs). Key to the scalability of the technique is a context numbering scheme that exposes the commonalities across contexts. We applied our algorithm to the most popular applications available on Sourceforge, and found that the largest programs, with hundreds of thousands of Java bytecodes, can be analyzed in under 20 minutes. This paper shows that pointer analysis, and many other queries and algorithms, can be described succinctly and declaratively using Datalog, a logic programming language. We have developed a system called bddbddb that automatically translates Datalog programs into highly efficient BDD implementations. We used this approach to develop a variety of contextsensitive algorithms including side effect analysis, type analysis, and escape analysis.
Probabilistic Symbolic Model Checking with PRISM: A Hybrid Approach
 International Journal on Software Tools for Technology Transfer (STTT
, 2002
"... In this paper we introduce PRISM, a probabilistic model checker, and describe the ecient symbolic techniques we have developed during its implementation. PRISM is a tool for analysing probabilistic systems. It supports three models: discretetime Markov chains, continuoustime Markov chains and ..."
Abstract

Cited by 157 (31 self)
 Add to MetaCart
(Show Context)
In this paper we introduce PRISM, a probabilistic model checker, and describe the ecient symbolic techniques we have developed during its implementation. PRISM is a tool for analysing probabilistic systems. It supports three models: discretetime Markov chains, continuoustime Markov chains and Markov decision processes. Analysis is performed through model checking speci cations in the probabilistic temporal logics PCTL and CSL. Motivated by the success of model checkers such as SMV, which use BDDs (binary decision diagrams), we have developed an implementation of PCTL and CSL model checking based on MTBDDs (multiterminal BDDs) and BDDs. Existing work in this direction has been hindered by the generally poor performance of MTBDDbased numerical computation, which is often substantially slower than explicit methods using sparse matrices. We present a novel hybrid technique which combines aspects of symbolic and explicit approaches to overcome these performance problems. For typical examples, we achieve orders of magnitude speedup compared to MTBDDs and are able to almost match the speed of sparse matrices whilst maintaining considerable space savings.
Wrappers For Performance Enhancement And Oblivious Decision Graphs
, 1995
"... In this doctoral dissertation, we study three basic problems in machine learning and two new hypothesis spaces with corresponding learning algorithms. The problems we investigate are: accuracy estimation, feature subset selection, and parameter tuning. The latter two problems are related and are stu ..."
Abstract

Cited by 111 (7 self)
 Add to MetaCart
In this doctoral dissertation, we study three basic problems in machine learning and two new hypothesis spaces with corresponding learning algorithms. The problems we investigate are: accuracy estimation, feature subset selection, and parameter tuning. The latter two problems are related and are studied under the wrapper approach. The hypothesis spaces we investigate are: decision tables with a default majority rule (DTMs) and oblivious readonce decision graphs (OODGs).
Efficient filtering in publishsubscribe systems using binary decision diagrams
 IN PROCEEDINGS OF THE 23TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING
, 2001
"... Implicit invocation or publishsubscribe has become an important architectural style for largescale system design and evolution. The publishsubscribe style facilitates developing largescale systems by composing separately developed components because the style permits loose coupling between vario ..."
Abstract

Cited by 68 (2 self)
 Add to MetaCart
(Show Context)
Implicit invocation or publishsubscribe has become an important architectural style for largescale system design and evolution. The publishsubscribe style facilitates developing largescale systems by composing separately developed components because the style permits loose coupling between various components. One of the major bottlenecks in using publishsubscribe systems for very large scale systems is the efficiency of filtering incoming messages, i.e., matching of published events with event subscriptions. This is a very challenging problem because in a realistic publishsubscribe system the number of subscriptions can be large. In this paper we present an approach for matching published events with subscriptions which scales to a large number of subscriptions. Our approach uses Binary Decision Diagrams, a compact data structure for representing boolean functions which has been successfully used in verification techniques such as model checking. Experimental results clearly demonstrate the efficiency of our approach.
Implementation of Symbolic Model Checking for Probabilistic Systems
, 2002
"... In this thesis, we present ecient implementation techniques for probabilistic model checking, a method which can be used to analyse probabilistic systems such as randomised distributed algorithms, faulttolerant processes and communication networks. A probabilistic model checker inputs a probabilist ..."
Abstract

Cited by 62 (22 self)
 Add to MetaCart
In this thesis, we present ecient implementation techniques for probabilistic model checking, a method which can be used to analyse probabilistic systems such as randomised distributed algorithms, faulttolerant processes and communication networks. A probabilistic model checker inputs a probabilistic model and a speci cation, such as \the message will be delivered with probability 1", \the probability of shutdown occurring is at most 0.02" or \the probability of a leader being elected within 5 rounds is at least 0.98", and can automatically verify if the speci cation is true in the model.
Multi Terminal Binary Decision Diagrams to Represent and Analyse Continuous Time Markov Chains
, 1999
"... Binary Decision Diagrams (BDDs) have gained high attention in the context of design and verification of digital circuits. They have successfully been employed to encode very large state spaces in an efficient, symbolic way. Multi terminal BDDs (MTBDDs) are generalisations of BDDs from Boolean va ..."
Abstract

Cited by 58 (11 self)
 Add to MetaCart
Binary Decision Diagrams (BDDs) have gained high attention in the context of design and verification of digital circuits. They have successfully been employed to encode very large state spaces in an efficient, symbolic way. Multi terminal BDDs (MTBDDs) are generalisations of BDDs from Boolean values to values of any finite domain. In this paper, we investigate the applicability of MTBDDs to the symbolic representation of continuous time Markov chains, derived from highlevel formalisms, such as queueing networks or process algebras. Based on this data structure, we discuss iterative solution algorithms to compute the steadystate probability vector that work in a completely symbolic way. We highlight a number of lessons learned, using a set of small examples.
A unified approach to routing, covering and merging in publish/subscribe systems based on modified binary decision diagrams
 ICDCS 2005. Proceedings. 25th IEEE International Conference on
, 2005
"... The challenge faced by contentbased publish/subscribe systems is the ability to handle a vast amount of dynamic information with limited system resources. In current p/s systems, each subscription is processed in isolation. Neither relationships among individual subscriptions are exploited, nor his ..."
Abstract

Cited by 53 (28 self)
 Add to MetaCart
(Show Context)
The challenge faced by contentbased publish/subscribe systems is the ability to handle a vast amount of dynamic information with limited system resources. In current p/s systems, each subscription is processed in isolation. Neither relationships among individual subscriptions are exploited, nor historic information about subscriptions and publications is taken into account. We believe that this neglect limits overall system efficiency. In this paper, we represent subscriptions using modified binary decision diagrams (MBDs), and design an index data structure to maintain distinct predicates and manage associated Boolean variables. Our MBDbased approach can address, in a unified way, publication routing and subscription/advertisement covering and merging. We propose a novel covering algorithm based on MBDs. The algorithm can take historic information about subscription and publication populations into account and exploits relations between subscriptions. We explore merging, especially imperfect merging, and discuss an advertisementbased optimization applicable to subscription merging. 1.
Efficient Relational Calculation for Software Analysis
 IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
, 2005
"... Calculating with graphs and relations has many applications in the analysis of software systems, for example, the detection of design patterns or patterns of problematic design and the computation of design metrics. These applications require an expressive query language, in particular, for the dete ..."
Abstract

Cited by 52 (1 self)
 Add to MetaCart
(Show Context)
Calculating with graphs and relations has many applications in the analysis of software systems, for example, the detection of design patterns or patterns of problematic design and the computation of design metrics. These applications require an expressive query language, in particular, for the detection of graph patterns, and an efficient evaluation of the queries even for large graphs. In this paper, we introduce RML, a simple language for querying and manipulating relations based on predicate calculus, and CrocoPat, an interpreter for RML programs. RML is general because it enables the manipulation not only of graphs (i.e., binary relations), but of relations of arbitrary arity. CrocoPat executes RML programs efficiently because it internally represents relations as binary decision diagrams, a data structure that is wellknown as a compact representation of large relations in computeraided verification. We evaluate RML by giving example programs for several software analyses and CrocoPat by comparing its performance with calculators for binary relations, a Prolog system, and a relational database management system.
Know Why Your Access Was Denied: Regulating Feedback For Usable Security
 In CCS ’04: Proceedings of the 11th ACM conference on Computer and communications security
, 2004
"... We examine the problem of providing useful feedback to users who are denied access to resources, while controlling the disclosure of the system security policies. Highquality feedback enhances the usability of a system, especially when permissions may depend on contextual informationtime of day, ..."
Abstract

Cited by 35 (2 self)
 Add to MetaCart
(Show Context)
We examine the problem of providing useful feedback to users who are denied access to resources, while controlling the disclosure of the system security policies. Highquality feedback enhances the usability of a system, especially when permissions may depend on contextual informationtime of day, temperature of a room and other factors that change unpredictably. However, providing too much information to the user may breach the confidentiality of the system policies.
Fast Exact Minimization of BDDs
 In Design Automation Conf
, 1998
"... We present a new exact algorithm for #nding the optimal variable ordering for reduced ordered Binary Decision Diagrams #BDDs#. The algorithm makes use of a lower bound technique known from VLSI design. Up to now this technique has been used only for theoretical considerations and it is adapted here ..."
Abstract

Cited by 30 (9 self)
 Add to MetaCart
(Show Context)
We present a new exact algorithm for #nding the optimal variable ordering for reduced ordered Binary Decision Diagrams #BDDs#. The algorithm makes use of a lower bound technique known from VLSI design. Up to now this technique has been used only for theoretical considerations and it is adapted here for our purpose. Furthermore, the algorithm supports symmetry aspects and makes use of a hashing based data structure. Experimental results are given to demonstrate the e#ciency of our approach. We succeeded in minimizing adder functions with up to 64 variables, while all other previously presented approaches fail. 1 Introduction Recently, several design methods have been proposed that are based on ordered Binary Decision Diagrams #BDDs# #7#. The resulting circuits have very nice properties, like e.g. testability #2, 1# and lowpower #17#. For synthesis approaches based on Pass Transistor Logic #PTL# BDDs seem to be a good starting point. First promising results on how to transform a decisi...