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-p...
This thesis explores detecting patterns in the most general interface ...
This study proposes a performance comparison between two Java applications with two different progra...
In this paper we seek to provide a foundation for the study of the level of use of object-oriented t...
AbstractFundamental nano-patterns are simple, static, binary properties of Java methods, such as Obj...
Ensuring software security is essential for developing a reliable software. A software can suffer fr...
Software patterns are used in many applications and domains. They reduce time, effort and cost as th...
This paper argues that semantic information encoded in natural language identifiers is a largely neg...
One or many? If you are thinking about applying the SINGLETON pattern, this is a question you need t...
Software frameworks define generic application blueprints which can be instantiated into an applicat...
In this paper we present a study on micro patterns in different releases of two software systems dev...
When analyzing the evolution history of a software project, we wish to develop results that generali...
In this paper we seek to provide a foundation for the study of the level of use of objectoriented t...
In this paper, we present a method for recognizing algorithms from students' programming submissions...
Numerical computation, knowledge discovery and statistical data analysis integrated with powerful 2D...
In this work we seek to provide a foundation for the study of the level of use of object-oriented te...
This thesis explores detecting patterns in the most general interface ...
This study proposes a performance comparison between two Java applications with two different progra...
In this paper we seek to provide a foundation for the study of the level of use of object-oriented t...
AbstractFundamental nano-patterns are simple, static, binary properties of Java methods, such as Obj...
Ensuring software security is essential for developing a reliable software. A software can suffer fr...
Software patterns are used in many applications and domains. They reduce time, effort and cost as th...
This paper argues that semantic information encoded in natural language identifiers is a largely neg...
One or many? If you are thinking about applying the SINGLETON pattern, this is a question you need t...
Software frameworks define generic application blueprints which can be instantiated into an applicat...
In this paper we present a study on micro patterns in different releases of two software systems dev...
When analyzing the evolution history of a software project, we wish to develop results that generali...
In this paper we seek to provide a foundation for the study of the level of use of objectoriented t...
In this paper, we present a method for recognizing algorithms from students' programming submissions...
Numerical computation, knowledge discovery and statistical data analysis integrated with powerful 2D...
In this work we seek to provide a foundation for the study of the level of use of object-oriented te...
This thesis explores detecting patterns in the most general interface ...
This study proposes a performance comparison between two Java applications with two different progra...
In this paper we seek to provide a foundation for the study of the level of use of object-oriented t...