Desktop

Micro Analyzer

Automates the major parts of the mining process and can be useful for large-scale mining of performance microbenchmarks.

Mining microbenchmarks on a larger scale may provide insights into how developers design their microbenchmarks and identify the complex, error-prone steps involved in that process. By recognizing these patterns, it could be possible to improve existing tools and create new ones.

Image of a neon token

ROLE

Software Engineer

First Commit

January 6, 2018

TEAM SIZE

1 Engineer

TYPE

Mining Automation

STATUS

Completed

Overview

MicroAnalyzer is an extensible framework designed for large-scale mining of software performance microbenchmarks. This framework addresses the identified challenges. It features a plug-in architecture that allows for the addition of various data sources, language parsers, and analyses as required. A detailed description of the framework is available in my master's thesis.

Key Features

Interface

The framework does not have a user-friendly graphical user interface (GUI). Instead, a command-line interface (CLI) is available for running each module. Users can specify a variety of parameters in the CLI to obtain their desired results.

Data

The input data may already be stored locally in MicroAnalyzer. If not, the framework will retrieve the data from a remote location. Running the preprocessing module produces two datasets, which have been tailored to fit MicroAnalyzer's internal data model.

</>

API & Integration

The MicroAnalyzer framework features a plugin architecture that enables users to extend its capabilities for new mining tasks. The key components of the MicroAnalyzer architecture support various plugins, including language parsers, repository source cloners, dataset analyzers, and VCS data extractors.

Project Preview

Image of project