Show simple item record

Authordc.contributor.authorVidal, S. 
Authordc.contributor.authorBergel, Alexandre 
Authordc.contributor.authorDíaz Pace, J. A. 
Authordc.contributor.authorMarcos, C. 
Admission datedc.date.accessioned2017-12-21T18:21:46Z
Available datedc.date.available2017-12-21T18:21:46Z
Publication datedc.date.issued2016
Cita de ítemdc.identifier.citationComputer Languages, Systems & Structures 46(2016)1–19es_ES
Identifierdc.identifier.issn1477-8424
Identifierdc.identifier.other10.1016/j.cl.2016.04.001
Identifierdc.identifier.urihttps://repositorio.uchile.cl/handle/2250/146266
Abstractdc.description.abstractJava access modifiers regulate interactions among software components. In particular, class modifiers specify which classes from a component are publicly exposed and therefore belong to the component public interface. Restricting the accessibility as specified by a programmer is key to ensure a proper software modularity. It has been said that failing to do so is likely to produce maintenance problems, poor system quality, and architecture decay. However, how developers uses class access modifiers or how inadequate access modifiers affect software systems has not been investigated yet in the literature. In this work, we empirically analyze the use of class access modifiers across a collection of 15 Java libraries and 15 applications, totaling over 3.6M lines of code. We have found that an average of 25% of classes are over-exposed, i.e., classes defined with an accessibility that is broader than necessary. A number of code patterns involving overexposed classes have been formalized, characterizing programmers' habits. Furthermore, we propose an Eclipse plugin to make component public interfaces match with the programmer's intentes_ES
Lenguagedc.language.isoenes_ES
Publisherdc.publisherElsevieres_ES
Type of licensedc.rightsAttribution-NonCommercial-NoDerivs 3.0 Chile*
Link to Licensedc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/cl/*
Sourcedc.sourceComputer Languages, Systems & Structureses_ES
Keywordsdc.subjectClass accessibilityes_ES
Keywordsdc.subjectModularityes_ES
Keywordsdc.subjectOver-exposed classeses_ES
Keywordsdc.subjectJava systemses_ES
Títulodc.titleOver-exposed classes in Java:An empirical studyes_ES
Document typedc.typeArtículo de revista
Catalogueruchile.catalogadorapces_ES
Indexationuchile.indexArtículo de publicación ISIes_ES


Files in this item

Icon

This item appears in the following Collection(s)

Show simple item record

Attribution-NonCommercial-NoDerivs 3.0 Chile
Except where otherwise noted, this item's license is described as Attribution-NonCommercial-NoDerivs 3.0 Chile