Back to Research

University of Ontario Institute of Technology  

Project 1159 - Developer Recommender for Cloud-Native Applications for Fault Analysis & Localization


Running from 2022 to present

Developer Recommender for Cloud-Native Applications for Fault Analysis & Localization

This project investigates machine learning and AI techniques to make code recommendations to application developers to help minimize faults in cloud-native applications. It will consider runtime faults such as performance degradation and memory leaks and attempt to correlate these with coding patterns. This research tackles this problem from the angle of detecting and diagnosing these faults at run-time as well as suggesting recommendations via source code analysis during the development phase.

Prior preliminary work in this project focused on lock contention faults and an algorithm was developed that classified lock contentions into 3 types of lock contention based on runtime performance metrics. Research is currently ongoing on the identification and classification of lock contention code patterns from the source code.

We expect the development of a code recommender tool that could be applied in two modes: interactively in an IDE or a standalone tool.

Public Impact Statement:

The project has been able to identify 3 types of lock contention faults that arise from Java applications that can help developers focus on particular tactics in reducing the lock contention. The 3 lock contention types appear to be associated with 1) low lock contention, 2) lock contention caused by holding the lock for too long a period of time, and 3) lock contention caused by high frequency requests for the lock. These 3 lock contentions can be associated to different strategies for reducing the lock contention. With this in mind we have also begun to identify patterns in the code that can lead to lock contention for the purpose of making recommendations to Java application developers.

Explore the product that harvests this research results  

Research team:

  • IBM Project Lead (RCL): Yee-Kang Chang, IBM
  • IBM Manager (RCM): Erin Heximer, IBM
  • IBM Sponsor (RCS): Theony Mousa, IBM
  • IBM Contributor (RCC): Vijay Sundaresan, IBM


University of Ontario Institute of Technology