INTERNATIONAL JOURNAL OF ELECTRICAL, ELECTRONICS AND COMPUTER SYSTEMS (IJEECS), Volume 1, Issue 2, April 2011. ISSN: 2221-7258(Print) ISSN: 2221-7266 (Online) www.ijeecs.org

Distributed Program Slicing for Object Oriented Java Program with Finite State Machine Model C.Saravanakumar, C.Arun Abstract— As software application grows larger and larger and becoming more complex, the program maintenance activities such as debugging and testing consumes an increasing amount of available resources for the software development. In order to cope up with this increased complexity, the concept of program slicing was developed. The concept of program slicing plays an important role in bringing an error free end product. The task of computing the program slices is called as the program slicing. So far, the program slicing could have been implemented over the centralized and the client server model. In centralized model, the slicing was applied in non-sharable programs and in the client server model all the slices were retrieved from the server. The client server model doesn’t support the slicing over the object oriented programs on the distributed environment. This paper proposes the slicing applied in a distributed manner in the form of local slicing and global slicing on object oriented programs. In local slicing, the client reads the required program from the server and in turn applies the slicing criteria and slices the relevant statement. In global slicing, the client passes the slicing criteria to the server, finds out the program, applies the slicing criteria, extracts the relevant statement, group them, and send back to the client. In future the slicing can be applied to the middleware technologies like RMI, CORBA, etc. Index Terms—Program slicing, Slice, Distributed System, Finite State Machine, Java Programming

1 INTRODUCTION

P

ROGRAM slicing is a program analysis technique that reduces a program to those statements that are relevant for a particular context or computation. Alternatively it is a technology that decomposes a program and extracts the portion of interest with respect to certain criterion that reduces the complexity of control flow. There are two types of slicing namely static and dynamic slicing [7] .A static program slice comprises of those program statements that affects the value of a variable at some program point of interest which is referred as ‘slicing criterion’. A static slice preserves a projection of the semantics of the original program for all possible inputs[8]. A dynamic slice consists of only those statements that actually affect the value of a variable at a program point for a given execution. It computes those statements which influence the value of a variable occurrence for a specific program. A dynamic slice is constructed with respect to only one execution of the

program [6], [7]. A slice is constituted by the statements that affect the value of the program with respect to the given variable occurrence. It is an executable portion of the original program whose behavior is, under the same input, indis————————————————

 C.Saravanakumar is with the Department of Computer Science and Engineering, Rajalakshmi Engineering College, Thandalam, Chennai 602 10 5, Tamilnadu,India. E-mail:[email protected]  C.Arun is with the Department of Elcetrocnics and Communication Engineering, Rajalakshmi Engineering College, Thandalam, Chennai, 602 105. Tamilnadu, India E-mail:[email protected]

tinguishable from that of the original program on a given variable ‘V’ at point ‘P’ in the program. Weiser defines a program slice with respect to slicing criterion that consists of the program point ‘s’ and a subset of the program variables ‘v’. Slicing across the procedures complicates the situation due to the necessity of translating and passing the criteria into and out of the calling and the called procedures. When a procedure ’P’ calls a procedure ’Q’ at statement ’I’, the active criteria must first be translated into the context of ’Q’ and then reversed once ’Q’ has been sliced. Conditioned Slicing bridges the gap between the static and the dynamic slicing. Conditioned Slicing is relevant to a set of initial states rather than just one, as is the case with dynamic slicing. A conditioned slice can therefore act as a typical dynamic slice if just one initial state is specified. At the other end of the scale, a conditioned slice can act as a static slice if all the possible initial states are specified. Amorphous slicing involves applying changes to the code syntax while preserving the semantics (meaning). This approach can help in understanding certain aspects of the code [5]. One of the methods of slicing is static program slicing for composite data using FSM model which proposed that the model for slicing array elements, which only supports standalone or desktop application is non- sharable program slicing [4]. This above problem has been overcome by using client server model for concurrent java program with synchronization

techniques which is restricted to only clientserver technique. This type of methods of slicing doesn’t support distributed environment [5]. Nowadays, the internet grows enormously which always fall into distributed category, so this paper proposes two techniques of slicing, namely the local slicing and the global slicing. In the local slicing, the client makes a request for the particular program from any one of the server and extracts the slices in the client side only. In the global slicing the slicing is performed at any of the server and the relevant slice is only sent back to the intended client. Section 1 presents the overview of the program slicing concepts, its types and techniques. Section 2 and 3 presents architectural design and flow diagram of the proposed system. Section 4 presents the algorithm for slicing of the distributed program slicing model. Section 5 describes the comparative study of the slicing types. Section 6 presents preliminaries on distributed finite State machine. Finally, Section 7 presents conclusions and future work.

the server and send it back to the requesting client. Download section selects a file and retrieves the program to the client. Suppose the slicing type is local, apply the slicing criteria, extracts relevant slices at the client.

3 FLOW DIAGRAM OF THE PROPOSED SYSTEM

The client wants the reliable slices from any one of the server on the distributed systems. First the client gets the list of servers of those who are all the active participants on the communication and then the lists of servers are stored into the database, which is located at the client end. The client selects the active server from the database and then selects the slicing types. If it is a local Client

Slice the program

Applying

2 ARCHITECTURE OF THE PROPOSED

the

Getting the server list

Update the server list

slicing criteria DB

SYSTEM

The client section reads the slices from either the server or the client. The input section gets the list of online servers from the distributed environment. The update section, updates the entire server list in to the database. Slicing type section selects the type in which the slices are extracted from the program. If the slicing type is global, then select slicing criteria and extracts all the relevant and reliable slices from

Select the slicing criteria

Select the server

Slicing type

Select a file

Select the slicing criteria

Client section

Input section

Local Slicing

Update section

Slicing types

Global slicing

Getting the file list

Applying the slicing criteria

Select a file

Slice the program

Downloading a file

Send the slices to the client

Download

Section

Fig 1.Architecture diagram of the proposed system

Fig 2. Flow diagram of the proposed system slicing then it gets the list of files from which

selecting the required file is selected and then downloaded from the server. Now the client applies the slicing criteria (SC) on the program and then slices the relevant statements from the program. In global slicing the server selects a file from the list of files and applies the selected slicing criteria. The result will be a relevant statement and this statement group is sent back to the client. The client maintains two list of server, namely the active server list and the inactive server list. The active server list contains the lists of server of those who are all the servers that participates in all the active roles. The inactive server list contains the lists of server who are not participating in any communication. Suppose the server is crashed during the communication, it automatically moves to the inactive server list and the client selects some other server from active server list. In a particular time the crashed server is up and it automatically moves to the active server list.

Proof Let LS is the Local Slicing GS is the Global Slicing PS is the program slicing LS € PS GS € PS In local slicing, the client retrieves the entire program from the server because the slicing criteria is applied in the client host which extracts the relevant slices and only after downloading the relevant program. In the global slicing, client retrieves the relevant program (program slices) from the server and it never gets the entire program because the slicing is done in server host. Response time of the local slicing = Time [Getting the server list + Getting the file list+ download a file +Slice the program] Response time of the Global slicing = Time [Getting the server List + Getting the file list+Slice the program+download the slices]

4 ALGORITHM OF THE PROPOSED SYSTEM Distributed_program_slicing Input: client request, slicing criteria Output: program slices Procedure distributed_programslicing () begin 1. Request the slices from the server 2. Getting the online server list 3. Update all the server list into the database 4. Selecting the suitable server 5. If slicing_type==local then { 6. Getting the file list 7. Select a respective file from the list 8. Download the file contents. 9. Select and apply the slicing criteria 10. Slice the program } 11. Else if slicing_type==global then { 12. Select a file, slicing criteria and apply the file 13. Slice the program 14. Send the slices to the client 15. } 16. end

Response time [LS]>Response time [GS]

5 COMPARISON OF SLICING TYPES

S.No

Lemma: In the distributed program slicing PS, the time taken by the local slicing LS is greater then the time taken by the global slicing GS.

`

File name

File Size

Size in Bytes

LS in bytes

GS in bytes

1

RmiDemoServer.java

1KB

1024

1024

1024

2

RmiDemoImpl.java

6KB

6144

6144

2048

3

Upload.java

7KB

7168

7168

2048

4

Run.java

9KB

9216

9216

3072

5

Machine_Frame.java

9KB

9216

9216

3072

6

Lookup.java

11KB

11264

11264

2048

7

GlobalSlicing.java

12KB

12288

12288

3072

8

LocalSlicing.java

16KB

16386

16386

3072

COMPARISION OF SLICING TYPES 18000

6. FINITE STATE MACHINE PRILIMANARIES

16000

File Size in bytes

14000 12000 10000 8000 6000 4000 2000 0

1KB

6KB

7KB

9KB

9KB

11KB

12KB

16KB

Local Slicing

1024

6144

7168

9216

9216

11264

12288

16386

Global Slicing

1024

2048

2048

3072

3072

2048

3072

3072

Slice Size in bytes

Fig 3.comprision of slicing types S. No

File name

File Size

Size in Bytes

LS in bytes

GS in bytes

Slicing_types.java

7KB

7168

7168

1096

RmiDemoIntf.java

1KB

1024

1024

1024

RmiDemoClient.java

12KB

12288

12288

4089

Machine_Frame.java

10KB

10240

10240

3412

Run.java

9KB

9216

9216

3072

Login.java

8KB

8192

8196

2048

GlobalSlicing.java

12KB

12288

12288

3800

LocalSlicing.java

16KB

16386

16386

4050

1 2 3 4 5 6 7

Distributed Program Slicing methodology may be expressed as the Finite State Machine (Finite Automaton). A Finite State Machine is a mathematical model of how computer functions while running a program. It consists of finite set of states and a set of transitions from state to state that occurs on input symbols from alphabet ∑. There are two types of finite automata namely Deterministic Finite Automata (DFA), Non Deterministic Finite Automata (NFA). The new type of Automata called distributed automata which are especially for the distributed computing. There are five modes of acceptance namely tmode,*-mode, <= k-mode,>= k-mode and = kmode [9]. The following distributed program slicing model describes the overall functionality of the distributed system in the field of software reliability and testing. Here S1, S2, S3 and S4 stand for the systems which are connected to the distributed system. It follows the mesh network model which is normally expressed by the N systems. This model has been restricted only to four systems, so N=4 then the number of sending and receiving is related to the N systems. For example, S1 sends the slicing criteria or the file request to S2 and getting the result based on the slicing types [local slicing and Global slicing] on which it returns the slice results or file contents.

8

Fig 5 .FSM model for distributed Program slicing Fig 4. Comparision of slicing types

Likewise every system are sending the request and getting the response to and from another

system. In this model S1,S2,S3 and S4 are called accepting states because each and every system has equal capability, so we can start with any one of the system in the following model with S1 as the starting state. This model follows all the capabilities of the distributed system with the extension of the software reliability based on the concept of Program slicing.

verse Engineering (WCRE’05). Prof. J. T.Lallchandani Dr. Rajib Mall, “Computation of dynamic slices for object-oriented concurrent [8] programs”,Proceedings of the 12th Asia-Pacific Software Engineering Conference (APSEC’05) [9] Weiser M, “Program slicing”, Proc. ICSE 1981, San Diego, California, Mar. 9–12 1981, pp.439– 449. [10] kamala krithivasan,M. Sakthi Balan and Prahlad Harsha “Distributed Processing in Automata”, IJFCS,Vol. 10, 1999, pp.443– 463. [7]

7 CONCLUSION AND FUTURE WORK

C.Saravanakumar received B.E degree in Information Technology from Bharathidhasan University, Trichy, India, in 2003, and the M.E degree in Computer Science and Engineering from, Vinayaga Mission’s University, Salem, India, in 2007. Currently he is working as a senior lecturer in Rajalakshmi Engineering College, Chennai- India. He is a life member of Computer Society of India (CSI) and published many national and international research articles. His research interest are Cloud Computing and Software reliability.

So far the slicing concepts were implemented in different application areas. First, the program slicing concept was implemented over the composite data which described it in the non sharable environments. Second, the program slicing was implemented over the client server environment for the concurrent java programs. The above methods of implementation describe us different advantages as well as different disadvantages. These models are described using Finite state machine model [FSM Model]. This paper proposes the program slicing for the distributed systems which contains local and global types of slicing in order to extract the program statements at the client or the server side. The comparative study gives us an overall perspective of the slicing. In future the slicing can be implemented over the middleware technologies like RMI, CORBA etc.

C. Arun Chokkalingam received the B.E degree in Elec-

tronics and Communication engineering from Bharathidasan University, Trichy , India in 2002 and the M.E degree from Anna University, Chennai, India 2004. He acquired his PhD (VLSI design) in 2009 from College of Engineering Anna University, Chennai. Presently he is working as Asst. Professor in the department of ECE of Rajalakshmi Engineering College, Chennai, and Tamilnadu, India. His research in error correcting codes addresses effectively decoding algorithm and VLSI Architecture. His research interest including digital communication.

REFERENCES [1] [2]

[3] [4]

[5]

[6]

Benard M.Moret, “The Theory of Computation”, Pearson education, First Indian reprint,2002. John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, “Introduction to Automata Theory languages, and Computation”, Third Edition., 2007. Martin, Introduction to languages, Theory of Computation , Tata McgrawHill, Third Edition., 2003. C.Saravanakumar et al, “Static Program Slicing for Composite data using FSM Model”, WASET ,Signapore August 2009. C.Saravanakumar , “Client-Server Model of Program Slicing for Concurrent Java Program using FSM Model and Synchronization Technique” , Proceedings of the ICETMCA 2010. Deji Fatiregun Mark Harman Robert M.Hierons,“Search–based amorphous slicing”, Proceedings of the 12th Working Conference on Re-

`

Transactions Template - IJEECS

trol flow. There are two types of slicing namely static and dynamic slicing [7] .A static program slice comprises of those program statements that affects the value of a variable at some program point of interest which is referred as 'slicing cri- terion'. A static slice preserves a projection of the semantics of the original program for ...

289KB Sizes 2 Downloads 298 Views

Recommend Documents

Transactions Template - IJEECS
INTERNATIONAL JOURNAL OF ELECTRICAL, ELECTRONICS AND COMPUTER SYSTEMS (IJEECS),. Volume ... ployed to validate the present theory for various .... Journal of Radio and Space Physics, vol. 35, pp. 293-. 296, 2006.(Journal).

Transactions Template - IJEECS
ISSN: 2221-7258(Print) ISSN: 2221-7266 (Online) www.ijeecs.org. Modified ..... vanced Information Networking and Applications Workshops. (AINAW 07), vol. 2.

Transactions Template - IJEECS
client server model doesn't support the slicing over the object oriented programs on ... slicing, Slice, Distributed System, Finite State Machine, Java Programming.

Transactions Template - IJEECS
The face space is defined by the “eigen-faces”, which are the eigen vectors of the set of faces. The block .... eigenvector and eigenvalue of WTW respective- ly,.

Transactions Template - IJEECS
Abstract—The resonant modes and characteristics of an equilateral triangular microstrip patch antenna with a variable air gap are theoretically and experimentally examined. Effect of varying parameters like dielectric constant of substrate, size of

Transactions Template - IJEECS
Dr. Harsh K Verma, Head, Department of Computer Science and Engi- neering,NIT jalandhar, E-mail: [email protected]. • Vaibhaw Dixit with the National Institute of Technology, Jalandhar,. Jalandhar, 144011. E-mail: [email protected]. The face

IJEECS Paper Template
virtual OS for users by using unified resource. Hypervisor is a software which enables several OSs to be executed in a host computer at the same time. Hypervisor also can map the virtualized, logical resource onto physical resource. Hypervisor is som

IJEECS Paper Template
Department of Computer Science & Engineering ... The code to implement mean filter in java language is as,. //smoothing ... getPixel(r,c); //get current pixel.

IJEECS Paper Template
thin client Windows computing) are delivered via a screen- sharing technology ... System administrators. Fig. 1 Cloud Computing. IDS is an effective technique to protect Cloud Computing systems. Misused-based intrusion detection is used to detect ...

IJEECS Paper Template
Department of Computer Science & Engineering. Dr. B R Ambedkar .... To compute the value that express the degree to which the fuzzy derivative in a ..... Now she is working as a Associate Professor in Computer Science &. Engineering ...

IJEECS Paper Template
Increasing the number of voltage levels in the inverter without requiring higher rating on individual devices can increase power rating. The unique structure of multilevel voltage source inverter's allows them to reach high voltages with low harmonic

IJEECS Paper Template
not for the big or complex surface item. The example based deformation methods ... its size as it moves through the limb. Transition from each joint, the ellipsoid ...

Transactions Template
Published results show that these strategies effectively improve both the data rate and .... ed estimates to the decoder for error correction. Unlike the Viterbi decoding .... Error Probability for Data Services in a Terrestrial DAB Single Fre-.

Transactions Template
INTERNATIONAL JOURNAL OF ELECTRICAL, ELECTRONICS AND COMPUTER SYSTEMS (IJEECS),. Volume 1, Issue 2, April 2011. .... system integrates both graphical and textual password scheme and has high level security. .... and the list of grid cells of these th

Transactions Template
In this paper we evolve a signature based intrusion detection system based on Neural ... Training and testing data we obtain from the real network traffic by using ...

Transactions Template
using sensors, 3G cell phone network and social media to be applied to the design of small ..... Systems, Computer Networks acting on the following themes:.

Transactions Template
http://sites.google.com/site/journaloftelecommunications/. Model for remote data ... analysis of these sensors can be acquired and transmitted remotely through the 3G network, directly to an operations room, or also be made available on the .... (pre

Transactions Template
overcome this problem is to have a good management and control of signal traffic lights. For this ... programmable logic controller and wireless sensors for a real time implementation. ... interested in managing urban traffic areas and road net-.

Transactions Template
tion of Internet Banking, as it reduces the customer‖s re- quirements to just a .... Taiwan launched a trial on over 5000 Visa payWave stores, in mid-2008.

Transactions Template
JOURNAL OF COMPUTER SCIENCE AND ENGINEERING, VOLUME 2, ISSUE 1, JULY 2010. 32 ... Arjan Singh is with the Baba Banda Singh Bahadur College of Engi- neering ... ranking of the V-N collocations based on their relative.

Transactions Template
dresses to the honeypot template (bind 10.3.0.2 Linux & bind 10.3.0.3 Linux). .... service, email platform, etc. the impact would be high and the image of the ...

Transactions Template
sit fleet by way of internet-enabled mobile devices. WAP- ... transit region is sent to the user mobile phone. From the ... converting the plate number into text file, and finally (4) running the .... If number at the free box is uncompleted or wrong

Transactions Template
puters are in the data processing classrooms and its use continues being ... Habib M. Fardoun is with the Institute of Computer Science Research. Institute of Albacete and .... which we can specify and use educational activities to allow work ...

Transactions Template
an Intranet and Internet, servers and workstations for operations, ... tion of new business models, and changes in the bounda- .... optical fibre or radio.