2007
DOI: 10.1109/tse.2007.256942
|View full text |Cite
|
Sign up to set email alerts
|

API-Based and Information-Theoretic Metrics for Measuring the Quality of Software Modularization

Abstract: Abstract-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… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
74
0
1

Year Published

2007
2007
2023
2023

Publication Types

Select...
6
2
1

Relationship

1
8

Authors

Journals

citations
Cited by 86 publications
(75 citation statements)
references
References 42 publications
0
74
0
1
Order By: Relevance
“…路 Distance from Main Sequence (to improve modifiability): fraction of modules that are either concrete and stable (i.e., difficult to maintain) or abstract and unstable (i.e., difficult to use) 路 Module Interaction Stability Index (to improve layering): percentage of modules that depend on modules with higher instability 路 Layer Organization Index (to improve layering): extent to which module dependencies skip adjacent layers 路 Normalized Testability Index (to make testing more efficient): extent to which modules are independently testable 路 Module Interaction Index (to improve API usage): effectiveness of how a module's API functions are used 路 API Function Usage Index (to improve API usage): averaged percentage of the ratio of non-API functions to API functions 路 Module Size Uniformity Index (to limit the sizes of modules): extent of heterogeneously sized modules 路 Module Size Boundedness Index (to limit the sizes of modules): extent of module sizes differing from a maximum size threshold 路 State Access Violation Index (to reduce internal variable usage): extent to which state variables are accessed directly across module boundaries 路 Association-Induced Coupling (to reduce internal variable usage): extent of coupling between modules due to class association These metrics are formally defined in literature (e.g., [9], [10]) but have not been widely used in practice. All metrics are normalized between zero and one, where one is the best achievable value.…”
Section: Architecture Metrics Trackingmentioning
confidence: 99%
“…路 Distance from Main Sequence (to improve modifiability): fraction of modules that are either concrete and stable (i.e., difficult to maintain) or abstract and unstable (i.e., difficult to use) 路 Module Interaction Stability Index (to improve layering): percentage of modules that depend on modules with higher instability 路 Layer Organization Index (to improve layering): extent to which module dependencies skip adjacent layers 路 Normalized Testability Index (to make testing more efficient): extent to which modules are independently testable 路 Module Interaction Index (to improve API usage): effectiveness of how a module's API functions are used 路 API Function Usage Index (to improve API usage): averaged percentage of the ratio of non-API functions to API functions 路 Module Size Uniformity Index (to limit the sizes of modules): extent of heterogeneously sized modules 路 Module Size Boundedness Index (to limit the sizes of modules): extent of module sizes differing from a maximum size threshold 路 State Access Violation Index (to reduce internal variable usage): extent to which state variables are accessed directly across module boundaries 路 Association-Induced Coupling (to reduce internal variable usage): extent of coupling between modules due to class association These metrics are formally defined in literature (e.g., [9], [10]) but have not been widely used in practice. All metrics are normalized between zero and one, where one is the best achievable value.…”
Section: Architecture Metrics Trackingmentioning
confidence: 99%
“…Sarkar et al [64] categorized several modularization metrics for higher-level software structures according to their adherence to well-known design principles, such as similarity of purpose, encapsulation, and layering. We reuse these generic principles in our review, but include more metrics.…”
Section: Related Reviewsmentioning
confidence: 99%
“…The latter helps to analyse whether the metric can be determined automatically using tools. Additionally, we categorized the metrics according to common modularization design principles [64]:…”
Section: Data Collectionmentioning
confidence: 99%
“…The outlier values are detected using KLD. Sarkar [SARKAR, S. et al 2007] applied information theoretic measure including KLD to measure the quality of modularization in nonobject oriented software systems. Fukui ] measured the similarity of events based on KLD and applied it in the domain of fuel-cell study.…”
Section: Related Workmentioning
confidence: 99%