Program slicing is a potentially useful analysis for aiding program understanding. However, slices of even small programs are often too large to be generally useful. Imprecise poi...
Markus Mock, Darren C. Atkinson, Craig Chambers, S...
This paper considers the complexity of interprocedural function pointer may-alias analysis, i.e., determining the set of functions that a function pointer (in a language such as C...
In this article, I present an “event approach” used to formally develop sequential programs. It is based on the formalism of Action Systems [6] (and Guarded Commands[7]), which...
Software engineers need to understand programs in order to effectively maintain them. The call graph, which presents the calling relationships between functions, is a useful repre...
e data structures are abstractions of simple records and pointers. They impose a shape invariant, which is verified at compiletime and exploited to automatically generate code fo...