[PDF][PDF] Program analysis and specialization for the C programming language

LO Andersen - 1994 - Citeseer
Software engineers are faced with a dilemma. They want to write general and wellstructured
programs that are flexible and easy to maintain. On the other hand, generality has a price …

Heap abstractions for static analysis

V Kanvar, UP Khedker - ACM Computing Surveys (CSUR), 2016 - dl.acm.org
Heap data is potentially unbounded and seemingly arbitrary. Hence, unlike stack and static
data, heap data cannot be abstracted in terms of a fixed set of program variables. This …

Context-sensitive interprocedural points-to analysis in the presence of function pointers

M Emami, R Ghiya, LJ Hendren - ACM SIGPLAN Notices, 1994 - dl.acm.org
This paper reports on the design, implementation, and empirical results of a new method for
dealing with the aliasing problem in C. The method is based on approximating the points-to …

Heap data allocation to scratch-pad memory in embedded systems

A Dominguez, S Udayakumaran… - Journal of Embedded …, 2005 - content.iospress.com
This paper presents the first-ever compile-time method for allocating a portion of the heap
data to scratch-pad memory. A scratch-pad is a fast directly addressed compiler-managed …

High Coverage Detection of {Input-Related} Security Faults

E Larson, T Austin - 12th USENIX Security Symposium (USENIX Security …, 2003 - usenix.org
Improperly bounded program inputs present a major class of program defects. In secure
applications, these bugs can be exploited by malicious users, allowing them to overwrite …

Guarded Kleene algebra with tests: verification of uninterpreted programs in nearly linear time

S Smolka, N Foster, J Hsu, T Kappé, D Kozen… - Proceedings of the ACM …, 2019 - dl.acm.org
Guarded Kleene Algebra with Tests (GKAT) is a variation on Kleene Algebra with Tests
(KAT) that arises by restricting the union (+) and iteration (*) operations from KAT to …

Taming control flow: A structured approach to eliminating goto statements

AM Erosa, LJ Hendren - Proceedings of 1994 IEEE …, 1994 - ieeexplore.ieee.org
In designing optimizing and parallelizing compilers, it is often simpler and more efficient to
deal with programs that have structured control flow. Although most programmers naturally …

WCET-directed dynamic scratchpad memory allocation of data

JF Deverge, I Puaut - … on Real-Time Systems (ECRTS'07), 2007 - ieeexplore.ieee.org
Many embedded systems feature processors coupled with a small and fast scratchpad
memory. To the difference with caches, allocation of data to scratchpad memory must be …

Putting pointer analysis to work

R Ghiya, LJ Hendren - Proceedings of the 25th ACM SIGPLAN-SIGACT …, 1998 - dl.acm.org
This paper addresses the problem of how to apply pointer analysis to a wide variety of
compiler applications. We are not presenting a new pointer analysis. Rather, we focus on …

A general data dependence test for dynamic, pointer-based data structures

J Hummel, LJ Hendren, A Nicolau - Acm Sigplan Notices, 1994 - dl.acm.org
Optimizing compilers require accurate dependence testing to enable numerous,
performance-enhancing transformations. However, data dependence testing is a difficult …