A Novel Approach to Automate Complex Software Modularization Using a Fact Extraction System. (30th March 2022) - Khan, Muhammad Zakir; Naseem, Rashid; Anwar, Aamir; Haq, Ijaz Ul; Alturki, Ahmad; Ullah, Syed Sajid; Al-Hadhrami, Suheer A.
Abstract : Complex software systems that support organizations are updated regularly, which can erode system architectures. Moreover, documentation is rarely synchronized with the changes to the software system. This creates a slew of issues for future software maintenance. To this goal, information extraction tools use exact approaches to extract entities and their corresponding relationships from source code. Such exact approaches extract all features, including those that are less prominent and may not be significant for modularization. In order to resolve the issue, this work proposes an enhanced approximate information extraction approach, namely, fact extractor system for Java applications (FESJA) that aims to automate software modularization using a fact extraction system. The proposed FESJA technique extracts all the entities along with their corresponding more dominant formal and informal relationships from a Java source code. Results demonstrate the improved performance of FESJA, by extracting 74 (classes), 43 (interfaces), and 31 (enumeration), in comparison with eminent information extraction techniques.