Skip to content

rigbypc/Sofia-ExpertPlusPlus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

414 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Replication Package

This repository contains the necessary data to replicate the information from the "Mitigating the Risk of Defects and Improving Knowledge Distribution with Code Reviewer Recommenders" Paper, which is accepted for presentation at the FSE'26 conference. First, install the dependencies for RelationalGit, as outlined in the README File located in the ReplicationPackage directory.

Dependencies

Before installing the replication package, you need to install the following dependencies.

1) .NET Core

You need to get the latest bits on .NET Core.

2) SQL Server

Download and install Microsoft SQL Server and set up a local server instance on your computer. You can install SQL Server Management Studio to query the database.

3) PowerShell Core

You need to get the latest version of PowerShell Core. RelationalGit uses PowerShell for extracting blame information.

RelationalGit 💘 Open Source

RelationalGit has been built on top of the most popular Git Libraries. It uses libgit2Sharp, Octokit.Net, and Octokit.Extensions to extract the data from the git data structure and GitHub, respectively.

RelationalGit extracts valuable information about commits, blame, changes, developers, and pull requests from Git's data structure and imports it into a relational database, such as Microsoft SQL Server. These data can be used for further source code mining analysis. You can easily query the database and find answers to many interesting questions. Since source code mining is one of the most prominent topics in academia and industry, RelationalGit aims to facilitate researchers' investigations more conveniently. For example, you can find answers to the following questions by running a simple SQL query over extracted data.

  • What files have recently been changed by a given developer?
  • Who is the author of a specific line in a specific file? (Git Blame)
  • Which developer has the most commits?
  • What files are usually changed together? This way, you can detect and document your hidden dependencies.
  • Which developer has the most knowledge about a file or project? This idea is based on Rigby's paper.
  • Which files are constantly changing? Maybe they are bug-prone.
  • Who is the most appropriate developer to work on a given file?

Install (dotnet Global Tool)

SofiaWL-ExpertPlusPlus is a dotnet Global tool based on RelationalGit. You should install this tool to run the simulations. You can use it seamlessly with your favorite command-line application.

dotnet tool install --global SofiaWL-ExpertPlusPlus --version 1.1.3

Replication

For replication steps and running simulations, read the README File in the ReplicationPackage directory.

About

Source code and dataset for the "Mitigating the Risk of Defects and Improving Knowledge Distribution with Code Reviewer Recommenders" study, accepted for presentation at FSE'26.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors