By Topic

Research on Detecting and Validating Design Pattern Instances from Source Code

Sign In

Cookies must be enabled to login.After enabling cookies , please use refresh or reload or ctrl+f5 on the browser for the login options.

Formats Non-Member Member
$33 $13
Learn how you can qualify for the best price for this item!
Become an IEEE Member or Subscribe to
IEEE Xplore for exclusive pricing!
close button

puzzle piece

IEEE membership options for an individual and IEEE Xplore subscriptions for an organization offer the most affordable access to essential journal articles, conference papers, standards, eBooks, and eLearning courses.

Learn more about:

IEEE membership

IEEE Xplore subscriptions

3 Author(s)
Wenjin Li ; Coll. of Inf. Eng., China Jiliang Univ., Hangzhou, China ; Guangping Chen ; Julong Pan

Identifying design patterns from source code is one of the most promising methods for improving software maintainability, reusing experience and facilitating software refactoring. In this paper, an approach that combines static and dynamic analysis on detecting design patterns from java source code is presented. Static structure analysis of identifying pattern instances is illustrated. Especially, to improve the detecting precision, multiplicity analysis of object creation is executed to validate creational pattern candidates and dynamic analysis which is the process of monitoring sequence of method calls in pattern candidates and judging if it is consistent to the expected pattern behavior is executed to validate behavior pattern candidates. After the validation of behavior candidates, those instances belong to patterns which have similar structure but different behavior are distinguished successfully. Finally, a tool of extracting design pattern from java source code is implemented and the feasibility of this approach is verified through the results of applying it on an open source software.

Published in:

Computer Science & Service System (CSSS), 2012 International Conference on

Date of Conference:

11-13 Aug. 2012