Opendata, web and dolomites

Report

Teaser, summary, work performed and final results

Periodic Reporting for period 1 - CROSSMINER (Developer-Centric Knowledge Mining from Large Open-Source Software Repositories)

Teaser

Open source software (OSS) is computer software provided under a license that permits developers to study, change, and improve the software for free. A report by Standish Group states that adoption of open source software models has resulted in savings of about €58 billion...

Summary

Open source software (OSS) is computer software provided under a license that permits developers to study, change, and improve the software for free. A report by Standish Group states that adoption of open source software models has resulted in savings of about €58 billion per year to consumers. Unlike commercial software, which is developed with a business motivated commitment to provide support and updates, OSS technologies are most often developed in a public, collaborative, and loosely-coordinated manner. This has important implications for the quality of different OSS technologies, as well as the level of support that different OSS communities provide to software developers.

While there are several high quality and mature OSS projects that deliver stable and well-documented products, which often involve a vibrant expert and user community providing support both in answering user questions and in addressing reported defects in the software, there are also many OSS projects that are dysfunctional due to one or more of the following:
+ The development team behind the OSS project invests little time in further development and support
+ Development of the OSS project has been discontinued due to lack of commitment or motivation
+ Documentation is limited or of poor quality making the software difficult to understand and to update
+ The community around the OSS project is small, questions receive late/no response, and defects get repaired slowly or ignored

Consequently, developing new software systems by reusing existing OSS components raises challenges in:
+ Searching for OSS candidate components
+ Evaluating and selecting the most suitable OSS components from amongst identified candidates
+ Adapting selected OSS components to fit specific requirements of new software products and services

Solving these challenges would bring about substantial benefits to European software developers, but also overall within Europe’s increasingly digital community as the reuse of OSS technologies brings important savings in development, which enables increased investment in unique and forward looking innovations for enterprise and individuals.

Work performed

The project has progressed as planned with the focus in the first six months being the definition of the industrial Use Case requirements for each of the six targeted industrial scenarios for exploiting CROSSMINER technologies. These requirements have been used to establish the detailed technical requirements that are driving the technology development and innovation tasks within the project. An evaluation plan for each of the Use Cases was also established in the early project months with specific industrial measures and targets established for validating the results and innovations that will be achieved towards the end of the project.

Following the establishment of the detailed requirements and evaluation plans, a first set of architecture specifications have been developed for the system configuration code analysis, knowledge base, IDE, Web-based dashboards and the integrated platform in the development workpackages 4, 6, 7 and 8. During the second half of the reporting period development of the initial and intermediate versions of the prototype technologies was carried out in each of the development workpackages 2 through 8. The intermediate prototypes of each of the main components addressing mining of source, code, natural language sources, configurations and cross-project relationships of open source software were completed, which were complemented by intermediate prototypes of technologies supporting IDEs, knowledge extraction and the first steps of integrating components within the overall platform, which will be completed in the next reporting period.

Promotional materials have been prepared to support the dissemination actions taken during the first half of the project by the partners and the project website was made operational early on and regularly updated throughout the reporting period. Data management planning has been carried out in alignment with the Open Research Data pilot under the Horizon 2020 Programme, and additional EC requirements introduced during the grant preparation procedures regarding ethics have been addressed.

The project has experienced some minor delays mainly for some supporting deliverables, but the critical path for the research and development work has been maintained and the consortium enters the second half of the project on schedule and within the resource usage and costs expected for the midpoint of the project.

Final results

The CROSSMINER project aims to address these challenges by delivering an integrated platform for development of complex software systems by (1) enabling monitoring, in-depth analysis and evidence-based selection of OSS components; and (2) facilitating knowledge extraction from large open source software repositories. The specific technological capabilities that will be developed within the CROSSMINER project are the following:
+ OSS analysis tools to extract and store actionable knowledge from a collection of OSS projects
+ Natural language analysis tools to extract quality metrics related to community communication channels and bug tracking systems of OSS projects
+ System configuration analysis tools to provide an integrated development and operational view of OSS projects
+ Workflow-based extractors that simplify creation of customised analysis and knowledge extraction from OSS projects
+ Cross-project analysis tools for understanding a wide range of OSS project relationships (e.g. dependencies and conflicts) based on developer defined similarity measures
+ Advanced integrated development environments allowing developers to easily adopt the CROSSMINER knowledge base and analysis tools while receiving OSS project alerts, recommendations, and feedback to improve developer productivity

The outcomes of the CROSSMINER innovations will contribute to the definition of a knowledge base addressing complex classifications of OSS projects and will automate identification of complementary and competing OSS projects, project incompatibilities, and prediction of the future of given OSS projects based on the evolution of other projects having similar historical characteristics. Identifying and reusing high quality OSS projects instead of implementing in-house solutions with similar functionality enables industrial organisations to concentrate on delivering new and innovative features.

CROSSMINER seeks to establish the conditions that will enable the take-up and further enhancement of the code base by third-party developers, especially SMEs, including development of new applications to be commercialised. The project has established key targets that will substantially impact Europe’s software development community and digital economy including a 50% increase in the productivity of software developers and a 50% reduction in development effort through the increased use of OSS projects and increased in the accuracy of project dependencies mining to reduce errors in adopting and deploying OSS projects. The technologies are expected to provide a 50% decrease in the net development time thanks to the relevant recommendations provided by CROSSMINER technologies.

Website & more info

More info: http://www.crossminer-project.org.