To main content

Generative AI for Software Engineering: Designing and Assembling Machine Learning Pipelines

This thesis aims to explore the potential of Generative AI in the realm of software engineering, focusing on constructing machine learning pipelines. By synthesizing software components through AI, this research hopes to optimize the design, efficiency, and robustness of machine learning applications.

Contact persons

AI-generated image

Master Project Description

With the rising complexities in software engineering, particularly in machine learning applications, the ability to automate and optimize the process of designing software components is becoming indispensable. Generative AI, which has shown prowess in creating content, can be potentially leveraged to design and assemble intricate software components. 

Research Topic Focus

  • Reviewing the principles and applications of Generative AI in various domains.
  • Investigating the challenges and requirements of designing software components, specifically for machine learning pipelines.
  • Designing prompts for generative models capable of producing efficient and reliable software components.
  • Implementing and evaluating the synthesized software components within real-world machine learning pipelines.

Expected Results

  • A comprehensive understanding of the potential and limitations of Generative AI in software engineering.
  • Generative models capable of producing functional software components tailored for machine learning applications.
  • Demonstrated improvements in the efficiency, reliability, and design process of machine learning pipelines using generatively designed components.

Learning Outcomes

  • Gain deep insights into the applications and nuances of prompt engineering and Generative AI.
  • Acquire hands-on experience in integrating Generative AI within the domain of software engineering.
  • Develop a critical understanding of the challenges and intricacies of machine learning pipelines.
  • Enhance problem-solving and innovation skills in the realm of AI-driven software design.

Qualifications

  • Strong foundation in AI, specifically in generative models.
  • Proficient in software engineering principles, practices, and tools.
  • Familiarity with machine learning pipeline tools and frameworks.
  • An innovative mindset with a keen interest in melding AI and software engineering.

References

  1. Hou, Xinyi, et al. "Large language models for software engineering: A systematic literature review." arXiv preprint arXiv:2308.10620(2023).
  2. Ozkaya, Ipek. "Application of Large Language Models to Software Engineering Tasks: Opportunities, Risks, and Implications." IEEE Software3 (2023): 4-8.
  3. White, Jules, et al. "Chatgpt prompt patterns for improving code quality, refactoring, requirements elicitation, and software design." arXiv preprint arXiv:2303.07839(2023).
  4. Xing, Zhenchang, et al. "Prompt Sapper: LLM-Empowered Software Engineering Infrastructure for AI-Native Services." arXiv preprint arXiv:2306.02230(2023)
  5. Wang, Junjie, et al. "Software testing with large language model: Survey, landscape, and vision." arXiv preprint arXiv:2307.07221(2023).

Contact persons/supervisors

Sagar Sen ( Arda Goknil (), Erik Johannes Husom ()