kth.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Generative AI for automating software uplifts
KTH, School of Engineering Sciences (SCI), Mathematics (Dept.), Mathematics (Div.).
2024 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesisAlternative title
Generativ AI för Programuppgraderingar (Swedish)
Abstract [en]

Third-party libraries are essential to modern software development since they provide pre-built functionality that accelerate the processes. These libraries are however updated frequently, which introduce changes that can potentially break software systems. Therefore, it is important to identify and manage these so-called breaking changes properly. Existing tools such as APIDiff offer capabilities to compare library versions and detect breaking changes, but it remains a research tool and is not production-ready, making it unsuitable for production use.Recently, Large Language Models (LLMs) have shown huge potential in various areas, including software development. However, the use of online LLM tools can pose risks such as information leaks, making a locally executed Generative AI model preferable for security and efficiency. Our aim is to develop a model capable of identifying whether changes are breaking or not, thereby helping software developers in maintaining software.For this study, two base models are selected: Code Llama (7 billion parameters), a decoder-only model, and Code T5+ (770 million parameters), an encoder-decoder model. Both models were pre-trained on code and natural language data. Datasets created based on APIDiff results applied on selected Java repositories are curated for fine-tuning the models. Quantized Low Rank Adaptation (QLoRA) and full fine-tuning are employed on Code Llama 7B and Code T5+ 770M, respectively. Experiments are conducted using various learning rates, maximum steps, and datasets, with evaluations based on metrics such as accuracy, precision, and recall. The final model achieves a high performance, with an accuracy of 98.76%, precision of 98.58%, and recall of 99.76% on the test dataset.This thesis demonstrates the feasibility of using generative AI models to detect breaking changes in software libraries. Furthermore, practical applications of the model are outlined.

Abstract [sv]

Tredjepartsbibliotek är avgörande för modern mjukvaruutveckling eftersom de tillhandahåller färdig funktionalitet som påskyndar utvecklingsprocesserna. Dessa bibliotek uppdateras dock ofta, vilket introducerar förändringar som potentiellt får befintliga programvarusystem att sluta fungera. Därför är det viktigt att identifiera och hantera dessa icke bakåtkompatibla förändringar på ett korrekt sätt. Befintliga verktyg som APIDiff erbjuder möjligheten att jämföra olika versioner av bibliotek och upptäcka dessa kritiska förändringar, men det är fortfarande ett forskningsverktyg och är inte redo för produktion, vilket gör det olämpligt för användning i produktionsmiljöer.Nyligen har stora språkmodeller (LLM) visat enorm potential inom olika områden, inklusive mjukvaruutveckling. Användningen av online LLM-verktyg kan dock innebära risker, såsom informationsläckor, vilket gör att en lokalt exekverad generativ AI-modell föredras för säkerhet och effektivitet. Vårt mål är att utveckla en modell som kan identifiera vilka förändringar som inte är bakåtkompatibla, och därigenom hjälpa mjukvaruutvecklare att underhålla sin mjukvara.För denna studie har två basmodeller valts ut: Code Llama (7 miljarder parametrar), en modell med enbart avkodare (eng: decoder), och Code T5+ (770 miljoner parametrar), en kodare-avkodarmodell (eng: encoder-decoder). Båda modellerna har förtränats på datorkod och naturliga språkdata. Datauppsättningar som skapats baserat på APIDiff-resultat applicerade på utvalda Java-repositorier har kurerats för att finjustera modellerna. Quantized Low Rank Adaptation (QLoRA) och full finjustering används på Code Llama 7B respektive Code T5+ 770M. Experiment utförs med olika inlärningshastigheter, maximala steg och datauppsättningar, med utvärderingar baserade på mått som noggrannhet, precision och återkallelse (eng: recall). Den slutliga modellen uppnår en hög prestanda, med en noggrannhet på 98.76%, precision på 98.58% och återkallelse på 99.76% på testdatauppsättningen.Den här avhandlingen visar potentialen i att använda generativa AI-modeller för att upptäcka icke bakåtkompatibla förändringar i programvarubibliotek. Vidare beskrivs de praktiska tillämpningarna av modellen.

Place, publisher, year, edition, pages
2024. , p. 80
Series
TRITA-SCI-GRU ; 2024:426
Keywords [en]
Generative AI, Transformer, Software, Uplift, Breaking Change
Keywords [sv]
Generativ AI, Transformator, Software, Uplift, Breaking Change
National Category
Computational Mathematics
Identifiers
URN: urn:nbn:se:kth:diva-359219OAI: oai:DiVA.org:kth-359219DiVA, id: diva2:1932354
External cooperation
Ericsson
Educational program
Master of Science - Applied and Computational Mathematics
Supervisors
Examiners
Available from: 2025-01-29 Created: 2025-01-29 Last updated: 2025-01-29Bibliographically approved

Open Access in DiVA

fulltext(2958 kB)76 downloads
File information
File name FULLTEXT02.pdfFile size 2958 kBChecksum SHA-512
66e06ea1d533c5ce37e74ba5c85df7dbab628420dd15d0c3491277f78859b330d661c8b4ade3be60b601a2ae9a8844763854053885cc0ceec732bdc594b450c6
Type fulltextMimetype application/pdf

By organisation
Mathematics (Div.)
Computational Mathematics

Search outside of DiVA

GoogleGoogle Scholar
Total: 76 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 640 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf