Examining the Relationships between Software Coupling and Software Performance: A Cross-platform Experiment
Abstract
Coupling measures the degree of dependencies between software modules. Considerable research has been performed to relate software coupling with software understandability, maintainability, and reusability, which are the key properties of software maintenance and evolution. However, only a few research works have been reported that study the relationships between software coupling and software performance. This study implemented two benchmarks that measure and compare the performance of software programs implemented with different kinds of coupling, common coupling, data coupling, and stamp coupling. The experiment is run on three different platforms, Windows, Linux, and Mac.
The results show that (1) the relative performance of systems implemented using different software coupling is platform dependent, (2) while loose coupling is more favorable than strong coupling with respect to software maintenance and evolution, it has the drawback of reduced performance of a software program. Based on this study, we make some suggestions to balance the use of strong coupling and loose coupling in designing evolving software systems in order to achieve both maintainability and evolvability without compromising on performance.
The results show that (1) the relative performance of systems implemented using different software coupling is platform dependent, (2) while loose coupling is more favorable than strong coupling with respect to software maintenance and evolution, it has the drawback of reduced performance of a software program. Based on this study, we make some suggestions to balance the use of strong coupling and loose coupling in designing evolving software systems in order to achieve both maintainability and evolvability without compromising on performance.
Keywords
component dependency, coupling, performance, cross-platform experiment
Full Text:
PDFDOI: https://doi.org/10.2498/cit.1001353
This work is licensed under a Creative Commons Attribution-NoDerivatives 4.0 International License.