Table of Contents
Fetching ...

Assessing LLMs for Front-end Software Architecture Knowledge

L. P. Franciscatto Guerra, N. Ernst

TL;DR

The paper addresses whether LLMs can understand and aid in VIPER-based front-end software architecture. It adopts a Bloom's taxonomy–driven evaluation using a Swift UIKit VIPER project to probe memory, understanding, application, analysis, evaluation, and creation capabilities of ChatGPT-4 Turbo. Results indicate the LLM excels at high-level design tasks (analyzing, evaluating, creating) but struggles with precise retrieval of architectural details, highlighting both potential cost reductions and practical barriers to deployment. The work contributes a structured benchmark framework for assessing LLM capabilities in software architecture and informs how AI tools can complement human architects in real-world design work.

Abstract

Large Language Models (LLMs) have demonstrated significant promise in automating software development tasks, yet their capabilities with respect to software design tasks remains largely unclear. This study investigates the capabilities of an LLM in understanding, reproducing, and generating structures within the complex VIPER architecture, a design pattern for iOS applications. We leverage Bloom's taxonomy to develop a comprehensive evaluation framework to assess the LLM's performance across different cognitive domains such as remembering, understanding, applying, analyzing, evaluating, and creating. Experimental results, using ChatGPT 4 Turbo 2024-04-09, reveal that the LLM excelled in higher-order tasks like evaluating and creating, but faced challenges with lower-order tasks requiring precise retrieval of architectural details. These findings highlight both the potential of LLMs to reduce development costs and the barriers to their effective application in real-world software design scenarios. This study proposes a benchmark format for assessing LLM capabilities in software architecture, aiming to contribute toward more robust and accessible AI-driven development tools.

Assessing LLMs for Front-end Software Architecture Knowledge

TL;DR

The paper addresses whether LLMs can understand and aid in VIPER-based front-end software architecture. It adopts a Bloom's taxonomy–driven evaluation using a Swift UIKit VIPER project to probe memory, understanding, application, analysis, evaluation, and creation capabilities of ChatGPT-4 Turbo. Results indicate the LLM excels at high-level design tasks (analyzing, evaluating, creating) but struggles with precise retrieval of architectural details, highlighting both potential cost reductions and practical barriers to deployment. The work contributes a structured benchmark framework for assessing LLM capabilities in software architecture and informs how AI tools can complement human architects in real-world design work.

Abstract

Large Language Models (LLMs) have demonstrated significant promise in automating software development tasks, yet their capabilities with respect to software design tasks remains largely unclear. This study investigates the capabilities of an LLM in understanding, reproducing, and generating structures within the complex VIPER architecture, a design pattern for iOS applications. We leverage Bloom's taxonomy to develop a comprehensive evaluation framework to assess the LLM's performance across different cognitive domains such as remembering, understanding, applying, analyzing, evaluating, and creating. Experimental results, using ChatGPT 4 Turbo 2024-04-09, reveal that the LLM excelled in higher-order tasks like evaluating and creating, but faced challenges with lower-order tasks requiring precise retrieval of architectural details. These findings highlight both the potential of LLMs to reduce development costs and the barriers to their effective application in real-world software design scenarios. This study proposes a benchmark format for assessing LLM capabilities in software architecture, aiming to contribute toward more robust and accessible AI-driven development tools.

Paper Structure

This paper contains 15 sections, 1 table.