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:
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.