Ersoy, E.Sözer, Hasan2023-06-092023-06-092022-120963-9314http://hdl.handle.net/10679/8368https://doi.org/10.1007/s11219-022-09586-1Extending legacy systems with new objects for contemporary functionality or technology can lead to architecture erosion. Misplacement of these objects gradually hampers the modular structure, of which documentation is usually missing or outdated. In this work, we aim at addressing this problem for PL/SQL programs, which are highly coupled with databases. We propose a novel approach that employs artificial neural networks to automatically predict the correct placement of a new object among architectural modules. We train a network based on features extracted from the initial version of the source code that is assumed to represent the intended architecture. We use dependencies among the software and database objects as features for this training. Then, given a new object and the list of other objects it uses, the network can predict the architectural module, where the object should be included. We performed two industrial case studies with applications from the telecommunications domain, each of which involves thousands of procedures and database tables. We showed that the accuracy of our approach is 86.7% and 89% for these two applications. The baseline approach that uses coupling and cohesion metrics reaches 55.5% and 57.4% accuracy for the same applications, respectively.enginfo:eu-repo/semantics/restrictedAccessUsing artificial neural networks to provide guidance in extending PL/SQL programsArticle30488591600077073750000110.1007/s11219-022-09586-1Architecture erosionArtificial neural networksIndustrial case studySoftware architectureSoftware maintenance2-s2.0-85126765921