Skip to main content
Log in

Automatic generation of interprocedural data-flow analyzers and optimizers

  • Regular Papers
  • Published:
Journal of Computer Science and Technology Aims and scope Submit manuscript

Abstract

Interprocedural analysis and optimization are very important for compilers to exploit parallelism of modern high-performance computer systems. But it is very complicated, easy to make mistakes and difficult to maintain and port. To solve the problem, we construct an automatic generator of interprocedural analyzers and optimizers—IGEN. In IGEN, first a new model to describe the interprocedural data-flow problem is designed. It is fit for all traditional data-flow problems and can be used in context-sensitive algorithms. Then, the structure and the working environment of IGEN are described in detail. Finally, the implementation of IGEN and our experimental result are given.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Kildall G A. A unified approach to global program optimization. InProceedings of the 1st Annual ACM Symposium on Principles of Programming Languages, 1973, pp.194–206.

  2. Muchnick S S. Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers, San Francisco, California, 1997.

    Google Scholar 

  3. Emami M, Ghiya R, Hendren L J. Context-sensitive interporcedureal point-to analysis in the presence of function pointers. InProceedings of the ACM SIGPLAN’94 Conference on Programming Language Design and Implementation, June, 1994, pp.242–256.

  4. Liu Qiang. Study on interprocedural analysis techniques in the presence of pointer aliasing [Dissertation]. Institute of Computing Technology, the Chinese Academy of Sciences, 1998.

  5. Wilson R P, Lam M S. Efficient context-sensitive pointer analysis for C programs. InProceedings of the ACM SIGPLAN’95 Conference on Programming Language Design and Implementations, 1995, pp.1–12.

  6. Hall M W, Seema Hiranandani, Ken Kennedy, Chaw-Wen Tseng. Interprocedure compilation on Fortran D.Journal of Parallel and Distributed Computing, 1996, 38(2): 114–129.

    Article  MATH  Google Scholar 

  7. Callahan D. The program summary graph and flow-sensitive interprocedural data flow analysis. InProceedings of PLDI’88, June, 1988, 23(7): 47–56.

  8. Landi W, Ryder B G, Zhang S. Interprocedural modification side effect analysis with pointer aliasing. InSIGPLAN 93 Symposium on Programming Language Design and Implementation, June, 1993, 28(6): 56–67.

  9. Pande H D, William Landi. Interprocedural Def-Use associations in C program. InProceedings of Symposium on Testing, Analysis and Verification, 1991, pp.139–153.

  10. Hall M W. FLAT: A framework for interprocedural analysis and transformation. InProceedings of the 6th International Workshop of Languages and Compilers for Parallel Computing, Oregon, USA, August, 1993, pp.522–545, LNCS 768.

  11. Steven W K Tjiang, John L Hennessy. Sharlit—A tool for building optimizers. InProceedings of PLDI’92, 1992, 27(7): 82–93.

  12. Steven W K Tjiang. Automatic generation of data flow analyzers: A tool for building optimizers [Dissertation]. Stanford University, 1993.

  13. Devanbu P, Rosenblum D, Wolf A. Generating testing and analysis tool with Aria.ACM Trans. Software Engineering and Methodology, January, 1996, 5: 42–62.

    Article  Google Scholar 

  14. Mary Jean Harrold. Aristotle: A system for research on and development of program-analysis-based tools. Technical Report OSU-CISRC-3/97-TR17, March, 1997, http://www.cis.ohio-state.edu/~harrold/organnon/devl/code, 1997.

  15. Gerardo Canfora, Aniello Cimitile. An extensible system for source code analysis.IEEE Transactions on Software Engineering, September, 1998, 24(9): 256–265.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lian Ruiqi.

Additional information

This work is supported by the National Natural Science Foundation of China under Grant No.69933020.

LIAN Ruiqi received her Ph.D. degree in computer science from the Institute of Computing Technology (ICT), Chinese Academy of Sciences in 2001 and her B.S. degree from the same institute in 1998. She is an associate professor in ICT and her major is advanced compiling technology.

ZHANG Zhaoqing is a professor at the Advanced Compiler Technology Laboratory, Division of Computer Systems, Institute of Computing Technology, Chinese Academy of Sciences. She graduated from Peking University in 1960. Her research interests include advanced compiler technology, parallel programming environments, binary translation.

QIAO Ruliang is a professor at the Advanced Compiler Technology Laboratory, Division of Computer Systems, Institute of Computing Technology, Chinese Academy of Sciences. He graduated from Peking University in 1960. His research interests include advanced compiler technology, translation from COBOL to JAVA.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lian, R., Zhang, Z. & Qiao, R. Automatic generation of interprocedural data-flow analyzers and optimizers. J. Compt. Sci. & Technol. 17, 708–717 (2002). https://doi.org/10.1007/BF02960761

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02960761

Keywords

Navigation