DocumentCode :
3441057
Title :
Java Source Code Static Check Eclipse Plug-In Based on Common Design Pattern
Author :
Zhang Haotian ; Liu Shu
Author_Institution :
Sch. of Software, Harbin Inst. of Technol., Harbin, China
fYear :
2013
fDate :
3-4 Dec. 2013
Firstpage :
165
Lastpage :
170
Abstract :
Design patterns represent the best practices used by experienced java developers. Design patterns abstract reusable object-oriented software designs which are solutions to general problems that software developers faced during software development. Each pattern solves design problems that occur in every day development. The detection of design patterns during the process of software reverse engineering can provide a better understanding of the software system. The most recent approaches in design pattern detection rely on the abstract syntax tree representation of the source code for fact extraction. This paper proposes a new way to detect design pattern in Java applications by analyzing the java source code. This paper discussed about the relations both between classes and objects and established the derivative design pattern about model property. Using the roles, responsibilities and collaboration information of each design pattern define static definitions. The static definitions are used to find candidate instances during the static analysis by using BCEL. After the static analysis the found candidate instances are validated by using the dynamic behavior of design patterns. We instrument the Java byte code of the application we are analyzing with additional code fragments and extract method traces from the running application. These method traces represent the dynamic facts of an application. The several restrictions are presented to define design patterns dynamically. Four common patterns of original GoF design patterns are tested and the results are analyzed which give better results in detecting design patterns comparing with other tools. In addition a Java source code static checking tool, an Eclipse plug-in, is implemented. Finally several java applications source codes were analyzed by using the plug-in, and verified the feasibility of the approach.
Keywords :
Java; object-oriented programming; program diagnostics; reverse engineering; software reusability; source code (software); BCEL; GoF design patterns; Java applications; Java byte code; Java developers; Java source code static check Eclipse plug-in; Java source code static checking tool; abstract syntax tree representation; code fragments; collaboration information; derivative design pattern; design pattern detection; dynamic behavior; fact extraction; reusable object-oriented software design; software develop; software reverse engineering; software system; static analysis; static definitions; Calculus; Computer architecture; Java; Pattern matching; Software systems; Unified modeling language; BCEL; Eclipse Plug-in; design pattern;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Engineering (WCSE), 2013 Fourth World Congress on
Conference_Location :
Hong Kong
Print_ISBN :
978-1-4799-2882-8
Type :
conf
DOI :
10.1109/WCSE.2013.30
Filename :
6754280
Link To Document :
بازگشت