16 research outputs found
Efficient algorithms for alternating pushdown systems : application to certificate chain discovery with threshold subjects
Motivated by recent applications of pushdown systems to computer security problems, we present an efficient algorithm for the reachability problem of alternating pushdown systems. Although the algorithm is exponential, a careful analysis reveals that the exponent is usually small in typical applications. We show that the algorithm can be used to compute winning regions in pushdown games. In a second contribution, we observe that the algorithm runs in polynomial time for a certain subproblem, and show that the computation of certificate chains with threshold certificates in the SPKI/SDSI authorization framework can be reduced to this subproblem. We present a detailed complexity analysis of the algorithm and its application, and report on experimental results obtained with a prototype implementation
Exact Gap Computation for Code Coverage Metrics in ISO-C
Test generation and test data selection are difficult tasks for model based
testing. Tests for a program can be meld to a test suite. A lot of research is
done to quantify the quality and improve a test suite. Code coverage metrics
estimate the quality of a test suite. This quality is fine, if the code
coverage value is high or 100%. Unfortunately it might be impossible to achieve
100% code coverage because of dead code for example. There is a gap between the
feasible and theoretical maximal possible code coverage value. Our review of
the research indicates, none of current research is concerned with exact gap
computation. This paper presents a framework to compute such gaps exactly in an
ISO-C compatible semantic and similar languages. We describe an efficient
approximation of the gap in all the other cases. Thus, a tester can decide if
more tests might be able or necessary to achieve better coverage.Comment: In Proceedings MBT 2012, arXiv:1202.582
Sequentializing Parameterized Programs
We exhibit assertion-preserving (reachability preserving) transformations
from parameterized concurrent shared-memory programs, under a k-round
scheduling of processes, to sequential programs. The salient feature of the
sequential program is that it tracks the local variables of only one thread at
any point, and uses only O(k) copies of shared variables (it does not use extra
counters, not even one counter to keep track of the number of threads).
Sequentialization is achieved using the concept of a linear interface that
captures the effect an unbounded block of processes have on the shared state in
a k-round schedule. Our transformation utilizes linear interfaces to
sequentialize the program, and to ensure the sequential program explores only
reachable states and preserves local invariants.Comment: In Proceedings FIT 2012, arXiv:1207.348
Bisimulation Finiteness of Pushdown Systems Is Elementary
We show that in case a pushdown system is bisimulation equivalent to a finite
system, there is already a bisimulation equivalent finite system whose size is
elementarily bounded in the description size of the pushdown system. As a
consequence we obtain that it is elementarily decidable if a given pushdown
system is bisimulation equivalent to some finite system. This improves a
previously best-known ACKERMANN upper bound for this problem
Erreichbarkeit in Pushdown-Systemen: Algorithmen und Anwendungen
This thesis analyzes reachability in generalized pushdown models, alternating pushdown systems and pushdown networks. A pushdown network can be used for modeling multithreaded programs. The reachability algorithms have been optimized and implemented in a tool called jMoped. Several practical experiments with jMoped are reported. Alternating pushdown systems are shown to be suitable models for authorization systems and reputation systems, where reasoning in the systems boils down to solving reachability in the models.Diese Arbeit analysiert das Erreichbarkeitsproblem in verallgemeinerten Pushdown-Modellen, alternierenden Pushdown-Systemen und Pushdown-Netzwerken. Ein Pushdown-Netzwerk kann zur Modellierung nebenläufiger Programme verwendet werden. Die Algorithmen hierfür wurden optimiert und in einem Tool namens jMoped implementiert. Die Arbeit berichtet über praktische Experimente mit jMoped. Alternierende Pushdown-Systeme werden als Modell für Autorisierungs- und Reputations-Systeme vorgestellt, deren Fragestellungen sich auf Erreichbarkeitsprobleme in den Modellen reduzieren lassen
Computing minimum-height certificate trees in SPKI/SDSI
SPKI/SDSI is a framework that combines a simple public-key infrastructure and a simple distributed security infrastructure with a means of defining local name spaces. It allows principals, which can be a person or an organization, to locally create groups of principals and delegate rights to other principals or groups of principals by issuing certificates. To prove authorizations, principals need to search for necessary certificates that are, in general, in the form of certificate trees. This paper defines a framework based on SPKI/SDSI which allows principals to give weights to certificates. Weights can be used to address many authorization issues such as access control of limited resources. The paper shows a connection between SPKI/SDSI and the theory of pushdown systems, and presents an algorithm that solves the authorization problem by computing minimum-height certificate trees
jMoped: A Java bytecode checker based on Moped
Abstract. We present a tool for finding errors in Java programs that translates Java bytecodes into symbolic pushdown systems, which are then checked by the Moped tool [1].
