Title :
Suffix tree-based approach to detecting duplications in sequence diagrams
Author :
Liu, Hongying ; Niu, Zheng ; Ma, Z. ; Shao, Weiqun
Author_Institution :
Sch. of Comput. Sci. & Technol., Beijing Inst. of Technol., Beijing, China
fDate :
8/1/2011 12:00:00 AM
Abstract :
Models are core artefacts in software development and maintenance. Consequently, quality of models, especially maintainability and extensibility, becomes a big concern for most non-trivial applications. For some reasons, software models usually contain some duplications. These duplications had better be detected and removed because the duplications may reduce maintainability, extensibility and reusability of models. As an initial attempt to address the issue, the author propose an approach in this study to detecting duplications in sequence diagrams. With special preprocessing, the author convert 2-dimensional (2-D) sequence diagrams into an 1-D array. Then the author construct a suffix tree for the array. With the suffix tree, duplications are detected and reported. To ensure that every duplication detected with the suffix tree can be extracted as a separate reusable sequence diagram, the author revise the traditional construction algorithm of suffix trees by proposing a special algorithm to detect the longest common prefixes of suffixes. The author also probe approaches to removing duplications. The proposed approach has been implemented in DuplicationDetector. With the implementation, the author evaluated the proposed approach on six industrial applications. Evaluation results suggest that the approach is effective in detecting duplications in sequence diagrams. The main contribution of the study is an approach to detecting duplications in sequence diagrams, a prototype implementation and an initial evaluation.
Keywords :
software maintenance; software performance evaluation; software prototyping; software reusability; trees (mathematics); 1D array; 2-dimensional sequence diagrams; DuplicationDetector; construction algorithm; detecting duplications; model reusability; nontrivial applications; prototype implementation; quality of models; separate reusable sequence diagram; software development; software maintenance; software models; suffix tree-based approach;
Journal_Title :
Software, IET
DOI :
10.1049/iet-sen.2009.0029