Next Article in Journal
CDCS: Cluster-Based Distributed Compressed Sensing to Facilitate QoS Routing in Cognitive Video Sensor Networks
Previous Article in Journal
Quantum Image Encryption Scheme Using Arnold Transform and S-box Scrambling
Article Menu
Issue 4 (April) cover image

Export Article

Open AccessArticle

Measuring Software Modularity Based on Software Networks

1
School of Management and E-Business, Zhejiang Gongshang University, Hangzhou 310018, China
2
School of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou 310018, China
3
Department of Computer Science, Western Michigan University, Kalamazoo, MI 49008, USA
*
Author to whom correspondence should be addressed.
Entropy 2019, 21(4), 344; https://doi.org/10.3390/e21040344
Received: 14 February 2019 / Revised: 14 March 2019 / Accepted: 24 March 2019 / Published: 28 March 2019
(This article belongs to the Section Complexity)
  |  
PDF [2183 KB, uploaded 28 March 2019]
  |  

Abstract

Modularity has been regarded as one of the most important properties of a successful software design. It has significant impact on many external quality attributes such as reusability, maintainability, and understandability. Thus, proposing metrics to measure the software modularity can be very useful. Although several metrics have been proposed to characterize some modularity-related attributes, they fail to characterize software modularity as a whole. A complex network uses network models to abstract the internal structure of complex systems, providing a general way to analyze complex systems as a whole. In this paper, we introduce the complex network theory into software engineering and employ modularity, a metric widely used in the field of community detection in complex network research, to measure software modularity as a whole. First, a specific piece of software is represented by a software network, feature coupling network (FCN), where methods and attributes are nodes, couplings between methods and attributes are edges, and the weight on the edges denotes the coupling strength. Then, modularity is applied to the FCN to measure software modularity. We apply the Weyuker’s criteria which is widely used in the field of software metrics, to validate the modularity as a software metric theoretically, and also perform an empirical evaluation using open-source Java software systems to show its effectiveness as a software metric to measure software modularity. View Full-Text
Keywords: modularity; Java software; complex networks; software metrics; software maintenance modularity; Java software; complex networks; software metrics; software maintenance
Figures

Figure 1

This is an open access article distributed under the Creative Commons Attribution License which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited (CC BY 4.0).
SciFeed

Share & Cite This Article

MDPI and ACS Style

Xiang, Y.; Pan, W.; Jiang, H.; Zhu, Y.; Li, H. Measuring Software Modularity Based on Software Networks. Entropy 2019, 21, 344.

Show more citation formats Show less citations formats

Note that from the first issue of 2016, MDPI journals use article numbers instead of page numbers. See further details here.

Related Articles

Article Metrics

Article Access Statistics

1

Comments

[Return to top]
Entropy EISSN 1099-4300 Published by MDPI AG, Basel, Switzerland RSS E-Mail Table of Contents Alert
Back to Top