Software Engineering Conference, Australian (2010)
Auckland, New Zealand
Apr. 6, 2010 to Apr. 9, 2010
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ASWEC.2010.35
When building software systems, developers have to weigh the benefits of using one specific solution approach against the risks and costs of using another one. This process is not random. Certain preferences, architectural styles, and solution domain pressures create systematic biases that we can measure in order to assess their impact on the system being built and the underlying development process itself. In this paper we explore, whether the getter and setter methods in Java give rise to a bias also. Getter and setter methods, called "properties", are perceived commonplace and considered by some as a threat to data encapsulation. However, little empirical evidence exists that can reliably inform us about the real impact of the use of properties in Java. For this reason, we examined 102 open-source Java systems and discovered that properties are employed much more carefully than one might expect. Contrary to some folklore, developers use properties not just to gain access to an object's private state, but in a systematic and responsible manner and, in general, consistent with the domain requirements of the developed software system.
empirical study, open-source software, Gini coefficient, decision framing
M. Lumpe, S. Mahmud and R. Vasa, "On the Use of Properties in Java Applications," 2010 Australian Software Engineering Conference (ASWEC 2010)(ASWEC), Auckland, 2010, pp. 235-244.