Knowledge of software dependencies plays an important role in program comprehension and other software maintenance activities. Traditionally, dependencies are derived by source code analysis; however, such an approach can be difficult to use in multi-tier hybrid software systems, or legacy applications where conventional code analysis tools simply do not work as is. In this work, we demonstrated a hybrid approach to detecting software dependencies by combining conceptual and domain-based coupling metrics. In recent years, a great deal of research focused on deriving various coupling metrics from these sources of information with the aim of assisting software maintainers. Conceptual metrics specify underlying relationships encoded by developers in identifiers and comments of source code classes whereas domain metrics exploit coupling manifested in domain-level information of software components and it is independent from software implementation. The proposed approach is independent from programming language, as such it can be used in multi-tier hybrid systems or legacy applications. This dataset is the result of an empirical case study on ADempiere, a large-scale enterprise system, where we demonstrated that the combined approach is able to detect database and source code dependencies with higher precision and recall as compared to its standalone constituents.
Malcom Gethers, College of William and Mary, United States
Amir Aryani, RMIT University, Australia
Denys Poshyvanyk, College of William and Mary, United States