Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4444))

  • 585 Accesses

Abstract

Designing optimizing compilers is a challenging task that involves numerous mutually interdependent transformations. Often, these interdependencies are only captured in an ad-hoc manner, relying on the ingenuity and experience of the compiler engineers. ViDoC is a tool-kit for the specification-driven, interactive development of program optimizers in a service oriented way. In particular, ViDoC facilitates the specification of dependencies between transformations in terms of modal logic properties and requirements. These specifications can be used for checking, as well as synthesizing, suitable optimization sequences , which are expressed in terms of a workflow (graph) model. ViDoC also offers various kinds of visual support, like the display of flow graphs, call graphs and analysis information, and the visualization and even manipulation of the graphs expressing the optimization workflows. These features make ViDoC especially appropriate for rapid prototyping. ViDoC is constructed on top of the Soot infrastructure project, that targets the manipulation of Java byte code and offers powerful engines for realizing the specified analyzes and transformations. The visualization and workflow handling are designed according to the paradigm of Lightweight Process Coordination, realized in the jABC environment.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Margaria, T., Arenas, A., Bicarregui, J.: The FMICS view on the verified software repository. In: Proc. Integrated Design and Process Technology, IDPT-2006, San Diego, USA, 26-29 June 2006, pp. 26–29. Society for Design and Process Science (2006)

    Google Scholar 

  2. Click, C., Cooper, K.D.: Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems 17(2), 181–196 (1995)

    Article  Google Scholar 

  3. Giegerich, R., Möncke, U., Wilhelm, R.: Invariance of approximate semantics with respect to program transformations. In: 11. GI Jahrestagung. In conjunction with Third Conference of the European Co-operation in Informatics (ECI). Informatik-Fachberichte, vol. 50, pp. 1–10. Springer, Heidelberg (1981)

    Google Scholar 

  4. Knoop, J., Rüthing, O., Steffen, B.: Optimal code motion: Theory and practice. ACM Trans. Prog. Lang. Syst. 16(4), 1117–1155 (1994)

    Article  Google Scholar 

  5. Knoop, J., Rüthing, O., Steffen, B.: Partial dead code elimination. In: SIGPLAN Conference on Programming Language Design and Implementation, pp. 147–158 (1994)

    Google Scholar 

  6. Lam, P., Qian, F., Lhoták, O.: Soot: a java optimization framework. http://www.sable.mcgill.ca/soot/

  7. Lerner, S., Grove, D., Chambers, C.: Combining dataflow analyses and transformations. In: Conferernce Record of the 29th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2002), pp. 270–282. ACM Press, New York (2002)

    Chapter  Google Scholar 

  8. Lerner, S., Millstein, T., Chambers, C.: Automatically proving the correctness of compiler optimizations. In: SIGPLAN Conference on Programming Language Design and Implementation, pp. 220–231 (2003)

    Google Scholar 

  9. Lerner, S., et al.: Automated soundness proofs for dataflow analyses and transformations via local rules. In: Conferernce Record of the 32nd ACM SIGPLAN-SIGACT, Symposium on Principles of Programming Languages (POPL 2005), pp. 364–377. ACM Press, New York (2005)

    Chapter  Google Scholar 

  10. Margaria, T.: Web services-based tool-integration in the ETI platform. Int. Journal on Software and System Modelling 4(2), 141–156 (2005)

    Article  Google Scholar 

  11. Margaria, T., Steffen, B.: Service engineering: Linking business and IT. IEEE Computer (To appear), Cover feature of IEEE Computer (invited), issue for the 60th anniversary of the Computer Society (2006)

    Google Scholar 

  12. Rüthing, O.: Interacting Code Motion Transformations: Their Impact and Their Complexity. LNCS, vol. 1539. Springer, Heidelberg (1999)

    Google Scholar 

  13. Steffen, B., Braun, V., Margaria, T.: The electronic tool integration platform: Concepts and design. Int. Journal on Software Tools for Technology Transfer (STTT) 1(1/2), 9–30 (1997), http://eti.cs.uni-dortmund.de

    Article  MATH  Google Scholar 

  14. Steffen, B., Margaria, T.: Metaframe in practice: Intelligent network service design. In: Olderog, E.-R., Steffen, B. (eds.) Correct System Design. LNCS, vol. 1710, pp. 390–415. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  15. Steffen, B., et al.: Model-driven development with the jABC. In: Bin, E., Ziv, A., Ur, S. (eds.) HVC 2006. LNCS, vol. 4383, Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  16. Steffen, B., Margaria, T., von der Beeck, M.: Automatic synthesis of linear process models from temporal constraints: An incremental approach. In: Proc. ACM Int. Workshop on Automated Analysis of Software (AAS’97) - affiliated to POPL’97, pp. 127–141. ACM Press, New York (1997)

    Google Scholar 

  17. Steffen, B.: Data flow analysis as model checking. In: Ito, T., Meyer, A.R. (eds.) TACS 1991. LNCS, vol. 526, pp. 346–364. Springer, Heidelberg (1991)

    Google Scholar 

  18. Steffen, B.: Generating data flow analysis algorithms from modal specifications. International Journal on Science of Computer Programming 21, 115–139 (1993)

    Article  MATH  Google Scholar 

  19. Whitfield, D.L., Soffa, M.L.: An approach for exploring code improving transformations. ACM Transactions on Programming Languages and Systems 19(6), 1053–1084 (1997)

    Article  Google Scholar 

  20. Zhao, W., et al.: Vista: a system for interactive code improvement. In: Proceedings of the joint conference on Languages, compilers and tools for embedded systems (LCTES), pp. 155–164. ACM Press, New York (2002)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Thomas Reps Mooly Sagiv Jörg Bauer

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer Berlin Heidelberg

About this chapter

Cite this chapter

Margaria, T., Rüthing, O., Steffen, B. (2007). ViDoC - Visual Design of Optimizing Compilers. In: Reps, T., Sagiv, M., Bauer, J. (eds) Program Analysis and Compilation, Theory and Practice. Lecture Notes in Computer Science, vol 4444. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71322-7_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-71322-7_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-71315-9

  • Online ISBN: 978-3-540-71322-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics