< Back to previous page

Publication

Mining Scala Framework Extensions for Recommendation Patterns

Book Contribution - Book Chapter Conference Contribution

To use a framework, developers often need to hook into and customise some of its functionality.
For example, a common way of customising a framework is to subclass a framework type and to override some of its methods.
Recently, Asaduzzaman et al. defined these customisations as extension points and proposed a new approach to mine large amounts of Java code examples and recommend the most frequently used example, so called extension patterns.
Indeed, recommending extension patterns that frequently occur at such extension points can help developers to adopt a new framework correctly and to fully exploit it.
In this paper, we present a differentiated replication study of the work by Asaduzzaman et al. on Java frameworks.
Our aim is to replicate the work in order to analyse extension points and extension patterns in the context of Scala frameworks.
To this aim, we propose SCALA-XP-MINER, a tool for mining extension patterns in Scala software systems to empirically investigate our hypotheses.

Our results show that the approach proposed by the reference work is also able to mine extension patterns for Scala frameworks and that our tool is able to achieve similar precision, recall and F-Measure compared to FEMIR.
Despite this, the distribution of the extension points by category is different and most of the patterns are rather simple.
Thus, the challenge of recommending more complex patterns to Scala developers is still an open problem.
Book: Proceedings of the 26th International Conference on Software Analysis, Evolution, and Reengineering (SANER 2019)
Series: SANER 2019 - Proceedings of the 2019 IEEE 26th International Conference on Software Analysis, Evolution, and Reengineering
Pages: 514-523
Number of pages: 10
ISBN:978-1-7281-0591-8
Publication year:2019
Keywords:Extension Points, Framework, Graph Mining, Mining Software Repository, Scala Language, Usage Patterns
Accessibility:Open