论文

LLM 生成的应用程序中的软件老化:运行时证据、静态分析和人工编写的比较

Software Aging in LLM-Generated Applications: Runtime Evidence, Static Analysis, and Human-Written Comparisons

模型评测鲁棒性、公平性与可信度评测

摘要

大语言模型 (LLM) 越来越多地用于根据自然语言规范生成可执行软件系统,从而加速开发并减少手动实现工作。尽管最近的研究调查了 LLM 生成的代码的功能正确性、安全性、可维护性和鲁棒性,但人们对此类系统在持续执行下的长期可靠性知之甚少。在本文中,我们通过实验研究了 LLM 跨生成和执行环境生成的基于服务的应用程序中的软件老化症状。使用源自 BaxBench 的后端场景,我们通过基于 LLM 的生成平台生成了针对 JavaScript、Python 和 Rust 的应用程序,使用 BaxBench 衍生的测试对其进行了验证,并对它们进行了 48 小时的工作负载执行。我们监控内存使用情况、响应时间和吞吐量,并使用 Mann-Kendall 测试和 Sen 斜率估计器对其进行分析。我们通过对生成的源代码的静态分析以及与相关后端场景的人工编写实现的探索性比较进一步补充了运行时评估。结果表明,内存使用率是潜在软件老化的最一致指标,在大多数应用程序环境组合中具有统计显着的上升趋势,而响应时间和吞吐量则表​​现出更加异构的行为。静态分析确定了合理的代码级老化机制,并且与人工编写的系统进行比较表明,在 LLM 生成的应用程序中观察到的老化症状与手动开发的实现中也发现的退化模式一致。这些发现表明,在连续运行的环境中部署之前,仅功能正确性不足以评估 LLM 生成的软件的运行可靠性。