Design principles for Prompt Engineering within Large Language Models Case Study on Software Maintenance

Ohjelmistojen ylläpito on merkittävä vaihe ohjelmistojen elinkaarella, joka korostuu suurissa, liiketoimintakriittisissä järjestelmissä. Tässä pro gradu-tutkielmassa tutkitaan generatiivisen tekoälyn vaikutusta ohjelmistojen ylläpitoon. Toteutimme konstruktiivisen suunnittelutieteen tutkimuksen suur...

Full description

Bibliographic Details
Main Author: Uusnäkki, Joonas
Other Authors: Informaatioteknologian tiedekunta, Faculty of Information Technology, Informaatioteknologia, Information Technology, Jyväskylän yliopisto, University of Jyväskylä
Format: Master's thesis
Language:eng
Published: 2023
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/92430
Description
Summary:Ohjelmistojen ylläpito on merkittävä vaihe ohjelmistojen elinkaarella, joka korostuu suurissa, liiketoimintakriittisissä järjestelmissä. Tässä pro gradu-tutkielmassa tutkitaan generatiivisen tekoälyn vaikutusta ohjelmistojen ylläpitoon. Toteutimme konstruktiivisen suunnittelutieteen tutkimuksen suurten kielimallien käytöstä ohjelmistokoodin analyysissä 36 keskustelun avulla 4 eri mallilla etsien systemaattisia lähestymistapoja ohjelmistojen ylläpidon parantamiseksi. Huomasimme, että suuret kielimallit tuottavat järjestelmällisesti näkemyksiä ja ehdotuksia ohjelmistoanalyysiin todellisissa tuotantojärjestelmissä. Tutkimuksen työkaluksi esittelemme PESD-viitekehyksen, joka toimii perustana kehotesuunnittelulle ohjelmistoympäristössä ja tarjoaa suunnitteluperiaatteet kehosuunnittelun tueksi. Software maintenance is a significant phase in software´s lifecycle that is highlighted in large, business-critical systems. In this thesis, the impact of generative AI on software maintenance is investigated. We conducted a constructive design science research on the usage of Large Language Models (LLMs) in the analysis of software code base, with 36 chats within 4 different LLMs, seeking systematic approaches for enhancing software maintenance. We discovered that LLMs systematically produce insights and suggestions in software analysis within real production systems. As a tool for the study, we introduce the PESD framework, which serves as a foundation for prompt engineering within software development environment, offering design principles for the prompt engineering processes.