Identifying Performance-Sensitive Configurations in Software Systems through Code Analysis with LLM Agents

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Wang, Zehao, Kim, Dong Jae, Chen, Tse-Hsun
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866911924503969792
author Wang, Zehao
Kim, Dong Jae
Chen, Tse-Hsun
author_facet Wang, Zehao
Kim, Dong Jae
Chen, Tse-Hsun
contents Configuration settings are essential for tailoring software behavior to meet specific performance requirements. However, incorrect configurations are widespread, and identifying those that impact system performance is challenging due to the vast number and complexity of possible settings. In this work, we present PerfSense, a lightweight framework that leverages Large Language Models (LLMs) to efficiently identify performance-sensitive configurations with minimal overhead. PerfSense employs LLM agents to simulate interactions between developers and performance engineers using advanced prompting techniques such as prompt chaining and retrieval-augmented generation (RAG). Our evaluation of seven open-source Java systems demonstrates that PerfSense achieves an average accuracy of 64.77% in classifying performance-sensitive configurations, outperforming both our LLM baseline (50.36%) and the previous state-of-the-art method (61.75%). Notably, our prompt chaining technique improves recall by 10% to 30% while maintaining similar precision levels. Additionally, a manual analysis of 362 misclassifications reveals common issues, including LLMs' misunderstandings of requirements (26.8%). In summary, PerfSense significantly reduces manual effort in classifying performance-sensitive configurations and offers valuable insights for future LLM-based code analysis research.
format Preprint
id arxiv_https___arxiv_org_abs_2406_12806
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Identifying Performance-Sensitive Configurations in Software Systems through Code Analysis with LLM Agents
Wang, Zehao
Kim, Dong Jae
Chen, Tse-Hsun
Software Engineering
Artificial Intelligence
Configuration settings are essential for tailoring software behavior to meet specific performance requirements. However, incorrect configurations are widespread, and identifying those that impact system performance is challenging due to the vast number and complexity of possible settings. In this work, we present PerfSense, a lightweight framework that leverages Large Language Models (LLMs) to efficiently identify performance-sensitive configurations with minimal overhead. PerfSense employs LLM agents to simulate interactions between developers and performance engineers using advanced prompting techniques such as prompt chaining and retrieval-augmented generation (RAG). Our evaluation of seven open-source Java systems demonstrates that PerfSense achieves an average accuracy of 64.77% in classifying performance-sensitive configurations, outperforming both our LLM baseline (50.36%) and the previous state-of-the-art method (61.75%). Notably, our prompt chaining technique improves recall by 10% to 30% while maintaining similar precision levels. Additionally, a manual analysis of 362 misclassifications reveals common issues, including LLMs' misunderstandings of requirements (26.8%). In summary, PerfSense significantly reduces manual effort in classifying performance-sensitive configurations and offers valuable insights for future LLM-based code analysis research.
title Identifying Performance-Sensitive Configurations in Software Systems through Code Analysis with LLM Agents
topic Software Engineering
Artificial Intelligence
url https://arxiv.org/abs/2406.12806