paper-with-me

Papers

Raiders of the Lost Dependency: Fixing Dependency Conflicts in Python using LLMs

2025-01-27 · Antony Bartlett, Cynthia Liem, Annibale Panichella

Fixing Python dependency issues is a tedious and error-prone task for developers, who must manually identify and resolve environment dependencies and version constraints of third-party modules and Python interpreters. Researchers have attempted to automate this process by relying on large knowledge graphs and database lookup tables. However, these traditional approaches face limitations due to the variety of dependency error types, large sets of possible module versions, and conflicts among transitive dependencies. This study explores the potential of using large language models (LLMs) to automatically fix dependency issues in Python programs. We introduce PLLM (pronounced "plum"), a novel technique that employs retrieval-augmented generation (RAG) to help an LLM infer Python versions and required modules for a given Python file. PLLM builds a testing environment that iteratively (1) prompts the LLM for module combinations, (2) tests the suggested changes, and (3) provides feedback (error messages) to the LLM to refine the fix. This feedback cycle leverages natural language processing (NLP) to intelligently parse and interpret build error messages. We benchmark PLLM on the Gistable HG2.9K dataset, a collection of challenging single-file Python gists. We compare PLLM against two state-of-the-art automatic dependency inference approaches, namely PyEGo and ReadPyE, w.r.t. the ability to resolve dependency issues. Our results indicate that PLLM can fix more dependency issues than the two baselines, with +218 (+15.97%) more fixes over ReadPyE and +281 (+21.58%) over PyEGo. Our deeper analyses suggest that PLLM is particularly beneficial for projects with many dependencies and for specific third-party numerical and machine-learning modules. Our findings demonstrate the potential of LLM-based approaches to iteratively resolve Python dependency issues.

📄 PDF Abstract BibTeX arXiv:2501.16191

Code (0)

등록된 구현이 없습니다.

Tasks

Knowledge GraphsRAGRetrieval-augmented Generation

Similar Papers 제목 키워드 기반

Raiders of the Lost Art

2019-09-10 · Anthony Bourached, George Cann

Neural style transfer, first proposed by Gatys et al. (2015), can be used to create novel artistic work through rendering a content image in the form of a style image. We present a novel method of reconstructing lost art…

Style Transfer

DABT: A Dependency-aware Bug Triaging Method

2021-04-26 · Hadi Jahanshahi, Kritika Chhabra, Mucahit Cevik, Ayşe Başar

In software engineering practice, fixing a bug promptly reduces the associated costs. On the other hand, the manual bug fixing process can be time-consuming, cumbersome, and error-prone. In this work, we introduce a bug …

BlockingBug fixing

Cross-Lingual Dependency Parsing with Late Decoding for Truly Low-Resource Languages

2017-01-06 · Michael Sejr Schlichtkrull, Anders Søgaard

In cross-lingual dependency annotation projection, information is often lost during transfer because of early decoding. We present an end-to-end graph-based neural network dependency parser that can be trained to reprodu…

Dependency Parsing

Cross-Lingual Dependency Parsing with Late Decoding for Truly Low-Resource Languages

2017-04-01 · EACL 2017 4 · Michael Schlichtkrull, Anders S{\o}gaard

In cross-lingual dependency annotation projection, information is often lost during transfer because of early decoding. We present an end-to-end graph-based neural network dependency parser that can be trained to reprodu…

Dependency Parsing

S-DABT: Schedule and Dependency-Aware Bug Triage in Open-Source Bug Tracking Systems

2022-04-12 · Hadi Jahanshahi, Mucahit Cevik

Fixing bugs in a timely manner lowers various potential costs in software maintenance. However, manual bug fixing scheduling can be time-consuming, cumbersome, and error-prone. In this paper, we propose the Schedule and …

BlockingBug fixingScheduling