Author
Altınışık, M., Sözer, Hasan
Publication Date
2016
Publication Place
-
ACM
Subject
Reverse engineering, Refactoring, Module clustering, PL/SQL programs, Industrial case study
Type
Document
Language
English
Digital
Yes
Manuscript
No
Library
Özyeğin University
Library Asset ID
978-1-4503-3739-7
Record ID
c7a93ce5-cc71-4c8b-9583-c9f9d2811c03
Library Location
Computer Science
Date
2016
Notes
Due to copyright restrictions, the access to the full text of this article is only available via subscription.
Sample Text
PL/SQL programs are mainly composed of procedures that interact with a database. These procedures are grouped into packages at the architecture design level for increasing modularity and maintainability. However, the intended modular structure is subject to architectural drift especially for large scale programs that are maintained for a long duration. Existing reverse engineering and refactoring techniques cannot be directly applied for these programs. Unlike other programs, PL/SQL programs involve procedures that are in most cases indirectly coupled due to their database operations. In this paper, we provide an approach and a tool that support reverse engineering and refactoring of PL/SQL programs. We analyze dependencies among PL/SQL procedures based on the accessed database elements. We represent these dependencies in the form of a design structure matrix. Then, we cluster the procedures and propose a packaging structure to the designer. We performed an industrial case study from the telecommunications domain. We observed promising results in which several unexisted packages were proposed by our tool and the accuracy of the results were approved by domain experts.
DOI
10.1145/2851613.2851781