Design and development of overhead detection and ... and development of overhead detection and...

4
INTERNATIONAL JOURNAL OF TECHNOLOGY AND COMPUTING (IJTC) ISSN-2455-099X, Volume 2, Issue 8 August 2016 IJTC201608011 www. ijtc.org 428 Design and development of overhead detection and improvement system for AOP Jashandeep kaur 1 , Rasbir Singh 2 1 Research scholar, 2 Assistant Professor Department of CSE RIMT-IET Mandigobindgarh AbstractIn software engineering the problem of cloning is very common. Most of the developers who are indulge in coding phase of the SDLC tries to copy the code which occurs again and again in code. Hence it is difficult to maintain the cloned data. It is not easy to recognize the original and copied data. Hence to solve the problem of cloning in system code, large number of techniques is developed. Clone detection models in UML inspect duplicate parts in the software, which can be rephrase and lower the maintenance cost. The technique used in this deals with the class diagrams of AOP system. This technique is an aid to detect the overlapped activities before completion of the SDLC process. In this two files are compared for the purpose of detecting the ratio of cloning among both of the files. The files compared in this are XML files. The efficiency of the technique is proved after simulation. Hence it is observed that the technique of this is much better than the traditional techniques for removing or detecting the cloning. Indexed TermsUnfied Modelling Language (UML), Clonning, XML, clone detection, activity diagrams, Aspect Oriented Programming (AOP). I. INTRODUCTION Cloning is mostly exists at the time when the code of the software is written. In coding phase most of the times developers tries to copy and paste to the code which is reused in coding. This pasted copy of the code is known as the clone of the original data. The code which is copied is known as the code cloning. It is very tedious task to recognize the original code and clone of the original code. The part of the code which is copied is known as fragments. It is not easy to maintain the clone of the code as compare to the original code [9].Hence there is a need to remove the clones from the code since cloning leaves adverse effects on maintenance phase of the software [27]. Let’s assume there is huge amount of coding of a system is available and the whole code is a clone of original code. Hence to maintain such system is quite expensive as compare to other systems. It is very difficult task to remove or finding clones from such systems. The copy, paste leads to the in-accuracy in maintenance of the system. There are many research have conducted to generate such technique which can find the cloning automatically when it exist [19]. II. TECHNIQUES OF CLONE DETECTION For detecting or finding the cloned code is a process which includes two phases. These two phases are transformation and comparison phase. In first phase the source code is converted into internal form so that comparing becomes easy by implementing the algorithms. In second phase the code is compared in order to find the cloned code. Various techniques are developed for clone detection. Each of the technique has its own merits and demerits. Some of the clone detection techniques are as follows: A. String Based String Based is an approach used for clone detection in file. This technique follows the idea of string transformation for converting the file format to the internal format. String transformation makes a code variant to the programming codes. In comparison phase various string comparison algorithms are applied. In this technique following is also included. Simple line Matching Parameterized Line B. Token Based Token based is another approach for clone detection. It is much reliable and able to generate more accurate results. In this technique transformation of the code is done by applying algorithms. The transformation algorithm is created by using a stream known as token. This token is extracted from code itself. Transformations performed by using lexer (tokens) make the comparison phase easy. Parameterized matching. C. Parse-tree Based Parse tree based is an algorithm used for clone detection. It is a complex algorithm which creates the parse tree. Parse tree based algorithm is used in various applications because it allow to add distinct algorithm for comparison also. It includes the following: Metric Fingerprints. III. PROBLEM FORMULATION UML based development appears to progress. In object oriented development, the complete working of the software is provided by the UML. Analyze, designing and implementation of the software based systems are done using standard modeling language i.e. UML. Clone detection models in UML inspect duplicate parts in the software, which can be rephrase and lower the maintenance cost. IV. PROPOSED WORK This approach basically deals with the class diagram of the AOP system. Two or more activities communicate with each other on the bases of association, condition and constraints. In this approach suffix array is implemented using array list to detect model clones. This will helps the IJTC.ORG

Transcript of Design and development of overhead detection and ... and development of overhead detection and...

INTERNATIONAL JOURNAL OF TECHNOLOGY AND COMPUTING (IJTC)

ISSN-2455-099X,

Volume 2, Issue 8 August 2016

IJTC201608011 www. ijtc.org 428

Design and development of overhead detection and

improvement system for AOP Jashandeep kaur1, Rasbir Singh2

1Research scholar, 2Assistant Professor

Department of CSE

RIMT-IET Mandigobindgarh

Abstract—In software engineering the problem of cloning is very common. Most of the developers who are indulge in coding

phase of the SDLC tries to copy the code which occurs again and again in code. Hence it is difficult to maintain the cloned data. It

is not easy to recognize the original and copied data. Hence to solve the problem of cloning in system code, large number of

techniques is developed. Clone detection models in UML inspect duplicate parts in the software, which can be rephrase and lower

the maintenance cost. The technique used in this deals with the class diagrams of AOP system. This technique is an aid to detect

the overlapped activities before completion of the SDLC process. In this two files are compared for the purpose of detecting the

ratio of cloning among both of the files. The files compared in this are XML files. The efficiency of the technique is proved after

simulation. Hence it is observed that the technique of this is much better than the traditional techniques for removing or detecting

the cloning.

Indexed Terms—Unfied Modelling Language (UML), Clonning, XML, clone detection, activity diagrams, Aspect Oriented

Programming (AOP).

I. INTRODUCTION

Cloning is mostly exists at the time when the code of the

software is written. In coding phase most of the times

developers tries to copy and paste to the code which is

reused in coding. This pasted copy of the code is known as

the clone of the original data. The code which is copied is

known as the code cloning. It is very tedious task to

recognize the original code and clone of the original code.

The part of the code which is copied is known as fragments.

It is not easy to maintain the clone of the code as compare

to the original code [9].Hence there is a need to remove the

clones from the code since cloning leaves adverse effects on

maintenance phase of the software [27].

Let’s assume there is huge amount of coding of a system is

available and the whole code is a clone of original code.

Hence to maintain such system is quite expensive as

compare to other systems. It is very difficult task to remove

or finding clones from such systems. The copy, paste leads

to the in-accuracy in maintenance of the system. There are

many research have conducted to generate such technique

which can find the cloning automatically when it exist [19].

II. TECHNIQUES OF CLONE DETECTION

For detecting or finding the cloned code is a process which

includes two phases. These two phases are transformation

and comparison phase. In first phase the source code is

converted into internal form so that comparing becomes

easy by implementing the algorithms. In second phase the

code is compared in order to find the cloned code. Various

techniques are developed for clone detection. Each of the

technique has its own merits and demerits. Some of the

clone detection techniques are as follows:

A. String Based

String Based is an approach used for clone detection in file.

This technique follows the idea of string transformation for

converting the file format to the internal format. String

transformation makes a code variant to the programming

codes. In comparison phase various string comparison

algorithms are applied. In this technique following is also

included.

Simple line Matching

Parameterized Line

B. Token Based

Token based is another approach for clone detection. It is

much reliable and able to generate more accurate results. In

this technique transformation of the code is done by

applying algorithms. The transformation algorithm is

created by using a stream known as token. This token is

extracted from code itself. Transformations performed by

using lexer (tokens) make the comparison phase easy.

Parameterized matching.

C. Parse-tree Based

Parse tree based is an algorithm used for clone detection. It

is a complex algorithm which creates the parse tree. Parse

tree based algorithm is used in various applications because

it allow to add distinct algorithm for comparison also. It

includes the following:

Metric Fingerprints.

III. PROBLEM FORMULATION

UML based development appears to progress. In object

oriented development, the complete working of the software

is provided by the UML. Analyze, designing and

implementation of the software based systems are done

using standard modeling language i.e. UML. Clone

detection models in UML inspect duplicate parts in the

software, which can be rephrase and lower the maintenance

cost.

IV. PROPOSED WORK

This approach basically deals with the class diagram of the

AOP system. Two or more activities communicate with

each other on the bases of association, condition and

constraints. In this approach suffix array is implemented

using array list to detect model clones. This will helps the

IJTC.O

RG

INTERNATIONAL JOURNAL OF TECHNOLOGY AND COMPUTING (IJTC)

ISSN-2455-099X,

Volume 2, Issue 8 August 2016

IJTC201608011 www. ijtc.org 429

developer to detect the overlapping of the activities at

earlier stage in the software development process; suffix

array gives faster result due to lesser memory consumption.

The proposed work is done on the basis of AOP, by

considering all the aspects of the software based system.

The main objectives of the proposed work are:

This approach is used to enhance the existing

system to detect the overlapping between two

UML Diagrams of the system.

Proposed approach used based upon the Aspect

Oriented Programming and the existing approach

is on the bases of Object Oriented Programming.

This approach is detect the detail overlapping

between the two similar Class Diagrams

V. METHODOLOGY.

In this propose work the AOP systems are proposed

developer to detect the overlapping of the activities at

earlier stage in the software development process. The

methodology of the proposed work is defined below:

Figure 1 Block diagram of proposed technique

Initially the two ULM files of the AOP are

converted into the XLM files and are uploaded for

the further processing

Next step after the uploading the files is to collect

the data from both the files . for gathering the data

from the Xml files the xlm phrasing technique is

used

.What is the purpose of activity diagrams which

should be stored in respective associative array to

uniquely define each and every activity and their

purpose?

Now we have to compare first associative array

with second one to find the similarities between

both the systems.

After getting the result, the user gets to know about

similarities and dissimilarities about the target and

the developed system

VI. RESULTS AND DISCUSSION

In this section there is discussion about the results of

proposed method of the class diagram of the AOP system.

In this paper method is used for creating communication

link between two or more activities within software. By

using this method the relation between two or more clones

can be determined easily. The efficiency of the technique is

proved with the help of simulation. The graph given below

depicts the comparisons between the proposed and the

traditional algorithm. The proposed technique is considered

to be efficient than the traditional approach.

Figure 2 shows a dialogue box. In this dialogue box, User

selects two files which are to be compare. Both XML files

will be compared for cloning. After selecting the files click

on Extract data button. This will extract the data like

attributes, functions, classes and aspects of both files.

Figure 2 Browsing of files

In figure 3 a new window will open it contains the extracted

data of both files. There are two columns in this window to

present the data of both files separately. The text in green

color mention the method functions of file, the text in black

color represents the classes, text in purple defines the list of

attributes of file and text in dark red color is used to

represents the aspects that are contained in the file.

Figure 3 Normalization of both input files

XML Parsing

Show all the activities and function of

the specific activity

Apply technique to detect similarities

between two activity diagrams

Show the different similarities between two

in a tabular form

Show the collaborate result for the two

different activity diagrams in tabular &

graph

Exit

Upload two XML Files

IJTC.O

RG

INTERNATIONAL JOURNAL OF TECHNOLOGY AND COMPUTING (IJTC)

ISSN-2455-099X,

Volume 2, Issue 8 August 2016

IJTC201608011 www. ijtc.org 430

The window shown in figure 4, represents the results of

XML parsing. Here parsing refers to the results that are

obtained after comparing both of the xml files. In this the

result is in tabular form contains 11 columns. These

columns contain the value or ration o cloned data w.r.t both

files. As shown in figure first two columns contains the data

of both files, second column list the number of total classes

in both of the xml files. Third column and fourth column

list the number and percentage of cloned classes

respectively. Rest of the columns lists the number and

percentage of clone attributes and operations.

Figure 4 XML parsing

Following figure 5 shows the comparison of traditional

techniques and proposed technique. It shows the ratio of the

cloned classes, cloned aspects and cloned operations with

respect to both XML files.

Figure 5, Shows the ratio of cloned classes.

VII. CONCULSION AND FUTURE SCOPE

SDLC is Software development life cycle. It is a step

wise process for developing software. It contains phases

like requirement gathering, feasibility study, designing,

coding, Implementation, testing and maintenance. Cloning

is a problem which exists in coding phase. Cloning refers to

the process of pasting the data or code which is occurring

gain and again in the code. The cloned data leads to the

problems or obstacles in maintenance phase. It is not easy to

maintain the cloned data. Hence a technique is proposed in

this paper which is quiet efficient in detecting the cloned

data in early stage before the completion SDLC of AOP

system. The efficiency of the proposed technique is proved

in the results and discussions section by using graphs.

In future the proposed technique can be enhanced by

adding some other parameters to detecting the cloning in

system. This technique can be modified to make it more

efficient and effective.

REFERENCES

[1] Balwinder Kaur , “Clone Detection in UML Sequence

Diagrams Using Token Based Approach “International

Journal of Advanced Research in Computer Science

and Software Engineering , Volume 5, Issue 5, May

2015 ,Pp 34-41

[2] S.MYTHILI “A Novel Weight Assignment Approach

for Detection of Clones in Simulink Diagrams“Volume

14, 2015, Pp 253-263

[3] Harjot Kaur, Detecting Clones in Class Diagrams

Using Suffix Array “International Journal of

Engineering and Advanced Technology (IJEAT) ISSN:

2249 – 8958, Volume-3, Issue-4, April 2014, Pp243-

246

[4] Nam H. Pham,” Complete and Accurate Clone

Detection in Graph-based Models”, IEEE, May 16-24,

2009, Pp286-276

[5] Zhengping Liang (2014) ,” A Novel Optimized Path-

Based Algorithm for Model Clone Detection”

JOURNAL OF SOFTWARE, VOL. 9, NO. 7, JULY

2014,pp 1810-1817

[6] Robert Tairas, “Visualization of Clone Detection

Results”

[7] Matthew Stephan , “Identifying Instances of Model

Design Patterns and Antipatterns Using Model Clone

Detection “

[8] Nicolas Bettenburg , “ An empirical study on

inconsistent changes to code clones at the release level

“ ELSEVIER ,2010, Pp 1-17

[9] J Howard Johnson. Identifying Redundancy in Source

Code Using Fingerprints. In Proceeding of the 1993

Conference of the Centre for Advanced Studies

Conference (CASCON’93), pp. 171-183, Toronto,

Canada, October 1993.

[10] Ginika Mahajan., “Implementing a 3-Way Approach

ofClone Detection and Removal using PC

DetectorTool”, in Proceedings of IEEE2014,

InternationalConference on Program Comprehension,

pp.242-245,

[11] Choi E., “Finding Code Clones for Refactoring with

CloneMetrics: A Case Study of Open Source

Software”, in Proceedings of The Inst. Of Electronics,

Information and Communication Engineers (IEICE)

July2011. , pp. 53-57,

[12] Störrle H., “Towards Clone Detection in UML Domain

Models”, in Proceedings of the FourthEuropean

IJTC.O

RG

INTERNATIONAL JOURNAL OF TECHNOLOGY AND COMPUTING (IJTC)

ISSN-2455-099X,

Volume 2, Issue 8 August 2016

IJTC201608011 www. ijtc.org 431

Conference on Software Architecture:Companion

Volume, , 2010., pp. 285-293

[13] Mahajan G., “Software Cloning inExtreme

Programming Environment”, InternationalJournal of

Research in IT and Management, , February 2012., vol.

2, no.2, pp. 1906-1919

[14] Anisha Rani , “Reducing Cloning in Software Models

Using UML Parsing” , International Journal of

Engineering Research & Technology , Vol. 2 , Issue

11, November – 2013, Pp 3800-3805

[15] Harjot Kaur,” Detecting Clones in Class Diagrams

Using Suffix Array ” International Journal of

Engineering and Advanced Technology, Volume-3,

Issue-4, April 2014,Pp 243- 246

[16] Dhavleesh Rattan, “Detecting High Level Similarities

in Source Code and Beyond” ,International Journal of

Energy, Information and Communications Vol.6, Issue

2 (2015), Pp.1-16

[17] Girija Gupta, “Novel Approach Towards Code Clone

Detection and Redesigning “International Journal of

Advanced Research in Computer Science and

Software Engineering, Volume 3, Issue 9, September

2013 ,Pp 331-338s

[18] Cory J. Kapser, “Supporting the Analysis of Clones in

Software Systems: A case study”, journal of software

maintenance and evolution: research and practice,

2005, Pp 1-21

[19] Chanchal K. Roy, “Comparison and Evaluation of

Code Clone Detection Techniques and Tools: A

Qualitative Approach”, Preprint submitted to Science

of Computer Programming, February 24, 2009

[20] B. Baker, “Sparse dynamic programming for longest

common subsequence from fragments Journal

Algorithms” Vol 42 issue no 2, (2002), Pp. 231–235

[21] Ritu Garg, “ Code Clone v/s Model Clones: Pros and

Cons “International Journal of Computer Applications

(0975 – 8887) Volume 89 – No 15, March 2014, pp 20-

22

[22] Meena Bharti, “Software Cloning and Its Detection

Methods” IJCST Vol. 5, Issue 4, Oct - Dec 2014,Pp

191-194.

[23] Mahajan G., “Software Cloning inExtreme

Programming Environment”, InternationalJournal of

Research in IT and Management, , February 2012., vol.

2, no.2, pp. 1906-1919

[24] Benjamin Hummel, “Index-Based Model Clone

Detection” May 23 2011,Pp 1-7

[25] Eytan Adar: “Visualization and Exploration of

CodeClones in Context. In the proceedings of the 29th

International Conference on Software Engineering

(ICSE'07),, Minneapolis, MN, USA, May 2007

,Pp.762-766

[26] Dhavleesh Rattan, “Software clone detection: A

systematic review” Information and Software

Technology 55 , 2013, Pp 1165–1199

[27] Bruno Lagu¨e, Daniel Proulx, Jean Mayrand, Ettore M.

Merlo and John Hudepohl. Assessing the Benefits of

Incorporating Function Clone Detection in a

Development Process. In Proceedings of the 13th

International Conference on Software Maintenance

(ICSM’97), pp. 314-321, Bari, Italy, October 1997.

IJTC.O

RG