Detecting duplications in sequence diagrams based on suffix trees

Liu Hui, Ma Zhiyi, Zhang Lu, Shao Weizhong*

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

44 Citations (Scopus)

Abstract

With the popularity of UML and MDA, models are replacing source code as core artifacts of software development and maintenance. But duplications in models reduce models' maintainability and reusability. To address the problem, we should detect duplications first. As an initial step to address the problem, we propose an approach to detect duplications in sequence diagrams. With special preprocessing, we convert 2-dimensional sequence diagrams into a 1-dimensional array. Then we construct a suffix tree of the array. We revise the traditional construction algorithm of suffix trees by proposing a special algorithm to detect common prefixes of suffixes. The algorithm ensures that every duplication detected with the suffix tree can be extracted into a separate reusable sequence diagram. With the suffix tree, duplications are found as refactoring candidates. With tool support, the proposed approach has been applied to real industrial projects, and the evaluation results suggest that the approach is effective.

Original languageEnglish
Title of host publicationProceedings - APSEC 2006
Subtitle of host publicationAsia-Pacific Software Engineering Conference
Pages269-276
Number of pages8
DOIs
Publication statusPublished - 2006
Externally publishedYes
EventAPSEC 2006: Asia-Pacific Software Engineering Conference - Bangalore, India
Duration: 6 Dec 20068 Dec 2006

Publication series

NameProceedings - Asia-Pacific Software Engineering Conference, APSEC
ISSN (Print)1530-1362

Conference

ConferenceAPSEC 2006: Asia-Pacific Software Engineering Conference
Country/TerritoryIndia
CityBangalore
Period6/12/068/12/06

Fingerprint

Dive into the research topics of 'Detecting duplications in sequence diagrams based on suffix trees'. Together they form a unique fingerprint.

Cite this