Network


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

Hotspot


Dive into the research topics where Domagoj Babić is active.

Publication


Featured researches published by Domagoj Babić.


international symposium on software testing and analysis | 2011

Statically-directed dynamic automated test generation

Domagoj Babić; Lorenzo Martignoni; Stephen McCamant; Dawn Song

We present a new technique for exploiting static analysis to guide dynamic automated test generation for binary programs, prioritizing the paths to be explored. Our technique is a three-stage process, which alternates dynamic and static analysis. In the first stage, we run dynamic analysis with a small number of seed tests to resolve indirect jumps in the binary code and build a visibly pushdown automaton (VPA) reflecting the global control-flow of the program. Further, we augment the computed VPA with statically computable jumps not executed by the seed tests. In the second stage, we apply static analysis to the inferred automaton to find potential vulnerabilities, i.e., targets for the dynamic analysis. In the third stage, we use the results of the prior phases to assign weights to VPA edges. Our symbolic-execution based automated test generation tool then uses the weighted shortest-path lengths in the VPA to direct its exploration to the target potential vulnerabilities. Preliminary experiments on a suite of benchmarks extracted from real applications show that static analysis allows exploration to reach vulnerabilities it otherwise would not, and the generated test inputs prove that the static warnings indicate true positives.


symposium on principles of programming languages | 2013

Sigma*: symbolic learning of input-output specifications

Matko Botincan; Domagoj Babić

We present Sigma*, a novel technique for learning symbolic models of software behavior. Sigma* addresses the challenge of synthesizing models of software by using symbolic conjectures and abstraction. By combining dynamic symbolic execution to discover symbolic input-output steps of the programs and counterexample guided abstraction refinement to over-approximate program behavior, Sigma* transforms arbitrary source representation of programs into faithful input-output models. We define a class of stream filters---programs that process streams of data items---for which Sigma* converges to a complete model if abstraction refinement eventually builds up a sufficiently strong abstraction. In other words, Sigma* is complete relative to abstraction. To represent inferred symbolic models, we use a variant of symbolic transducers that can be effectively composed and equivalence checked. Thus, Sigma* enables fully automatic analysis of behavioral properties such as commutativity, reversibility and idempotence, which is useful for web sanitizer verification and stream programs compiler optimizations, as we show experimentally. We also show how models inferred by Sigma* can boost performance of stream programs by parallelized code generation.


computer aided verification | 2011

Malware analysis with tree automata inference

Domagoj Babić; Daniel Reynaud; Dawn Song

The underground malware-based economy is flourishing and it is evident that the classical ad-hoc signature detection methods are becoming insufficient. Malware authors seem to share some source code and malware samples often feature similar behaviors, but such commonalities are difficult to detect with signature-based methods because of an increasing use of numerous freelyavailable randomized obfuscation tools. To address this problem, the security community is actively researching behavioral detection methods that commonly attempt to understand and differentiate how malware behaves, as opposed to just detecting syntactic patterns. We continue that line of research in this paper and explore how formal methods and tools of the verification trade could be used for malware detection and analysis. We propose a new approach to learning and generalizing from observed malware behaviors based on tree automata inference. In particular, we develop an algorithm for inferring k-testable tree automata from system call dataflow dependency graphs and discuss the use of inferred automata in malware recognition and classification.


formal methods | 2012

Recognizing malicious software behaviors with tree automata inference

Domagoj Babić; Daniel Reynaud; Dawn Song

We explore how formal methods and tools of the verification trade could be used for malware detection and analysis. In particular, we propose a new approach to learning and generalizing from observed malware behaviors based on tree automata inference. Our approach infers k-testable tree automata from system call dataflow dependency graphs. We show how inferred automata can be used for malware recognition and classification.


Formal Aspects of Computing | 2013

Proving termination of nonlinear command sequences

Domagoj Babić; Byron Cook; Alan J. Hu; Zvonimir Rakamarić

We describe a simple and efficient algorithm for proving the termination of a class of loops with nonlinear assignments to variables. The method is based on divergence testing for each variable in the cone-of-influence of the loop’s condition. The analysis allows us to automatically prove the termination of loops that cannot be handled using previous techniques. We also describe a method for integrating our nonlinear termination proving technique into a larger termination proving framework that depends on linear reasoning.


Joint IFIP WG 6.1 International Conference on Formal Techniques for Distributed Systems, FMOODS/FORTE 2013, Held as Part of the 8th International Federated Conference on Distributed Computing Techniques, DisCoTec 2013 | 2013

Asynchronously Communicating Visibly Pushdown Systems

Domagoj Babić; Zvonimir Rakamarić

We introduce an automata-based formal model suitable for specifying, modeling, analyzing, and verifying asynchronous task-based and message-passing programs. Our model consists of visibly pushdown automata communicating over unbounded reliable point-to-point first-in-first-out queues. Such a combination unifies two branches of research, one focused on task-based models, and the other on models of message-passing programs. Our model generalizes previously proposed models that have decidable reachability in several ways. Unlike task-based models of asynchronous programs, our model allows sending and receiving of messages even when stacks are not empty, without imposing restrictions on the number of context-switches or communication topology. Our model also generalizes the well-known communicating finite-state machines with recognizable channel property allowing (1) individual components to be visibly pushdown automata, which are more suitable for modeling (possibly recursive) programs, (2) the set of words (i.e., languages) of messages on queues to form a visibly pushdown language, which permits modeling of remote procedure calls and simple forms of counting, and (3) the relations formed by tuples of such languages to be synchronized, which permits modeling of complex interactions among processes. In spite of these generalizations, we prove that the composite configuration and control-state reachability are still decidable for our model.


usenix security symposium | 2011

MACE: model-inference-assisted concolic exploration for protocol and vulnerability discovery

Chia Yuan Cho; Domagoj Babić; Pongsin Poosankam; Kevin Zhijie Chen; Edward XueJun Wu; Dawn Song


information technology interfaces | 2002

Bytecode optimization

Domagoj Babić; Zvonimir Rakamarić


information technology interfaces | 2002

Java simulator of real-time scheduling algorithms

Goran Jakovljević; Zvonimir Rakamarić; Domagoj Babić


Archive | 2012

Guidebook for Postgraduate Studies Abroad

Domagoj Babić; Zvonimir Rakamarić; Josip Lorincz

Collaboration


Dive into the Domagoj Babić's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Dawn Song

University of California

View shared research outputs
Top Co-Authors

Avatar

Daniel Reynaud

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Byron Cook

University College London

View shared research outputs
Top Co-Authors

Avatar

Alan J. Hu

University of British Columbia

View shared research outputs
Top Co-Authors

Avatar

Chia Yuan Cho

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge