System Structure Analysis: Clustering with Data Bindings
IEEE Transactions on Software Engineering - Annals of discrete mathematics, 24
Evaluating Software Complexity Measures
IEEE Transactions on Software Engineering
Construction and testing of polynomials predicting software maintainability
Journal of Systems and Software - Special issue of the best papers from the Oregon Workshop on Software Metrics, 1993
Comments on 'A Metrics Suite for Object Oriented Design'
IEEE Transactions on Software Engineering
Property-Based Software Engineering Measurement
IEEE Transactions on Software Engineering
Large-scale C++ software design
Large-scale C++ software design
Software metrics (2nd ed.): a rigorous and practical approach
Software metrics (2nd ed.): a rigorous and practical approach
Comments on "Towards a Framework for Software Measurement Validation"
IEEE Transactions on Software Engineering
An intelligent tool for re-engineering software modularity
ICSE '91 Proceedings of the 13th international conference on Software engineering
A Unified Framework for Coupling Measurement in Object-Oriented Systems
IEEE Transactions on Software Engineering
Identifying Modules via Concept Analysis
IEEE Transactions on Software Engineering
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Concept Analysis for Module Restructuring
IEEE Transactions on Software Engineering
Elements of Software Science (Operating and programming systems series)
Elements of Software Science (Operating and programming systems series)
The Optimal Class Size for Object-Oriented Software
IEEE Transactions on Software Engineering
Search based reverse engineering
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design
Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design
Documenting Software Architectures: Views and Beyond
Documenting Software Architectures: Views and Beyond
Reexamining the Fault Density-Component Size Connection
IEEE Software
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
Towards a Framework for Software Measurement Validation
IEEE Transactions on Software Engineering
An Operational Process for Goal-Driven Definition of Measures
IEEE Transactions on Software Engineering
Some Misconceptions About Lines of Code
METRICS '97 Proceedings of the 4th International Symposium on Software Metrics
Measuring Coupling and Cohesion of Software Modules: An Information-Theory Approach
METRICS '01 Proceedings of the 7th International Symposium on Software Metrics
Automatic Clustering of Software Systems Using a Genetic Algorithm
STEP '99 Proceedings of the Software Technology and Engineering Practice
Component Clustering Based on Maximal Association
WCRE '01 Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01)
Bunch: A Clustering Tool for the Recovery and Maintenance of Software System Structures
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Software Architecture Transformations
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
Using Automatic Clustering to Produce High-Level System Organizations of Source Code
IWPC '98 Proceedings of the 6th International Workshop on Program Comprehension
A Multiple Hill Climbing Approach to Software Module Clustering
ICSM '03 Proceedings of the International Conference on Software Maintenance
Software architecture recovery based on pattern matching
Software architecture recovery based on pattern matching
Dynamic Coupling Measurement for Object-Oriented Software
IEEE Transactions on Software Engineering
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Studying Software Evolution Information by Visualizing the Change History
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Information-Theoretic Software Clustering
IEEE Transactions on Software Engineering
Software Clustering based on Omnipresent Object Detection
IWPC '05 Proceedings of the 13th International Workshop on Program Comprehension
An empirical study of the robustness of two module clustering fitness functions
GECCO '05 Proceedings of the 7th annual conference on Genetic and evolutionary computation
Search-based improvement of subsystem decompositions
GECCO '05 Proceedings of the 7th annual conference on Genetic and evolutionary computation
Spectral and meta-heuristic algorithms for software clustering
Journal of Systems and Software - Special issue: Software reverse engineering
Metrics for Analyzing Module Interactions in Large Software Systems
APSEC '05 Proceedings of the 12th Asia-Pacific Software Engineering Conference
Applicability of Weyuker's Property 9 to Object Oriented Metrics
IEEE Transactions on Software Engineering
Software Design and Architecture The once and future focus of software engineering
FOSE '07 2007 Future of Software Engineering
A collaborative platform for application knowledge management in software maintenance projects
COMPUTE '08 Proceedings of the 1st Bangalore Annual Compute Conference
A desiderata for refactoring-based software modularity improvement
Proceedings of the 3rd India software engineering conference
Optimization of software components selection for component-based software system development
Computers and Industrial Engineering
Quality measurement of modularized object oriented software using metrics
Proceedings of the International Conference & Workshop on Emerging Trends in Technology
Studying software evolution using artefacts' shared information content
Science of Computer Programming
Sustainability evaluation of software architectures: a systematic review
Proceedings of the joint ACM SIGSOFT conference -- QoSA and ACM SIGSOFT symposium -- ISARCS on Quality of software architectures -- QoSA and architecting critical systems -- ISARCS
On the congruence of modularity and code coupling
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Perseverance in sustainable software architecting
Proceedings of the 2012 ACM SIGSOFT symposium on Industry Day
Evaluating usefulness of software metrics: an industrial experience report
Proceedings of the 2013 International Conference on Software Engineering
Object-oriented class maintainability prediction using internal quality attributes
Information and Software Technology
UsageQoS: Estimating the QoS of Web Services through Online User Communities
ACM Transactions on the Web (TWEB)
Hi-index | 0.00 |
We present in this paper a new set of metrics that measure the quality of modularization of a non-object-oriented software system. We have proposed a set of design principles to capture the notion of modularity and defined metrics centered around these principles. These metrics characterize the software from a variety of perspectives: structural, architectural, and notions such as the similarity of purpose and commonality of goals. (By structural, we are referring to intermodule coupling-based notions, and by architectural, we mean the horizontal layering of modules in large software systems.) We employ the notion of API (Application Programming Interface) as the basis for our structural metrics. The rest of the metrics we present are in support of those that are based on API. Some of the important support metrics include those that characterize each module on the basis of the similarity of purpose of the services offered by the module. These metrics are based on information-theoretic principles. We tested our metrics on some popular open-source systems and some large legacy-code business applications. To validate the metrics, we compared the results obtained on human-modularized versions of the software (as created by the developers of the software) with those obtained on randomized versions of the code. For randomized versions, the assignment of the individual functions to modules was randomized.