1995
DOI: 10.1007/bf02249043
|View full text |Cite
|
Sign up to set email alerts
|

Software complexity and software maintenance: A survey of empirical research

Abstract: A number of empirical studies have pointed to a link between software complexity and software maintenance performance. The primary purpose of this paper is to document "what is known" about this relationship, and to suggest some possible future avenues of research. In particular, a survey of the empirical literature in this area shows two broad areas of study: complexity metrics and comprehension. Much of the complexity metrics research has focused on modularity and structure metrics. The articles surveyed are… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
55
0

Year Published

1997
1997
2017
2017

Publication Types

Select...
8
1

Relationship

2
7

Authors

Journals

citations
Cited by 93 publications
(55 citation statements)
references
References 46 publications
0
55
0
Order By: Relevance
“…SLOC controls for size and is used to assess overall comparability. SLOC is highly correlated with most other metrics (Kemerer 1995). Further, it is as effective a measure of software comparability as other measures (Munson and Khoshgoftaar 1989).…”
Section: Computer Programsmentioning
confidence: 90%
“…SLOC controls for size and is used to assess overall comparability. SLOC is highly correlated with most other metrics (Kemerer 1995). Further, it is as effective a measure of software comparability as other measures (Munson and Khoshgoftaar 1989).…”
Section: Computer Programsmentioning
confidence: 90%
“…Both increased complexity and increased size have been shown in prior research to be significant in predicting the future occurrence of software faults (Kemerer 1995). As the size and complexity of the software grow the likelihood of making errors increases.…”
Section: Product Characteristics and Future Softwarementioning
confidence: 99%
“…Modularity, measured often as coupling and cohesion in software engineering, has much benefits, including more comprehensible design and as a consequence result in better developer performance [43,44], can boost the innovation rate at each module, and enable better system reconfigurability [38]. However, this comes with a cost: First, even software with well defined architecture and internal interfaces tend to degrade over time.…”
Section: Software Designsmentioning
confidence: 99%