Full Text:   <2475>

CLC number: TP31

On-line Access: 2014-01-29

Received: 2013-03-18

Revision Accepted: 2013-07-22

Crosschecked: 2013-11-18

Cited: 0

Clicked: 5816

Citations:  Bibtex RefMan EndNote GB/T7714

-   Go to

Article info.
1. Reference List
Open peer comments

Journal of Zhejiang University SCIENCE C 2014 Vol.15 No.2 P.126-138


An analytical model for source code distributability verification

Author(s):  Ayaz Isazadeh, Jaber Karimpour, Islam Elgedawy, Habib Izadkhah

Affiliation(s):  Department of Computer Science, Faculty of Mathematical Sciences, University of Tabriz, Tabriz, Iran; more

Corresponding email(s):   isazadeh@tabrizu.ac.ir, karimpour@tabrizu.ac.ir, elgedawy@metu.edu.tr, izadkhah@tabrizu.ac.ir

Key Words:  Code distributability, Synchronous calls, Asynchronous calls, Distributed software systems, Source code

Ayaz Isazadeh, Jaber Karimpour, Islam Elgedawy, Habib Izadkhah. An analytical model for source code distributability verification[J]. Journal of Zhejiang University Science C, 2014, 15(2): 126-138.

@article{title="An analytical model for source code distributability verification",
author="Ayaz Isazadeh, Jaber Karimpour, Islam Elgedawy, Habib Izadkhah",
journal="Journal of Zhejiang University Science C",
publisher="Zhejiang University Press & Springer",

%0 Journal Article
%T An analytical model for source code distributability verification
%A Ayaz Isazadeh
%A Jaber Karimpour
%A Islam Elgedawy
%A Habib Izadkhah
%J Journal of Zhejiang University SCIENCE C
%V 15
%N 2
%P 126-138
%@ 1869-1951
%D 2014
%I Zhejiang University Press & Springer
%DOI 10.1631/jzus.C1300066

T1 - An analytical model for source code distributability verification
A1 - Ayaz Isazadeh
A1 - Jaber Karimpour
A1 - Islam Elgedawy
A1 - Habib Izadkhah
J0 - Journal of Zhejiang University Science C
VL - 15
IS - 2
SP - 126
EP - 138
%@ 1869-1951
Y1 - 2014
PB - Zhejiang University Press & Springer
ER -
DOI - 10.1631/jzus.C1300066

One way to speed up the execution of sequential programs is to divide them into concurrent segments and execute such segments in a parallel manner over a distributed computing environment. We argue that the execution speedup primarily depends on the concurrency degree between the identified segments as well as communication overhead between the segments. To guarantee the best speedup, we have to obtain the maximum possible concurrency degree between the identified segments, taking communication overhead into consideration. Existing code distributor and multi-threading approaches do not fulfill such requirements; hence, they cannot provide expected distributability gains in advance. To overcome such limitations, we propose a novel approach for verifying the distributability of sequential object-oriented programs. The proposed approach enables users to see the maximum speedup gains before the actual distributability implementations, as it computes an objective function which is used to measure different distribution values from the same program, taking into consideration both remote and sequential calls. Experimental results showed that the proposed approach successfully determines the distributability of different real-life software applications compared with their real-life sequential and distributed implementations.

Darkslateblue:Affiliate; Royal Blue:Author; Turquoise:Article


[1]Al-Jaroodi, J., Mohamad, N., Jiang, H., et al., 2005. JOPI: a Java object passing interface. Concurr. Comput. Pract. Exp., 17(7-8):775-795.

[2]Berman, F., Wolski, R., Casanova, H., et al., 2003. Adaptive computing on the Grid using AppLeS. IEEE Trans. Parall. Distr. Syst., 14(4):369-382.

[3]Berman, F., Casanova, H., Chien, A., et al., 2005. New Grid scheduling and rescheduling methods in the GrADS project. Int. J. Parall. Program., 33(2):209-229.

[4]Bushehrian, O., 2010. Automatic actor-based program partitioning. J. Zhejiang Univ.-Sci. C (Comput. & Electron.), 11(1):45-55.

[5]Buyya, R., Abramson, D., 2009. The Nimrod/G grid resource broker for economic-based scheduling. In: Buyya, R., Bubendorfer, K. (Eds.), Market-Oriented Grid and Utility Computing. John Wiley & Sons, Inc., Hoboken, NJ, USA, p.3-27.

[6]Chen, Y., Gansner, E., Koutsofios, E., 1997. A C++ data model supporting reachability analysis and dead code detection. Proc. 6th European Software Engineering Conf. and the 5th ACM SIGSOFT Symp. on the Foundations of Software Engineering, p.414-431.

[7]Deb, D., Fuad, M., Oudshoom, M.J., 2006. Towards autonomic distribution of existing object oriented programs. Int. Conf. on Autonomic and Autonomous Systems, p.17.

[8]Ferenc, R., Beszedes, A., Gyimóthy, T., 2004. Extracting facts with Columbus from C++ code. Proc. 8th European Conf. on Software Maintenance and Reengineering, p.4-8.

[9]Gentzsch, W., 2001. Sun Grid Engine: towards creating a compute power grid. Proc. 1st IEEE/ACM Int. Symp. on Cluster Computing and the Grid, p.35-36.

[10]Gotoda, S., Ito, M., Shibata, N., 2012. Task scheduling algorithm for multicore processor system for minimizing recovery time in case of single node fault. Proc. 12th IEEE/ACM Int. Symp. on Cluster, Cloud and Grid Computing, p.260-267.

[11]Healy, C.A., Sjodin, M., Rustagi, V., et al., 1998. Bounding loop iterations for timing analysis. Proc. 4th IEEE Real-Time Technology and Applications Symp., p.12-21.

[12]Korn, J., Chen, Y., Koutsofios, E., 1999. Chava: reverse engineering and tracking of Java applets. Proc. 6th Working Conf. on Reverse Engineering, p.314-325.

[13]Koskinen, J., Lehmonen, T., 2010. Analysis of ten reverse engineering tools. Advanced Techniques in Computing Sciences and Software Engineering, p.389-394.

[14]Maani, R., Parsa, S., 2007. An algorithm to improve parallelism in distributes systems using asynchronous calls. Proc. 7th Int. Conf. on Parallel Processing and Applied Mathematics, p.49-58.

[15]Matzko, S., Clarke, P.J., Gibbs, T.H., et al., 2002. Reveal: a tool to reverse engineer class diagrams. Proc. 40th Int. Conf. on Tools Pacific: Objects for Internet, Mobile and Embedded Applications, p.13-21.

[16]Nitzberg, B., Schopf, J.M., Jones, J.P., 2004. PBS Pro: grid computing and scheduling attributes. In: Grid Resource Management. Kluwer Academic Publishers, Norwell, MA, USA, p.183-190.

[17]Parsa, S., Khalilpoor, V., 2006. Automatic distribution of sequential code using JavaSymphony middleware. Proc. 32nd Conf. on Current Trends in Theory and Practice of Computer Science, p.440-450.

[18]Raza, A., Vogel, G., Plödereder, E., 2006. Bauhaus—a tool suite for program analysis and reverse engineering. Proc. 11th Ada-Europe Int. Conf. on Reliable Software Technologies, p.71-83.

[19]Schoeberl, M., 2006. A time pedictable Java pocessor. Proc. Design, Automation and Test in Europe, p.1-6.

[20]Schoeberl, M., Pedersen, R., 2006. WCET analysis for a Java processor. Proc. 4th Int. Workshop on Java Technologies for Real-Time and Embedded Systems, p.202-211.

[21]Thain, D., Tannenbaum, T., Livny, M., 2005. Distributed computing in practice: the condor experience. Concurr. Comput. Pract. Exp., 17(2-4):323-356.

[22]Zhang, Q.F., Qiu, D.H., Tian, Q.B., et al., 2010. Object-oriented software architecture recovery using a new hybrid clustering algorithm. Proc. 7th Int. Conf. on Fuzzy Systems and Knowledge Discovery, p.2546-2550.

[23]Zhou, S., Zheng, X., Wang, J., et al., 1993. Utopia: a load sharing facility for large, heterogeneous distributed computer systems. Softw. Pract. Exp., 23(12):1305-1336.

[24]Zima, H., Chapman, B., 1991. Supercompilers for Parallel and Vector Computers (1st Ed.). Addison Wesley, MA, USA.

Open peer comments: Debate/Discuss/Question/Opinion


Please provide your name, email address and a comment

Journal of Zhejiang University-SCIENCE, 38 Zheda Road, Hangzhou 310027, China
Tel: +86-571-87952783; E-mail: cjzhang@zju.edu.cn
Copyright © 2000 - 2022 Journal of Zhejiang University-SCIENCE