Back to Search
Start Over
Understanding and addressing exhibitionism in Java empirical research about method accessibility
- Publication Year :
- 2016
- Publisher :
- Springer, 2016.
-
Abstract
- Information hiding is a positive consequence of properly defining component interfaces. Unfortunately, determining what should constitute a public interface remains difficult. We have analyzed over 3.6 million lines of Java open-source code and found that on the average, at least 20 % of defined methods are over-exposed, thus threatening public interfaces to unnecessary exposure. Such over-exposed methods may have their accessibility reduced to exactly reflect the method usage. We have identified three patterns in the source code to identify over-exposed methods. We also propose an Eclipse plugin to guide practitioners in identifying over-exposed methods and refactoring their applications. Our plugin has been successfully used to refactor a non-trivial application. Fil: Vidal, Santiago Agustín. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Tandil. Instituto Superior de Ingeniería del Software. Universidad Nacional del Centro de la Provincia de Buenos Aires. Instituto Superior de Ingeniería del Software; Argentina Fil: Bergel, Alexandre. Universidad de Chile; Chile Fil: Marcos, Claudia Andrea. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Tandil. Instituto Superior de Ingeniería del Software. Universidad Nacional del Centro de la Provincia de Buenos Aires. Instituto Superior de Ingeniería del Software; Argentina. Provincia de Buenos Aires. Gobernación. Comisión de Investigaciones Científicas; Argentina Fil: Diaz Pace, Jorge Andres. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Tandil. Instituto Superior de Ingeniería del Software. Universidad Nacional del Centro de la Provincia de Buenos Aires. Instituto Superior de Ingeniería del Software; Argentina
- Subjects :
- Source code
Java
Computer science
media_common.quotation_subject
02 engineering and technology
computer.software_genre
World Wide Web
METHOD ACCESSIBILITY
Empirical research
020204 information systems
Component (UML)
0202 electrical engineering, electronic engineering, information engineering
Code (cryptography)
Plug-in
media_common
computer.programming_language
business.industry
INFORMATION HIDING
020207 software engineering
Ciencias de la Computación
Code refactoring
Information hiding
Ciencias de la Computación e Información
Software engineering
business
computer
Software
CIENCIAS NATURALES Y EXACTAS
Subjects
Details
- Language :
- English
- Database :
- OpenAIRE
- Accession number :
- edsair.doi.dedup.....c94811fb1689b78e3f46e6eaec043855