Fundamental nano-patterns to characterize and classify java methods

Singer, J. , Brown, G., Lujan, M., Pocock, A. and Yiapanis, P. (2010) Fundamental nano-patterns to characterize and classify java methods. Electronic Notes in Theoretical Computer Science, 253(7), pp. 191-204. (doi: 10.1016/j.entcs.2010.08.042)

Full text not currently available from Enlighten.


Fundamental nano-patterns are simple, static, binary properties of Java methods, such as ObjectCreator and Recursive. We present a provisional catalogue of 17 such nano-patterns. We report statistical and information theoretic metrics to show the frequency of nano-pattern occurrence in a large corpus of open-source Java projects. We proceed to give two example case studies that demonstrate potential applications for nano-patterns. The first study involves a quantitative comparison of two popular Java benchmarking suites, in terms of their relative object-orientedness and diversity. The second study involves applying machine learning techniques to program comprehension, using method nano-patterns as learning features. In both studies, nano-patterns provide concise summaries of Java methods to enable efficient and effective analysis.

Item Type:Articles
Glasgow Author(s) Enlighten ID:Singer, Dr Jeremy
Authors: Singer, J., Brown, G., Lujan, M., Pocock, A., and Yiapanis, P.
Subjects:Q Science > QA Mathematics > QA75 Electronic computers. Computer science
Q Science > QA Mathematics > QA76 Computer software
College/School:College of Science and Engineering > School of Computing Science
Journal Name:Electronic Notes in Theoretical Computer Science
ISSN (Online):1571-0661
Published Online:07 September 2010

University Staff: Request a correction | Enlighten Editors: Update this record