论文标题

从CLI使用中生成示例:变形金刚可以帮助吗?

Generating Examples From CLI Usage: Can Transformers Help?

论文作者

Moghaddam, Roshanak Zilouchian, Garg, Spandan, Clement, Colin B., Mohylevskyy, Yevhen, Sundaresan, Neel

论文摘要

现代软件中的连续演变通常会导致文档,教程和示例与不断变化的界面和框架不同步。依靠过时的文档和示例可以导致程序失败或效率降低甚至不太安全。作为响应,程序员需要定期转向网络上的其他资源,例如Stackoverflow进行示例,以指导他们写作软件。我们认识到,可以使用应用于软件使用数据的机器学习来改善这种不便,容易出错和昂贵的过程。在本文中,我们介绍了实用系统,该系统在大规模遥测数据和文档语料库上使用机器学习,生成了适当且复杂的示例,可用于改善文档。我们讨论了基于功能和基于变压器的机器学习方法,并证明我们的系统可实现产品中使用功能的100%覆盖范围,在每个版本上提供最新的示例,并减少软件所有者撰写和编辑文档提交的PRS数量,> 68%。在三年中,我们还分享了有价值的经验教训,即我们的生产质量系统已用于Azure Cloud命令线接口(Azure CLI)。

Continuous evolution in modern software often causes documentation, tutorials, and examples to be out of sync with changing interfaces and frameworks. Relying on outdated documentation and examples can lead programs to fail or be less efficient or even less secure. In response, programmers need to regularly turn to other resources on the web such as StackOverflow for examples to guide them in writing software. We recognize that this inconvenient, error-prone, and expensive process can be improved by using machine learning applied to software usage data. In this paper, we present our practical system which uses machine learning on large-scale telemetry data and documentation corpora, generating appropriate and complex examples that can be used to improve documentation. We discuss both feature-based and transformer-based machine learning approaches and demonstrate that our system achieves 100% coverage for the used functionalities in the product, providing up-to-date examples upon every release and reduces the numbers of PRs submitted by software owners writing and editing documentation by >68%. We also share valuable lessons learnt during the 3 years that our production quality system has been deployed for Azure Cloud Command Line Interface (Azure CLI).

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源