Implementing a new system by mining open source software (OSS) repositories helps reduce development effort
and concurrently increase productivity. Furthermore, as the OSS ecosystem facilitates vibrant expert and user
communities, developers can get practical supports which allow them to fix bugs as well as to find probable
solutions to various issues alongside the development cycle. Nevertheless, to help developers effectively mine
the existing data, it is crucial to equip them with suitable machineries.
Eclipse SCAVA is an open-source platform for automatically analysing the source code, bug tracking systems,
and communication channels of open source software projects. Eclipse SCAVA provides techniques and tools for
extracting knowledge from existing open source components and use such knowledge to support the selection
and reuse of existing software to develop new systems, and to provide developers with real-time recommendations
that are relevant to the current development task.
As shown below Eclipse SCAVA is conceptually in between the developer and all the different and heterogenous
data sources that one needs to interact with when understanding and using existing open source components.
The developer context is used as query sent to the knowledge base that answers with recommendations that are
relevant with respect to the developer contexts. Machine learning techniques are used to infer knowledge
underpinning the creation of relevant real-time recommendations. The knowledge base infers more insights
from raw data produced by the different mining tools, which are the following:
- Source code miners to extract and store actionable knowledge from the source code of a collection of open-source projects;
- NLP miners to extract quality metrics related to the communication channels, and bug tracking systems of OSS projects by using
Natural Language Processing and text mining techniques;
- Configuration miners to gather and analyse system conﬁguration artefacts and data to provide an integrated DevOps-level view
of a considered open source project;
- Cross-project miners to infer cross-project relationships and additional knowledge underpinning the provision of real-time recommendations;
Additionally, Eclipse SCAVA provide the means to simplify the development of bespoke analysis and knowledge extraction tools by
contributing a framework that will shield engineers from technological issues and allow them to concentrate on the core analysis tasks instead.
(*) Repositories under the umbrella of Eclipse Research Labs have not (yet) completed the Eclipse IP review to ensure they provide sufficient IP terms to be considered "business-friendly" for use in a product.
is a result of the European project CROSSMINER.
receives funding under the European Union's Horizon 2020 Research and Innovation Programme
under grant agreement No. 732223.