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.

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
