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.
Abstract
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 |
---|---|
Status: | Published |
Refereed: | Yes |
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: | 1571-0661 |
ISSN (Online): | 1571-0661 |
Published Online: | 07 September 2010 |
University Staff: Request a correction | Enlighten Editors: Update this record