An Improved Technique for Program Remodularization

  • Saeed Parsa
  • Mohammad Hamzei
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5938)


There has been a tremendous shift towards using clusters and networks of low-cost computers for high performance computing. High performance can be achieved by appropriate remodularization of computationally intensive programs. An appropriate modular structure of program exploits the inherent concurrency in the execution of the program. In this article a new relation to determine suitable modular structure for distributing programs across the network is presented. The relation is built automatically by analyzing the program call flow graph. The proposed relation outperforms the existing relation for computing the amount of concurrency in a distributed code by considering, situations in which more than one method are supposed to be executed on a single computational node.


Program remodularization Performance evaluation Automatic parallelization 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Chen, M.K., Olukotun, K.: The jrpm system for dynamically parallelizing java programs. In: ISCA 2003: Proceedings of the 30th annual international symposium on Computer architecture, pp. 434–446. ACM, New York (2003)CrossRefGoogle Scholar
  2. 2.
    Bal, H.E., Kaashoek, M.F.: Object distribution in orca using compile-time and run-time techniques. In: OOPSLA 1993: Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications, pp. 162–177. ACM, New York (1993)CrossRefGoogle Scholar
  3. 3.
    Deb, D., Fuad, M., Oudshoorn, M.: Towards Autonomic Distribution of Existing Object Oriented Programs. In: International Conference on Autonomic and Autonomous Systems, 2006, p. 17 (2006)Google Scholar
  4. 4.
    Parsa, S., Bushehrian, O.: Performance-driven object-oriented program re-modularisation. IET Software 2, 362–378 (2008)CrossRefGoogle Scholar
  5. 5.
    Chan, B., Abdelrahman, T.S.: Run-time support for the automatic parallelization of java programs. J. Supercomput. 28, 91–117 (2004)CrossRefMATHGoogle Scholar
  6. 6.
    Astley, M., Agha, G.: Modular construction and composition of distributed software architectures. In: PDSE 1998: Proceedings of the International Symposium on Software Engineering for Parallel and Distributed Systems, Washington, DC, USA, p. 2. IEEE Computer Society, Los Alamitos (1998)Google Scholar
  7. 7.
    Parsa, S., Bushehrian, O.: On the Optimal Object-Oriented Program Re-modularization. In: Shi, Y., van Albada, G.D., Dongarra, J., Sloot, P.M.A. (eds.) ICCS 2007. LNCS, vol. 4487, pp. 599–602. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  8. 8.
    Tahvildari, L., Kontogiannis, K., Mylopoulos, J.: Quality-driven software re-engineering. J. Syst. Softw. 66, 225–239 (2003)CrossRefGoogle Scholar
  9. 9.
    Schoeberl, M.: A time predictable Java processor. In: Proceedings of Design, Automation and Test in Europe, 2006. DATE 2006, vol. 1 (2006)Google Scholar
  10. 10.
    Schoeberl, M.: Jop: A java optimized processor for embedded real-time systems. Technischen Universität Wien, Fakultät für Informatik (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Saeed Parsa
    • 1
  • Mohammad Hamzei
    • 1
  1. 1.Computer Engineering DepartmentIran University of Science and TechnologyTehranIran

Personalised recommendations