Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where William Klieber is active.

Publication


Featured researches published by William Klieber.


state of the art in java program analysis | 2014

Android taint flow analysis for app sets

William Klieber; Lori Flynn; Amar Bhosale; Limin Jia; Lujo Bauer

One approach to defending against malicious Android applications has been to analyze them to detect potential information leaks. This paper describes a new static taint analysis for Android that combines and augments the FlowDroid and Epicc analyses to precisely track both inter-component and intra-component data flow in a set of Android applications. The analysis takes place in two phases: given a set of applications, we first determine the data flows enabled individually by each application, and the conditions under which these are possible; we then build on these results to enumerate the potentially dangerous data flows enabled by the set of applications as a whole. This paper describes our analysis method, implementation, and experimental results.


LASER Summer School on Software Engineering | 2011

Model Checking and the State Explosion Problem

Edmund M. Clarke; William Klieber; Milos Novacek; Paolo Zuliani

Model checking is an automatic verification technique for hardware and software systems that are finite state or have finite state abstractions. It has been used successfully to verify computer hardware, and it is beginning to be used to verify computer software as well. As the number of state variables in the system increases, the size of the system state space grows exponentially. This is called the “state explosion problem”. Much of the research in model checking over the past 30 years has involved developing techniques for dealing with this problem. In these lecture notes, we will explain how the basic model checking algorithms work and describe some recent approaches to the state explosion problem, with an emphasis on Bounded Model Checking.


theory and applications of satisfiability testing | 2010

A non-prenex, non-clausal QBF solver with game-state learning

William Klieber; Samir Sapra; Sicun Gao; Edmund M. Clarke

We describe a DPLL-based solver for the problem of quantified boolean formulas (QBF) in non-prenex, non-CNF form. We make two contributions. First, we reformulate clause/cube learning, extending it to non-prenex instances. We call the resulting technique game-state learning. Second, we introduce a propagation technique using ghost literals that exploits the structure of a non-CNF instance in a manner that is symmetric between the universal and existential variables. Experimental results on the QBFLIB benchmarks indicate our approach outperforms other state-of-the-art solvers on certain benchmark families, including the tipfixpoint and tipdiam families of model checking problems.


Artificial Intelligence | 2016

Solving QBF with counterexample guided refinement

Mikoláš Janota; William Klieber; Joao Marques-Silva; Edmund M. Clarke

Abstract This article puts forward the application of Counterexample Guided Abstraction Refinement (CEGAR) in solving the well-known PSPACE-complete problem of quantified Boolean formulas (QBF). The article studies the application of CEGAR in two scenarios. In the first scenario, CEGAR is used to expand quantifiers of the formula and subsequently a satisfiability (SAT) solver is applied. First it is shown how to do that for two levels of quantification and then it is generalized for arbitrary number of levels by recursion. It is also shown that these ideas can be generalized to non-prenex and non-CNF QBF solvers. In the second scenario, CEGAR is employed as an additional learning technique in an existing DPLL-based QBF solver. Experimental evaluation of the implemented prototypes shows that the CEGAR-driven solver outperforms existing solvers on a number of benchmark families and that the DPLL solver benefits from the additional type of learning.


high performance embedded architectures and compilers | 2016

An Architecture-Centric Process for MILS Development

Julien Delange; Min-Young Nam; Peter H. Feiler; William Klieber

Safety-critical embedded systems are now software-reliant and evolving at an incredible pace. With the emerging Internet of Things (IoT) ecosystem, these systems are now interconnected to several networks and exposed to potential attackers. This increases the potential surface of attack and, ultimately, the likelihood of a successful attack that would penetrate the system. Until recently, many security efforts were focused on code analysis, but studies have shown that security is also a matter of good software architecture design and practices. For example, MILS requires isolating security domains in partitions using appropriate security components. However, because embedded systems are evolving quickly, new design methods are now required to overcome the challenges of developing them. In this paper, we introduce a research agenda for a new architecturecentric development approach for MILS systems. This would leverage architecture models and augment them with security information in order to perform the different activities of the development process, including security policy validation, implementation, and testing. Using the same model throughout development improves the consistency of the development process by avoiding any translation between different—and potentially inconsistent—representations. In addition, automating the generation of implementation and tests avoids the traditional mistakes of manual code production, such as bugs and developers’ assumptions about ambiguous requirements.


2016 IEEE Cybersecurity Development (SecDev) | 2016

Automated Code Repair Based on Inferred Specifications

William Klieber; Will Snavely

Techniques for automated code repair have the potential for greatly aiding in the development of secure and correct code. There are currently a few major difficulties confronting the development and deployment of tools for automated repair, we examine these and briefly explore possible solutions. To give a flavor of what automated repair might look like, we discuss in detail three types of proposed automated repair: (1) repairing inequality comparisons involving integer overflow to behave the same as if unlimited-bitwidth integers were used, (2) inserting memory bounds checks where needed, using dynamic analysis to infer tightest correct bounds, (3) inserting missing authorization checks in a client-server application based on an inferred access control policy.


Journal on Satisfiability, Boolean Modeling and Computation | 2016

The QBFGallery 2014: The QBF Competition at the FLoC Olympic Games

Mikoláš Janota; Charles Jordan; William Klieber; Florian Lonsing; Martina Seidl; Allen Van Gelder


principles and practice of constraint programming | 2013

Solving QBF with Free Variables

William Klieber; Mikoláš Janota; Joao Marques-Silva; Edmund M. Clarke


national conference on artificial intelligence | 2016

Non-CNF QBF Solving with QCIR

Charles Jordan; William Klieber; Martina Seidl


Archive | 2015

Making DidFail Succeed: Enhancing the CERT Static Taint Analyzer for Android App Sets

Jonathan Burket; Lori Flynn; William Klieber; Jonathan Lim; Wei Shen; William Snavely

Collaboration


Dive into the William Klieber's collaboration.

Top Co-Authors

Avatar

Edmund M. Clarke

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar

Lori Flynn

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Martina Seidl

Johannes Kepler University of Linz

View shared research outputs
Top Co-Authors

Avatar

Limin Jia

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar

Lujo Bauer

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Florian Lonsing

Johannes Kepler University of Linz

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge