Source code analysis: A road map

D Binkley - Future of Software Engineering (FOSE'07), 2007 - ieeexplore.ieee.org
The automated and semi-automated analysis of source code has remained a topic of
intense research for more than thirty years. During this period, algorithms and techniques for …

Binary-code obfuscations in prevalent packer tools

KA Roundy, BP Miller - ACM Computing Surveys (CSUR), 2013 - dl.acm.org
The first steps in analyzing defensive malware are understanding what obfuscations are
present in real-world malware binaries, how these obfuscations hinder analysis, and how …

Binary Obfuscation Using Signals.

IV Popov, SK Debray, GR Andrews - USENIX Security Symposium, 2007 - usenix.org
Reverse engineering of software is the process of recovering higher-level structure and
meaning from a lower-level program representation. It can be used for legitimate purposes …

Contextual analysis of program logs for understanding system behaviors

Q Fu, JG Lou, Q Lin, R Ding, D Zhang… - 2013 10th Working …, 2013 - ieeexplore.ieee.org
Understanding the behaviors of a software system is very important for performing daily
system maintenance tasks. In practice, one way to gain knowledge about the runtime …

Protecting Against Unexpected System Calls.

C Linn, M Rajagopalan, S Baker, CS Collberg… - Usenix Security …, 2005 - usenix.org
This paper proposes a comprehensive set of techniques which limit the scope of remote
code injection attacks. These techniques prevent any injected code from making system …

New results on the computability and complexity of points--to analysis

VT Chakaravarthy - ACM SIGPLAN Notices, 2003 - dl.acm.org
Given a program and two variables p and q, the goal of points-to analysis is to check if p can
point to q in some execution of the program. This well-studied problem plays a crucial role in …

Deriving specialized program analyses for certifying component-client conformance

G Ramalingam, A Warshavsky, J Field, D Goyal… - ACM SIGPLAN …, 2002 - dl.acm.org
We are concerned with the problem of statically certifying (verifying) whether the client of a
software component conforms to the component's constraints for correct usage. We show …

A collaborative dependence analysis framework

NP Johnson, J Fix, SR Beard, T Oh… - 2017 IEEE/ACM …, 2017 - ieeexplore.ieee.org
Compiler optimizations discover facts about program behavior by querying static analysis.
However, developing or extending precise analysis is difficult. Some prior works implement …

Typestate verification: Abstraction techniques and complexity results

J Field, D Goyal, G Ramalingam, E Yahav - … SAS 2003 San Diego, CA, USA …, 2003 - Springer
We consider the problem of typestate verification for shallow programs; ie, programs where
pointers from program variables to heap-allocated objects are allowed, but where heap …

Fast condensation of the program dependence graph

NP Johnson, T Oh, A Zaks, DI August - Proceedings of the 34th ACM …, 2013 - dl.acm.org
Aggressive compiler optimizations are formulated around the Program Dependence Graph
(PDG). Many techniques, including loop fission and parallelization are concerned primarily …