بيام: إصلاح تحديثات الاعتماد المعطلة باستخدام نماذج اللغة الكبيرة Byam: Fixing Breaking Dependency Updates with Large Language Models

شارك:
المجلة: Empirical Software Engineering، المجلد: 31، العدد: 4
DOI: https://doi.org/10.1007/s10664-026-10835-1
تاريخ النشر: 2026-04-08
المؤلف: Frank Reyes وآخرون
الموضوع الرئيسي: أبحاث هندسة البرمجيات

نظرة عامة

في هذا البحث، يستكشف المؤلفون تطبيق نماذج اللغة الكبيرة (LLMs) لأتمتة تحديث كود العميل استجابةً لتحديثات الاعتماد المكسورة في واجهات برمجة التطبيقات (APIs). يمكن أن تؤدي هذه التحديثات إلى تعطيل الكود الموجود بسبب تغييرات مثل إهمال أو تعديل المعلمات. تستخدم الدراسة مجموعة بيانات BUMP، التي تقيم تحديثات الاعتماد المكسورة في مشاريع Java، وتقييم خمسة نماذج LLM مختلفة – Google Gemini-2.0 Flash، OpenAI GPT4omini، OpenAI o3-mini، Alibaba Qwen2.5-32b-instruct، وDeepSeek V3 – عبر ثلاثة مستويات من الدقة: البناء، الملف، وأخطاء التجميع الفردية. تشير النتائج إلى أن نماذج LLM، وخاصة نموذج OpenAI o3-mini، يمكن أن تصلح هذه التحديثات بفعالية، حيث تحقق إصلاحًا كاملاً لـ 27% من عمليات البناء وتعالج 78% من أخطاء التجميع الفردية عند تزويدها بمطالبات سياقية.

يقدم البحث Byam، وهو نهج جديد يستفيد من نماذج LLM لحل فشل التجميع الناجم عن تحديثات الاعتماد المكسورة. من خلال التحليل التجريبي مع تكوينات مطالبات مختلفة تتضمن معلومات سياقية – مثل الاختلافات بين إصدارات الاعتماد والأسطر المحددة التي تسبب الأخطاء – يوضح المؤلفون أن نموذج o3-mini يمكنه إصلاح 41% من الأخطاء على مستوى الملف وإزالة 78% من الأخطاء الفردية بفعالية. تؤكد النتائج على أهمية تصميم المطالبات السياقية، مما يبرز دورها في تعزيز أداء LLM لإصلاح تحديثات الاعتماد المكسورة. يتم وضع هذه الأتمتة كتحسين حاسم للمطورين في الحفاظ على تحديث اعتمادات المشروع.

مقدمة

تسلط مقدمة هذه الورقة البحثية الضوء على الدور الحاسم لمكتبات البرمجيات التابعة لجهات خارجية في تطوير البرمجيات الحديثة، مع التأكيد على التحديات التي تطرحها تحديثات الاعتماد المكسورة. هذه التحديثات، التي يمكن أن تقدم عدم توافق يؤدي إلى أخطاء في التجميع، تتطلب جهدًا كبيرًا من المطورين لحلها. يقترح المؤلفون حلاً جديدًا، يسمى Byam، الذي يستخدم نماذج اللغة الكبيرة (LLMs) لأتمتة عملية تحديث كود العميل استجابةً لهذه التغييرات المكسورة. يستهدف Byam بشكل خاص أخطاء التجميع، وهي الشكل الأكثر شيوعًا من الانكسار، ويستخدم استراتيجيات مطالبة متقدمة تتضمن معلومات مفصلة حول تحديثات الاعتماد والأخطاء التي تم مواجهتها.

يتم تقييم فعالية Byam من خلال تجارب باستخدام مجموعة بيانات BUMP، التي تتضمن حالات قابلة للتكرار من تحديثات الاعتماد المكسورة في مشاريع Java. تقيم الدراسة أداء خمسة نماذج LLM مختلفة عبر مستويات دقة متنوعة – البناء، الملف، والخطأ الفردي – مما يظهر أن نموذج OpenAI o3-mini يحقق أعلى معدلات نجاح في إصلاح أخطاء التجميع. تشير النتائج إلى أن Byam يمكن أن يقلل بشكل كبير من عبء الصيانة على المطورين، مما يسهل إدارة تحديثات الاعتماد بشكل أكثر كفاءة. كما توضح الورقة المساهمات التي تم تقديمها، بما في ذلك تطوير Byam، وتقييم تجريبي شامل، وتوفير حزمة تكرار لدعم الأبحاث المستقبلية في هذا المجال.

طرق

في هذا القسم، يوضح المؤلفون المنهجية التجريبية المستخدمة لتقييم فعالية Byam، وهي أداة إصلاح البرامج التلقائي (APR)، في معالجة أخطاء التجميع الناجمة عن تحديثات الاعتماد المكسورة. يتم هيكلة البحث حول ثلاثة أسئلة رئيسية: RQ1 تقيم معدل نجاح الإصلاح العام لـ Byam، RQ2 تفحص مدى الإصلاحات الجزئية على كل من مستوى الملف ومستوى الخطأ، و RQ3 تحقق من إمكانية إدخال أخطاء جديدة أثناء عملية الإصلاح. تتضمن المنهجية تحليل تغييرات واجهة برمجة التطبيقات المحددة التي تؤدي إلى فشل كود العميل، ومقارنة الإصدارات القديمة والجديدة من واجهة برمجة التطبيقات، وتحديد التحديثات اللازمة لكود العميل مع الالتزام بالقيود مثل الحفاظ على توقيعات الوظائف.

تشير النتائج التجريبية إلى أن Byam، وخاصة عند استخدام نموذج o3-mini مع تكوين المطالبة P 8 (الذي يتضمن سلاسل من الأفكار، والأسطر الخاطئة، واختلافات واجهة برمجة التطبيقات)، يحقق معدل نجاح للبناء يبلغ 27%، حيث يصلح 28 من أصل 103 عمليات بناء فاشلة أصلية. تظهر نماذج أخرى، مثل Deepseek V3 وGemini-2.0-flash، أيضًا أداءً ملحوظًا، على الرغم من أن o3-mini يتفوق عليها باستمرار عبر تكوينات مختلفة. تسلط النتائج الضوء على أهمية تصميم المطالبات، وخاصة تضمين اختلافات واجهة برمجة التطبيقات والمعلومات السياقية، بينما تكشف أيضًا أن القدرات الكامنة للنماذج تلعب دورًا حاسمًا في فعاليتها في إصلاح التحديثات المكسورة.

مناقشة

يقدم البحث Byam، وهو نهج جديد يستفيد من نماذج اللغة الكبيرة (LLMs) لأتمتة إصلاح تحديثات الاعتماد المكسورة في مشاريع البرمجيات. تكافح الحلول الحالية مع قابلية التوسع والتكيف، وغالبًا ما تعتمد على قواعد محددة مسبقًا أو بيانات تاريخية واسعة. يتناول Byam هذه القيود من خلال استخدام LLMs لتوليد تصحيحات الكود بناءً على المعلومات السياقية المستخرجة من سجلات البناء، ورسائل الخطأ، واختلافات واجهة برمجة التطبيقات. تتضمن العملية ثلاث خطوات رئيسية: استخراج معلومات البناء، وتوليد الإصلاحات من خلال مطالبات LLM، والتحقق من الإصلاحات من خلال إعادة بناء المشروع. يسمح تصميم Byam لنماذج LLM بالعمل كمساعدين إصلاح مدركين للسياق، مما يعزز كفاءتهم ودقتهم مقارنةً بالطرق التقليدية.

تقيم الدراسة فعالية Byam باستخدام مجموعة بيانات من 103 تحديثات اعتماد مكسورة في العالم الحقيقي، وتقيس النجاح من خلال مقاييس مثل معدل نجاح البناء (BSR)، ومعدل نجاح إصلاح الملفات (FFSR)، ومعدل إصلاح أخطاء التجميع (CEFR). تشير النتائج إلى أن Byam يمكن أن يصلح بشكل كبير أخطاء التجميع، حيث يحقق ما يصل إلى 78% من إصلاحات الأخطاء في عمليات البناء غير الناجحة. إن تضمين عناصر سياقية مثل الأسطر الخاطئة واختلافات واجهة برمجة التطبيقات في المطالبات يحسن بشكل ملحوظ من أداء LLM، مما يؤكد أهمية التفكير المنظم في إصلاح الكود التلقائي. بشكل عام، يظهر Byam قدرة واعدة على معالجة التغييرات المكسورة في اعتمادات البرمجيات، مما يشير إلى إمكانية تحقيق المزيد من التقدم في منهجيات إصلاح البرامج التلقائية.

Journal: Empirical Software Engineering, Volume: 31, Issue: 4
DOI: https://doi.org/10.1007/s10664-026-10835-1
Publication Date: 2026-04-08
Author(s): Frank Reyes et al.
Primary Topic: Software Engineering Research

Overview

In this research, the authors investigate the application of Large Language Models (LLMs) to automate the updating of client code in response to breaking dependency updates in APIs. Such updates can disrupt existing code due to changes like deprecation or modification of parameters. The study utilizes the BUMP dataset, which benchmarks breaking dependency updates in Java projects, and evaluates five different LLMs—Google Gemini-2.0 Flash, OpenAI GPT4omini, OpenAI o3-mini, Alibaba Qwen2.5-32b-instruct, and DeepSeek V3—across three levels of granularity: build, file, and individual compilation errors. The findings indicate that LLMs, particularly the OpenAI o3-mini model, can effectively repair these updates, achieving a complete fix for 27% of builds and addressing 78% of individual compilation errors when provided with contextual prompts.

The paper introduces Byam, a novel approach leveraging LLMs to resolve compilation failures stemming from breaking dependency updates. Through empirical analysis with various prompt configurations that include contextual information—such as differences between dependency versions and specific lines causing errors—the authors demonstrate that the o3-mini model can repair 41% of errors at the file level and effectively eliminate 78% of individual errors. The results underscore the significance of contextualized prompt design, highlighting its role in enhancing LLM performance for fixing breaking dependency updates. This automation is positioned as a crucial advancement for developers in maintaining up-to-date project dependencies.

Introduction

The introduction of this research paper highlights the critical role of third-party software libraries in modern software development, emphasizing the challenges posed by breaking dependency updates. These updates, which can introduce incompatibilities leading to compilation errors, necessitate significant developer effort to resolve. The authors propose a novel solution, named Byam, which utilizes Large Language Models (LLMs) to automate the process of updating client code in response to these breaking changes. Byam specifically targets compilation errors, the most prevalent form of breakage, and employs advanced prompting strategies that incorporate detailed information about the dependency updates and the errors encountered.

The effectiveness of Byam is evaluated through experiments using the BUMP dataset, which includes reproducible cases of breaking dependency updates in Java projects. The study assesses the performance of five different LLMs across various levels of granularity—build, file, and individual error—demonstrating that the OpenAI o3-mini model achieves the highest success rates in fixing compilation errors. The results indicate that Byam can significantly reduce the maintenance burden on developers, facilitating more efficient management of dependency updates. The paper also outlines the contributions made, including the development of Byam, a comprehensive experimental evaluation, and the provision of a replication package to support future research in this area.

Methods

In this section, the authors outline the experimental methodology employed to evaluate the effectiveness of Byam, an Automatic Program Repair (APR) tool, in addressing compilation errors caused by breaking dependency updates. The research is structured around three primary questions: RQ1 assesses Byam’s overall repair success rate, RQ2 examines the extent of partial repairs at both the file and error levels, and RQ3 investigates the potential introduction of new errors during the repair process. The methodology involves analyzing specific API changes that lead to failures in client code, comparing old and new API versions, and determining necessary updates to the client code while adhering to constraints such as maintaining function signatures.

The experimental results indicate that Byam, particularly when utilizing the o3-mini model with the prompt configuration P 8 (which incorporates Chains-of-thought, erroneous lines, and API differences), achieves a build success rate of 27%, successfully repairing 28 out of 103 original failing builds. Other models, such as Deepseek V3 and Gemini-2.0-flash, also demonstrate notable performance, although o3-mini consistently outperforms them across various configurations. The findings highlight the importance of prompt design, particularly the inclusion of API differences and contextual information, while also revealing that the inherent capabilities of the models play a crucial role in their effectiveness in fixing breaking updates.

Discussion

The research presents Byam, a novel approach leveraging large language models (LLMs) to automate the repair of breaking dependency updates in software projects. Existing solutions struggle with scalability and adaptability, often relying on predefined rules or extensive historical data. Byam addresses these limitations by utilizing LLMs to generate code patches based on contextual information extracted from build logs, error messages, and API differences. The process involves three key steps: extracting build information, generating repairs through LLM prompts, and validating the fixes by rebuilding the project. Byam’s design allows LLMs to act as context-aware repair assistants, enhancing their efficiency and accuracy compared to traditional methods.

The study evaluates Byam’s effectiveness using a dataset of 103 real-world breaking dependency updates, measuring success through metrics such as Build Success Rate (BSR), File Fix Success Rate (FFSR), and Compilation Error Fix Rate (CEFR). Results indicate that Byam can significantly repair compilation errors, achieving up to 78% error fixes in unsuccessful builds. The inclusion of contextual elements like erroneous lines and API differences in the prompts notably improves LLM performance, confirming the importance of structured reasoning in automated code repair. Overall, Byam demonstrates a promising capability to address breaking changes in software dependencies, suggesting potential for further advancements in automated program repair methodologies.