An Empirical Study of “Removed” Classes in Java Open-Source Systems | Springer Nature Link
Advertisement
An Empirical Study of “Removed” Classes in Java Open-Source Systems
Conference paper
First Online:
15 December 2009
pp 99–104
Cite this conference paper
Advanced Techniques in Computing Sciences and Software Engineering
Abstract
Coupling is an omni-present and necessary feature of OO systems; ideally, classes with excessive coupling should be either refactored and/or removed from the system. However, a problem that immediately arises is the practical difficulty of effecting the removal of such classes due to the many coupling dependencies they have; it is often easier to leave classes where they are and ‘work around’ the problem. In this paper, we describe empirical coupling and size data of classes removed from multiple versions of four open-source systems. We investigated three related, research questions. First, does the amount of coupling influence the choice of removed class? Second, does class size play a role in that choice? Finally, is there a relationship between the frequency with which a class is changed and its point of removal from a system? Results showed a strong tendency for classes with low ‘fan-in’ and ‘fan-out’ to be candidates for removal. Evidence was also found of class types with high imported package and external call functionality being removed; finally, size, in terms of methods and lines of code did not seem to be a contributing factor to class removal. The research addresses an area that is often overlooked in the study of evolving systems, notably the characteristics and features of classes that disappear from a system.
This is a preview of subscription content,
log in via an institution
to check access.
Access this chapter
Log in via an institution
Institutional subscriptions
Preview
Unable to display preview.
Download preview
PDF.
Unable to display preview.
Download preview
PDF.
Similar content being viewed by others
On Clones and Comments in Production and Test Classes: An Empirical Study
Chapter
Why Object-Oriented Programming?
Chapter
Decomposing class responsibilities using distance-based method similarity
Article
14 May 2016
Explore related subjects
Discover the latest articles, books and news in related subjects, suggested using machine learning.
Class switch recombination
Cohesion
Computer Science
Java
Modularity
Open Source
Software Quality Assurance and Defect Prediction
References
L. Briand, P. Devanbu, and W. Melo, “An investigation into coupling measures for C++,” in
19th International Conference on Software Engineering (ICSE 97)
, Boston, USA, 1997, pp. 412–421.
Google Scholar
M. Fowler,
Refactoring: Improving the Design of Existing Code
. New York: Pearson Education, 1999.
Google Scholar
K. El Emam, S. Benlarbi, N. Goel, and S. Rai, “The confounding effect of class size on the validity of object-oriented metrics,”
IEEE Transactions on Software Engineering
, vol. 27 pp. 630–650, 2001.
Article
Google Scholar
T. Dinh-Trong, and J. Bieman, “Open source software development: a case study of FreeBSD,” in
10th IEEE International Symposium on Software Metrics
, Chicago, USA, 2004, pp. 96–105.
Google Scholar
R. Ferenc, I. Siket, T. Gyimothy, “Extracting facts from open source software,” in
20th International Conference on Software Maintenance (ICSM 2004)
, Chicago, USA, 11–17 September 2004, pp. 60–69.
Google Scholar
L. Belady, and M.A. Lehman, Model of Large Program Development.
IBM Sys. Jour.
, vol. 15, pp. 225–252, 1976.
Article
MATH
Google Scholar
N. Smith, A. Capiluppi, and J. Fernandez-Ramil, “Agent-based simulation of open source evolution,”
Journal of Software Process - Improvement and Practice
, vol. 11, pp. 423–434, 2006.
Article
Google Scholar
L. Briand, J. Daly, and J. Wust, “A unified framework for coupling measurement in object-oriented systems,”
IEEE Transactions on Software Engineering
, vol. 25, pp. 91–121, 1999.
Article
Google Scholar
M. Bartsch, and R. Harrison, “A coupling framework for AspectJ,” in
10th International Conference on Evaluation and Assessment in Software Engineering (EASE)
, Keele, UK, 10–11 April 2006.
Google Scholar
W. Li, and S. Henry, “Object oriented metrics that predict maintainability,”
Journal of Systems and Software
, vol. 23, pp. 112–122, 1993.
Article
Google Scholar
S.R. Chidamber, C.F. Kemerer, “A metrics suite for object oriented design,”
IEEE Transactions on Software Engineering
, vol. 20, pp.476–493, 1994.
Article
Google Scholar
C.F. Kemerer, and S. Slaughter, “Need for more longitudinal studies of software maintenance,”
Empirical Software Engineering: An International Journal
, vol. 2, pp. 109–118, 1999.
Article
Google Scholar
C.F. Kemerer, and S. Slaughter, “An empirical approach to studying software evolution,”
IEEE Transactions on Software Engineering
, vol. 25, pp. 493–509, 1999.
Article
Google Scholar
N. Fenton, and S. Pfleeger,
Software Metrics: A Rigorous and Practical Approach, 2nd ed
. Boston: Mass, 1997.
Google Scholar
JHawk tool: (
).
J. Bieman, G. Straw, H. Wang, P. Munger, and R. Alexander, “Design patterns and change proneness: an examination of five evolving systems,” in
Ninth International Software Metrics Symposium
, 2003, pp. 40–49.
Google Scholar
S. Counsell, “Do student developers differ from industrial developers?” in
Proceedings Information Technology Interfaces (ITI) Conference
, Dubrovnik, Croatia, June 2008.
Google Scholar
M. Cartwright, and M. Shepperd, “An empirical investigation of an object-oriented (OO) system,”
IEEE Transactions on Software Engineering
, vol. 26, pp. 786–796, 2000.
Article
Google Scholar
T. Girba, M. Lanza, and S. Ducasse, “Characterizing the evolution of class hierarchies,” in
Ninth European Conference on Software Maintenance and Reengineering
, Manchester, UK, 2005, pp. 2–11.
Google Scholar
A. Mubarak, S. Counsell, R. Hierons, and Y. Hassoun, “Package evolvability and its relationship with refactoring,” in
Third International ERCIM Symposium on Software Evolution
, Paris, France, 2007.
Google Scholar
Download references
Author information
Authors and Affiliations
Department of Information Systems and Computing, Brunel University, Uxbridge, Middlesex, UB8 3PH, UK
Asma Mubarak, Steve Counsell & Robert M. Hierons
Authors
Asma Mubarak
View author publications
Search author on:
PubMed
Google Scholar
Steve Counsell
View author publications
Search author on:
PubMed
Google Scholar
Robert M. Hierons
View author publications
Search author on:
PubMed
Google Scholar
Corresponding author
Correspondence to
Asma Mubarak
Editor information
Editors and Affiliations
School of Engineering, University of Bridgeport, University Avenue 221, Bridgeport, 06604, U.S.A.
Khaled Elleithy
Rights and permissions
Reprints and permissions
Copyright information
About this paper
Cite this paper
Mubarak, A., Counsell, S., Hierons, R.M. (2010). An Empirical Study of “Removed” Classes in Java Open-Source Systems.
In: Elleithy, K. (eds) Advanced Techniques in Computing Sciences and Software Engineering. Springer, Dordrecht. https://doi.org/10.1007/978-90-481-3660-5_17
Download citation
.RIS
.ENW
.BIB
DOI
Published
15 December 2009
Publisher Name
Springer, Dordrecht
Print ISBN
978-90-481-3659-9
Online ISBN
978-90-481-3660-5
eBook Packages
Computer Science
Computer Science (R0)
Springer Nature Proceedings Computer Science
Share this paper
Anyone you share the following link with will be able to read this content:
Sorry, a shareable link is not currently available for this article.
Provided by the Springer Nature SharedIt content-sharing initiative
Keywords
Software Metrics
Software Maintenance
Coupling Metrics
Open Source Software Development
Database Class
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Publish with us
Policies and ethics
Access this chapter
Log in via an institution
Institutional subscriptions