Grants and Contributions:

Title:
Enhancing Software Engineering Recommender Systems with Software Analytics
Agreement Number:
RGPIN
Agreement Value:
$20,000.00
Agreement Date:
May 10, 2017 -
Organization:
Natural Sciences and Engineering Research Council of Canada
Location:
Ontario, CA
Reference Number:
GC-2017-Q1-01724
Agreement Type:
Grant
Report Type:
Grants and Contributions
Additional Information:

Grant or Award spanning more than one fiscal year. (2017-2018 to 2018-2019)

Recipient's Legal Name:
Capretz, Luiz (The University of Western Ontario)
Program:
Discovery Grants Program - Individual
Program Purpose:

The creation of software and its usage generate a fair amount of data about the software itself during its development, deployment, and operation. However, raw data require appropriate analysis in order to provide software practitioners and managers with feedback, insights, and analytical services about the software during its production as well as throughout its operation and maintenance.

Software Analytics (SA) have been researched by the communities working on mining software repositories and predictive models, and offer great opportunities for software engineers to accumulate information about a project, predict outcomes, and make recommendations. In general, recommender systems provide software practitioners valuable recommendations or suggestions relevant to their contexts and interests. These recommendations/suggestions facilitate and foster the decision making process.

Recommendation systems in software engineering (RSSE) has become a hot research topic in the last decade. RSSE has been defined as a software application that provides information items estimated to be valuable for a software engineering task in a given context. Recommendation systems for software engineers are emerging to assist developers in various activities – from reusing code to writing effective bug reports. Recommendation systems may guide practitioners in decision making throughout the software development process. In this context, recommendation systems can help software managers efficiently organize their resources and identify problems by analyzing patterns on existing project data in a meaningful manner.

The proposed research program aims to develop recommendation systems to be used in various phases of the software life cycle; we combine the fields of software analytics with mining of software repositories in order to empower recommendation systems. The ultimate goal is to improve the software development process, thus facilitating the management of large software projects. The research methodology follows the procedures to build a recommendation system, i.e., context extraction (trigger and treatment), development of a recommendation engine, and recommendation filtering.

We will meet this goal by offering recommendation services through the development of the following: lessons-learned recommendation system, software features recommendation system, continuous calibration of software prediction, monitoring productivity of software developers, and suggesting assignment of tasks to people based on their personality traits. These systems combine many computer science and engineering methods to proactively tailor recommendations that meet users’ particular information needs and preferences. Through software analytics, this innovative research is expected to advance the state-of-the-art in recommendation systems in software engineering.