论文标题
ControlFlag:用于软件控制结构的自我监督特质模式检测系统
ControlFlag: A Self-Supervised Idiosyncratic Pattern Detection System for Software Control Structures
论文作者
论文摘要
软件调试已被证明使用了一半以上开发人员的时间。然而,与软件(和硬件)开发的自动化有关的领域机器编程(MP)最近在研究和生产质量的自动化调试系统方面取得了进步。在本文中,我们提出了ControlFlag,这是一种自制的MP系统,旨在通过试图检测软件控制结构中的特质模式违规来改善调试。 ControlFlag还建议在检测到异常模式的情况下可能进行校正。我们介绍了ControlFlag的设计,并对其在确定生产质量软件中潜在的编程错误方面的功效进行了实验评估和分析。作为提高软件质量的第一个具体证据,ControlFlag已经发现了卷曲中的异常现象,已被开发人员承认和确定。我们还讨论了ControlFlag的未来扩展。
Software debugging has been shown to utilize upwards of half of developers' time. Yet, machine programming (MP), the field concerned with the automation of software (and hardware) development, has recently made strides in both research and production-quality automated debugging systems. In this paper we present ControlFlag, a self-supervised MP system that aims to improve debugging by attempting to detect idiosyncratic pattern violations in software control structures. ControlFlag also suggests possible corrections in the event an anomalous pattern is detected. We present ControlFlag's design and provide an experimental evaluation and analysis of its efficacy in identifying potential programming errors in production-quality software. As a first concrete evidence towards improving software quality, ControlFlag has already found an anomaly in CURL that has been acknowledged and fixed by its developers. We also discuss future extensions of ControlFlag.