2011 27th IEEE International Conference on Software Maintenance (ICSM) 2011
DOI: 10.1109/icsm.2011.6080797
|View full text |Cite
|
Sign up to set email alerts
|

Using source code metrics to predict change-prone Java interfaces

Abstract: Abstract-Recent empirical studies have investigated the use of source code metrics to predict the change-and defect-proneness of source code files and classes. While results showed strong correlations and good predictive power of these metrics, they do not distinguish between interface, abstract or concrete classes. In particular, interfaces declare contracts that are meant to remain stable during the evolution of a software system while the implementation in concrete classes is more likely to change.This pape… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

1
125
0

Year Published

2013
2013
2024
2024

Publication Types

Select...
6
2

Relationship

0
8

Authors

Journals

citations
Cited by 107 publications
(126 citation statements)
references
References 33 publications
1
125
0
Order By: Relevance
“…Recent studies showed that interfaces which do not respect the ISP (as measured by the Service Interface Usage Cohesion (SIUC) metric [14]) are more likely to be changeprone interfaces than those respecting ISP [3]. Yet, we still do not know if those change-prone interfaces do not abide the ISP because they adhere to another design principle, or just because they are badly designed as 'fat' interfaces.…”
mentioning
confidence: 83%
See 2 more Smart Citations
“…Recent studies showed that interfaces which do not respect the ISP (as measured by the Service Interface Usage Cohesion (SIUC) metric [14]) are more likely to be changeprone interfaces than those respecting ISP [3]. Yet, we still do not know if those change-prone interfaces do not abide the ISP because they adhere to another design principle, or just because they are badly designed as 'fat' interfaces.…”
mentioning
confidence: 83%
“…Interfaces are meant to govern interactions between semi-independent software classes and to encode shared similarities between different class-types [4], [1]. Good design and use of interfaces can significantly ease program comprehension and software maintainability by fostering modularization and minimizing the impact caused by changes in the software implementation [5], [1], [3]. However, designing good interfaces is a sensitive task with a large influence on the rest of the system [5], [2].…”
mentioning
confidence: 99%
See 1 more Smart Citation
“…We find that our approach can achieve a reasonable weighted precision, recall, F-measure, and AUC scores. The AUC of our approach is more than 0.7, and in many past studies, an AUC score above 0.7 is often considered reasonable [20], [27]. Note that we can achieve these reasonable scores by just using 50 labelled examples.…”
Section: Research Questionmentioning
confidence: 97%
“…Evolutionary development has been proposed as an efficient way to deal with risks such as new technology and imprecise or changing requirements [15]. Changes are made to add new features, to adapt to a new environment, to fix bugs or to re-factor the source code [4]. When adapting a system to new usage patterns or technologies, it is necessary to foresee what such adaptations of architectural design imply in terms of system quality [1].…”
Section: Introductionmentioning
confidence: 99%