Projects

Ongoing Research Projects

  • ChatGPT and Code Quality Improvement: The project explores artificial intelligence’s capabilities for improving source code quality. For example, it addresses how ChatGPT improves the quality of the code.

  • Extract Method Refactoring Automation: To increase the adoption of the Extract Method refactoring, in this project, we aim to investigate the effectiveness of machine learning and deep learning algorithms for its recommendation while maintaining the developer’s workflow. This is collaborative work with the industry. Link: https://github.com/JetBrains-Research/anti-copy-paster and https://youtu.be/_wwHg-qFjJY.

  • Data Leakage in Python File: Data leakage is a critical issue in machine learning pipelines that occurs when information from the target variable (the variable we want to predict) unintentionally leaks into the features used to train the model. Preventing data leakage in machine learning pipelines requires a careful understanding of the data, rigorous feature engineering, and robust evaluation techniques to ensure the model’s integrity and generalizability. the goal of this project is to aid data scientists with the detection of leaked data in their code. This is done through the implementation Leakage Detector, a plugin that parses Python code to search for patterns of data leakage.

  • Refactoring in Modern Code Review: The project creates a framework that understands what developers care about when reviewing code and the main criteria developers rely on to accept or reject a submitted refactored code. This framework aims to maximize the acceptance of refactoring to improve the quality of the code by reducing the decision-making process of reviewing refactoring changes.

  • Software Quality in Education: The project educates students on detecting and potentially avoiding code and testing anti-patterns in an educational setting.

Completed Research Projects

  • Self-affirmed Refactoring (SAR): SAR refers to developers’ documentation of their refactoring activities. SAR is key to understanding various aspects of refactoring, including the motivation, procedure, and consequences of the performed code change. All are documented by the code authors themselves. This website contains all the research related to SAR. You will find all papers, artifacts, datasets, and scripts we publicly share for replication and extension. Link: https://smilevo.github.io/self-affirmed-refactoring/