Abstract
We provide a uniform framework for the analysis of programs with procedures and explicit, unbounded, fork/join parallelism covering not only bitvector problems like reaching definitions or live variables but also non-bitvector problems like simple constant propagation. Due to their structural similarity to the sequential case, the resulting algorithms are as efficient as their widely accepted sequential counterparts, and they can easily be integrated in existing program analysis environments like e.g. MetaFrame or PAG. We are therefore convinced that our method will soon find its way into industrial-scale computer systems.
Chapter PDF
Similar content being viewed by others
Keywords
References
Martin Alt and Florian Martin. Generation of Efficient Interprocedural Analyzers with PAG. In Proceedings of 2nd Static Analysis Symposium (SAS), pages 33–50. LNCS 983, Springer Verlag, 1995.
Patrick Cousot. Semantic Foundations of Program Analysis. In Steven S. Muchnick and Neil D. Jones, editors, Program Flow Analysis: Theory and Applications, chapter 10, pages 303–342. Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1981.
Patrick Cousot and Radhia Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fix-points. In Proceedings of 4th ACM Symposium on Principles of Programming Languages (POPL), pages 238–252. ACM Press, 1977.
Patrick Cousot and Radhia Cousot. Static Determination of Dynamic Properties of Recursive Programs. In E.J. Neuhold, editor, Formal Descriptions of Programming Concepts, pages 237–277. North-Holland Publishing Company, 1977.
J. Esparza and J. Knoop. An Automata-theoretic Approach to Interprocedural Data-flow Analysis. In FoSSaCS’ 99, volume 1578 of Lecture Notes in Computer Science (LNCS), pages 14–30. Springer-Verlag, 1999.
J. Esparza and A. Podelski. Efficient Algorithms for pre* and post* on Interprocedural Parallel Flow Graphs. In ACM International Conference on Princples of Programming Languages (POPL), 2000. To appear.
M.S. Hecht. Flow Analysis of Computer Programs. The Computer Science Library. North-Holland, New York, 1977.
J. Knoop and B. Steffen. The Interprocedural Coincidence Theorem. In 4th International Conference on Compiler Construction (CC’92), volume 641 of Lecture Notes in Computer Science (LNCS), pages 125–140. Springer-Verlag, 1992.
J. Knoop. Parallel Constant Propagation. In 4th European Conference on Parallel Processing (Euro-Par), volume 1470 of Lecture Notes in Computer Science (LNCS), pages 445–455. Springer-Verlag, 1998.
J. Knoop, O. Rüthing, and B. Steffen. Towards a Tool Kit for the Automatic Generation of Interprocedural Data Flow Analyses. Journal of Programming Languages, 4(4):211–246, December 1996. Chapman & Hall, London (UK).
J. Knoop, B. Steffen, and J. Vollmer. Parallelism for Free: Efficient and Optimal Bitvector Analyses for Parallel Programs. ACM Transactions on Programming Languages and Systems, 18(3):268–299, 1996.
D. Lugiez and P. Schnoebelen. The Regular Viewpoint on PA-Processes. In 9th International Conference on Concurrency (CONCUR), volume 1466 of Lecture Notes In Computer Science (LNCS), pages 50–66. Springer-Verlag, 1998.
H. Seidl and C. Fecht. Interprocedural Analyses: A Comparison. Journal of Logic Programming (JLP), 43(2):123–156, 2000.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Seidl, H., Steffen, B. (2000). Constraint-Based Inter-Procedural Analysis of Parallel Programs. In: Smolka, G. (eds) Programming Languages and Systems. ESOP 2000. Lecture Notes in Computer Science, vol 1782. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46425-5_23
Download citation
DOI: https://doi.org/10.1007/3-540-46425-5_23
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67262-3
Online ISBN: 978-3-540-46425-9
eBook Packages: Springer Book Archive