Home / Definitions / Mining Software Repositories (MSR)

Mining Software Repositories (MSR)

Vangie Beal
Last Updated May 24, 2021 7:49 am

Mining software repositories (MSR) is a software engineering field where software practitioners and researchers use data mining techniques to analyze the data in software repositories to extract useful and actionable information produced by developers during the development process.

Using the Extracted Data

When mining software repositories, the extracted data can be used to discover hidden patterns and trends, support development activities, maintain existing systems or to improve decision-making around future software development and evolution. Typically the data is used to better manage software and to produce higher-quality software systems by analyzing past software development projects.

Types of software repositories include source control repositories, bug repositories, code repositories and even archived developer communications including mailing lists and wiki pages.

MSR Tools

MSR requires tools that extract data and structured code facts from projects. One example of a mining software repositories tool is SeCold, a platform that supports data extraction and on-the-fly inter-dataset integration from major version control, issue tracking, and quality evaluation systems. The dataset contains about two billion facts, such as source code statements, software licenses, and code clones from 18,000 software projects.