TY - GEN
T1 - Fine-grained software metrics in practice
AU - English, Michael
AU - Buckley, Jim
AU - Cahill, Tony
PY - 2007
Y1 - 2007
N2 - Modularity is one of the key features of the Object-Oriented (OO) paradigm. Low coupling and high cohesion help to achieve good modularity. Inheritance is one of the core concepts of the OO paradigm which facilitates modularity. Previous research has shown that the use of the friend construct as a coupling mechanism in C++ software is extensive. However, measures of the friend construct are scarse in comparison with measures of inheritance. In addition, these existing measures are coarse-grained, in spite of the widespread use of the friend mechanism. In this paper, a set of software metrics are proposed that measure the actual use of the friend construct, inheritance and other forms of coupling. These metrics are based on the interactions for which each coupling mechanism is necessary and sufficient. Previous work only considered the declaration of a relationship between classes. The software metrics introduced are empirically assessed using the LEDA software system. Our results indicate that the friend mechanism is used to a very limited extent to access hidden methods in classes. However, access to hidden attributes is more common.
AB - Modularity is one of the key features of the Object-Oriented (OO) paradigm. Low coupling and high cohesion help to achieve good modularity. Inheritance is one of the core concepts of the OO paradigm which facilitates modularity. Previous research has shown that the use of the friend construct as a coupling mechanism in C++ software is extensive. However, measures of the friend construct are scarse in comparison with measures of inheritance. In addition, these existing measures are coarse-grained, in spite of the widespread use of the friend mechanism. In this paper, a set of software metrics are proposed that measure the actual use of the friend construct, inheritance and other forms of coupling. These metrics are based on the interactions for which each coupling mechanism is necessary and sufficient. Previous work only considered the declaration of a relationship between classes. The software metrics introduced are empirically assessed using the LEDA software system. Our results indicate that the friend mechanism is used to a very limited extent to access hidden methods in classes. However, access to hidden attributes is more common.
UR - http://www.scopus.com/inward/record.url?scp=47949126502&partnerID=8YFLogxK
U2 - 10.1109/ESEM.2007.49
DO - 10.1109/ESEM.2007.49
M3 - Conference contribution
AN - SCOPUS:47949126502
SN - 0769528864
SN - 9780769528861
T3 - Proceedings - 1st International Symposium on Empirical Software Engineering and Measurement, ESEM 2007
SP - 295
EP - 304
BT - Proceedings - 1st International Symposium on Empirical Software Engineering and Measurement, ESEM 2007
T2 - 1st International Symposium on Empirical Software Engineering and Measurement, ESEM 2007
Y2 - 20 September 2007 through 21 September 2007
ER -