An architecture-centric software maintainability assessment using information theory

Muhammad Anan, Hossein Saiedian, Jungwoo Ryoo

Research output: Contribution to journalArticle

10 Citations (Scopus)

Abstract

Architecture-based metrics can provide valuable information on whether or not one can localize the effects of modification (such as adjusting data flows or control flows) in software and can therefore be used to prevent the changes from adversely affecting other software components. This paper proposes an architecture-centric metric using entropy for assessing structural dependencies among software components. The proposed metric is based on a mathematical model representing the maintainability snapshot of a system. The introduced architectural-level metric includes measures for coupling and cohesion. From this model, the relative maintainability of a component, referred to as a maintainability profile, can be developed to identify architectural decisions that are detrimental to the maintainability of a system.

Original languageEnglish (US)
Pages (from-to)1-18
Number of pages18
JournalJournal of Software Maintenance and Evolution
Volume21
Issue number1
DOIs
StatePublished - Jan 1 2009

Fingerprint

Information theory
Maintainability
Software architecture
Flow control
Entropy
Mathematical models

All Science Journal Classification (ASJC) codes

  • Software

Cite this

@article{51f2ab88ad074c2bab41dd22f70776b2,
title = "An architecture-centric software maintainability assessment using information theory",
abstract = "Architecture-based metrics can provide valuable information on whether or not one can localize the effects of modification (such as adjusting data flows or control flows) in software and can therefore be used to prevent the changes from adversely affecting other software components. This paper proposes an architecture-centric metric using entropy for assessing structural dependencies among software components. The proposed metric is based on a mathematical model representing the maintainability snapshot of a system. The introduced architectural-level metric includes measures for coupling and cohesion. From this model, the relative maintainability of a component, referred to as a maintainability profile, can be developed to identify architectural decisions that are detrimental to the maintainability of a system.",
author = "Muhammad Anan and Hossein Saiedian and Jungwoo Ryoo",
year = "2009",
month = "1",
day = "1",
doi = "10.1002/smr.396",
language = "English (US)",
volume = "21",
pages = "1--18",
journal = "Journal of software: Evolution and Process",
issn = "2047-7481",
publisher = "John Wiley and Sons Ltd",
number = "1",

}

An architecture-centric software maintainability assessment using information theory. / Anan, Muhammad; Saiedian, Hossein; Ryoo, Jungwoo.

In: Journal of Software Maintenance and Evolution, Vol. 21, No. 1, 01.01.2009, p. 1-18.

Research output: Contribution to journalArticle

TY - JOUR

T1 - An architecture-centric software maintainability assessment using information theory

AU - Anan, Muhammad

AU - Saiedian, Hossein

AU - Ryoo, Jungwoo

PY - 2009/1/1

Y1 - 2009/1/1

N2 - Architecture-based metrics can provide valuable information on whether or not one can localize the effects of modification (such as adjusting data flows or control flows) in software and can therefore be used to prevent the changes from adversely affecting other software components. This paper proposes an architecture-centric metric using entropy for assessing structural dependencies among software components. The proposed metric is based on a mathematical model representing the maintainability snapshot of a system. The introduced architectural-level metric includes measures for coupling and cohesion. From this model, the relative maintainability of a component, referred to as a maintainability profile, can be developed to identify architectural decisions that are detrimental to the maintainability of a system.

AB - Architecture-based metrics can provide valuable information on whether or not one can localize the effects of modification (such as adjusting data flows or control flows) in software and can therefore be used to prevent the changes from adversely affecting other software components. This paper proposes an architecture-centric metric using entropy for assessing structural dependencies among software components. The proposed metric is based on a mathematical model representing the maintainability snapshot of a system. The introduced architectural-level metric includes measures for coupling and cohesion. From this model, the relative maintainability of a component, referred to as a maintainability profile, can be developed to identify architectural decisions that are detrimental to the maintainability of a system.

UR - http://www.scopus.com/inward/record.url?scp=59349087105&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=59349087105&partnerID=8YFLogxK

U2 - 10.1002/smr.396

DO - 10.1002/smr.396

M3 - Article

AN - SCOPUS:59349087105

VL - 21

SP - 1

EP - 18

JO - Journal of software: Evolution and Process

JF - Journal of software: Evolution and Process

SN - 2047-7481

IS - 1

ER -