MASc Seminar: Performance Test Selection Using Machine Learning and a Study of Binning Effect in Memory Allocators

Wednesday, March 27, 2019 10:00 am - 10:00 am EDT (GMT -04:00)

Candidate: Anderson Oliveira Sousa

Title: Performance Test Selection Using Machine Learning and a Study of Binning Effect in Memory Allocators

Date: March 27, 2019

Time: 10:00AM

Place: E5 4047

Supervisor(s): Fischmeister, Sebastian

Abstract:

Performance testing is an essential part of the development life cycle that must be done in a timely fashion. However, checking for performance regressions in software can be time-consuming, especially for complex systems containing multiple lengthy tests cases. The first part of this thesis presents a technique to Performance Test Selection using machine learning. In our approach, we build features using information extracted from the previous software versions to train classifiers that assist developers in deciding whether or not to execute a performance test on a new version. Our results show that the classifiers can be used as a mechanism that aids test selection and consequently avoids unnecessary testing.

The second part of this work investigates the binning effect on user-space memory allocators. First, we examine how binning events can be a source of performance outliers in Redis and CPython object allocators. Second, we implement a \textit{Pintool} to detect the occurrence of binning on Python programs. The tool performs dynamic binary instrumentation on the interpreter and outputs information that helps developers in performing code optimizations. Finally, we use our tool to investigate the presence of binning in various widely used Python libraries.