一句话:提出 ConfiGen 愿景:自动生成配置选项的用户文档,并以后端分析给出选项的定义、使用及其到代码行的可追溯性。
可配置性是软件的普遍属性,但配置选项与代码之间缺乏充分的文档与可追溯性,导致误配置、演化困难:依赖可能被遗漏,选项被移除后相关代码仍残留,或仍被其他选项使用的代码被误删。既有的自动化文档、版本控制历史分析与专用配置管理语言都无法充分应对配置随时间的演化。本文提出名为 ConfiGen 的自动化方法愿景:一方面生成面向用户的配置文档,另一方面提供后端分析,揭示各配置选项的定义与使用位置,并建立到程序代码行的可追溯性,以支撑软件演化。作者通过一个案例研究初步展示了该方法的潜在实用性。
Configurability is a common property of software allowing programs to be customized for the user. While configurability is pervasive, it can also lead to faults (or misconfigurations) and make program evolution challenging. Dependencies can be missed, essential code can be left in place when a configuration option is removed, or code can be deleted or changed when still in use by other configuration options. A key issue is a lack of sufficient documentation and traceability between configuration options and code during software evolution. Existing approaches to solve these problems include automated documentation, analysis of version control history, or the use of special program configuration management languages. However, none of these provide a sufficient solution managing configuration changes over time. In this paper we propose our vision for an automated approach called ConfiGen, which provides user-facing documentation along with a back-end analysis showing definitions and uses of configuration options along with traceability to lines of program code for evolution. We performed a case study demonstrating its potential usefulness.