scispace - formally typeset
Open AccessJournal ArticleDOI

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

Reads0
Chats0
TLDR
A new set of metrics that measure the quality of modularization of a non-object-oriented software system are presented and proposed, based on information-theoretic principles.
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, 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

read more

Citations
More filters
Proceedings ArticleDOI

Sustainability evaluation of software architectures: a systematic review

TL;DR: A systematic literature review assessing scenario-based methods for sustainability support and categorize more than 40 architecture-level metrics according to several design principles to measure the sustainability of a software architecture both during early design and during evolution using scenarios and metrics.
Journal ArticleDOI

Metrics for Measuring the Quality of Modularization of Large-Scale Object-Oriented Software

TL;DR: A set of metrics that characterize the quality of modularization with respect to the APIs of the modules and such object-oriented inter-module dependencies as caused by inheritance, associational relationships, state access violations, fragile base-class design, etc are provided.
Journal ArticleDOI

Object-oriented class maintainability prediction using internal quality attributes

TL;DR: This work empirically studies the relationship between internal class quality attributes (size, cohesion, and coupling) and an external quality attribute (class maintainability) and constructs models based on the selected internal attributes to predict class maintainability.
Proceedings ArticleDOI

Software Design and Architecture The once and future focus of software engineering

TL;DR: Directions for design research are outlined, including: (a) drawing lessons, inspiration, and techniques from design fields outside of computer science, (b) emphasizing the design of application "character" (functionality and style) as well as the application's structure, and (c) expanding the notion of software to encompass the designof additional kinds of intangible complex artifacts.
Journal ArticleDOI

Optimization of software components selection for component-based software system development

TL;DR: The formulation of an optimization model of software components selection for CBSS development is described, which has two objectives: maximizing the functional performance of the CBSS and maximizing the cohesion and minimizing the coupling of software modules.
References
More filters
Book

A metrics suite for object oriented design

TL;DR: This research addresses the needs for software measures in object-orientation design through the development and implementation of a new suite of metrics for OO design, and suggests ways in which managers may use these metrics for process improvement.
Journal ArticleDOI

On the criteria to be used in decomposing systems into modules

TL;DR: In this paper, the authors discuss modularization as a mechanism for improving the flexibility and comprehensibility of a system while allowing the shortening of its development time, and the effectiveness of modularization is dependent upon the criteria used in dividing the system into modules.
Book

Software Metrics: A Rigorous and Practical Approach

TL;DR: The Second Edition of Software Metrics provides an up-to-date, coherent, and rigorous framework for controlling, managing, and predicting software development processes.
Journal ArticleDOI

Structured design

TL;DR: Considerations and techniques are proposed that reduce the complexity of programs by dividing them into functional modules, which can make it possible to create complex systems from simple, independent, reusable modules.