Syntax-Directed Control Dependence Analysis : Eliminating Graph Overhead
State-of-practice techniques in static program analysis mainly depend on constructing intermediate data structures, primarily graphs, to facilitate various analyses. However, these structures introduce significant computational overhead in terms of time and space. One key static analysis technique is the computation of control dependencies,which plays a crucial role in optimizing compilers, program slicing, debugging, and parallelization by determining the execution order of statements based on conditional branches. In this paper, we present an improved technique for computing control dependencies without requiring any intermediate graph-based representations. Our approach eliminates unnecessary computations, significantly reducing resource consumption while maintaining accuracy. Experimental evaluations demonstrate that our method not only outperforms classical techniques in terms of execution speed but also exhibits superior scalability and stability when applied to large-scale programs. These findings suggest that our approachis a viable alternative to conventional methods, offering a more efficient solution for static program analysis in modern software engineering.
Publication Details
- Journal
- DiVA (Mälardalen University College)
- Published
- 2025-01-01
- Primary Topic
- Software Testing and Debugging Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00