Abstract
In terms of program verification data-flow analysis (DFA) is commonly understood as the computation of the strongest postcondition for every program point with respect to a precondition which is assured to be valid at the entry of the program. Here, we consider DFA under the dual weakest precondition view of program verification. Based on this view we develop an approach for demand-driven DFA of explicitly parallel programs, which we exemplify for the large and practically most important class of bitvector problems. This approach can directly be used for the construction of online debugging tools. Moreover, it is tailored for parallelization. For bitvector problems, this allows us to compute the information provided by conventional, strongest postcondition-centered DFA at the costs of answering a data-flow query, which are usually much smaller. In practice, this can lead to a remarkable speed-up of analysing and optimizing explicitly parallel programs.
Chapter PDF
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
K.R. Apt and E.-R. Olderog. Verification of Sequential and Concurrent Programs. 2nd edition, Springer-V., 1997.
P. Cousot and R. Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Conf. Rec. 4th Symp. Principles of Prog. Lang. (POPL’77), pages 238–252. ACM, NY, 1977.
E. Duesterwald, R. Gupta, and M.L. Soffa. Demand-driven computation of interprocedural data flow. In Conf. Rec. 22nd Symp. Principles of Prog. Lang. (POPL’95), pages 37–48. ACM, NY, 1995.
E. Duesterwald, R. Gupta, and M.L. Soffa. A demand-driven analyzer for data flow testing at the integration level. In Proc. IEEE Int. Conf. on Software Engineering (CoSE’96), pages 575–586, 1996.
E. Duesterwald, R. Gupta, and M.L. Soffa. A practical framework for demanddriven interprocedural data flow analysis. ACM Trans. Prog. Lang. Syst., 19(6):992–1030, 1997.
M.S. Hecht. Flow Analysis of Computer Programs. Elsevier, North-Holland, 1977.
S. Horwitz, T. Reps, and M. Sagiv. Demand interprocedural dataflow analysis. In Proc. 3rd ACM SIGSOFT Symp. Foundations of Software Eng. (FSE’95), pages 104–115, 1995.
J. Hughes and J. Launchbury. Reversing abstract interpretations. Science of Computer Programming, 22:307–326, 1994.
J.B. Kam and J.D. Ullman. Monotone data flow analysis frameworks. Acta Informatica, 7:305–317, 1977.
J. Knoop. Optimal Interprocedural Program Optimization: A new Framework and its Application. PhD thesis, Univ. of Kiel, Germany, 1993. LNCS Tutorial 1428, Springer-V., 1998.
J. Knoop. Eliminating partially dead code in explicitly parallel programs. TCS, 196(1-2):365–393, 1998. (Special issue devoted to Euro-Par’96).
J. Knoop. Parallel constant propagation. In Proc. 4th Europ. Conf. on Parallel Processing (Euro-Par’98), LNCS 1470, pages 445–455. Springer-V., 1998.
J. Knoop. Parallel data-flow analysis of explicitly parallel programs. Technical Report 707/1999, Fachbereich Informatik, Universität Dortmund, Germany, 1999.
J. Knoop and B. Steffen. Code motion for explicitly parallel programs. In Proc. 7th ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming (PPoPP’99), Atlanta, Georgia, pages 13–24, 1999.
J. Knoop, B. Steffen, and J. Vollmer. Parallelism for free: Efficient and optimal bitvector analyses for parallel programs. ACM Trans. Prog. Lang. Syst., 18(3):268–299, 1996.
T. Reps. Solving demand versions of interprocedural analysis problems. In Proc. 5th Int. Conf. on Compiler Construction (CC’94), LNCS 786, pages 389–403. Springer-V., 1994.
X. Yuan, R. Gupta, and R. Melham. Demand-driven data flow analysis for communication optimization. Parallel Processing Letters, 7(4):359–370, 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Knoop, J. (1999). Parallel Data-Flow Analysis of Explicitly Parallel Programs. In: Amestoy, P., et al. Euro-Par’99 Parallel Processing. Euro-Par 1999. Lecture Notes in Computer Science, vol 1685. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48311-X_51
Download citation
DOI: https://doi.org/10.1007/3-540-48311-X_51
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66443-7
Online ISBN: 978-3-540-48311-3
eBook Packages: Springer Book Archive