除了编码之外,软件工程师还花费同样多的时间与同事交换信息和协作。软件工程中的协作工作越来越依赖于专用工具,如通信引擎、问题跟踪器和代码审查平台。
我们的智能协作工具实验室致力于更深入地了解软件工程和其他创意行业的协作流程,并设计出支持协作工作的新型工具。
集体开发活动的跟踪记录是一个丰富的数据源,可用于支持开发过程。为了从开发历史中提取有价值的信息,我们研究包括推荐系统、专业知识建模、分析引擎和问答技术在内的各种方式。
我们致力于改进代码审查工具,使其具备基于代码更改分析和开发者交流历史的智能功能。
我们构建技术和工具,支持大型信使工作区的知识获取和搜索功能。这包括推荐系统和问答技术。
我们系统地调查软件工程师集体工作中存在的问题,并研究利用工具应对这些挑战的可行方式。这一过程有助于为我们的工作提供信息。
我们在现实世界的软件工程工具和环境中应用测试生成和崩溃重现的成熟技术,并研究大语言模型在这些任务中的应用。
我们在公开研讨会和阅读俱乐部聚会上展示自己和他人的有趣成果。
请加入我们的聚会小组来及时了解即将举行的会议。
您有兴趣做演示吗?给 Vladimir 发一封电子邮件吧。
ASE 2023,卢森堡
巴士因子 (BF) 是一个用于跟踪项目中知识分布的指标。这是一个项目为避免停滞所需的最少开发者人数。尽管有多种计算巴士因子的算法,但对于在基于 Git 的提供商处托管的项目,只有少数工具可以轻松计算巴士因子并方便地分析结果。
为此,我们推出 Bus Factor Explorer,这是一款 Web 应用程序,它提供了一个界面和 API,可以通过树形图可视化、模拟模式和图表编辑器计算、导出和探索巴士因子指标。它支持托管在 GitHub 上的仓库,并支持在界面中搜索仓库和同时处理多个仓库的功能。我们的工具可让用户通过分析 VCS 历史记录,确定在开发者更替时存在停滞风险的文件和子系统。
应用程序及其源代码可在 GitHub 上公开获取: https://github.com/JetBrains-Research/bus-factor-explorer可在 YouTube 上观看演示视频:https://youtu.be/uIoV79N14z8
EASE 2023,芬兰奥卢
流行的现代代码审查工具(如 Gerrit 和 GitHub)会按字母顺序对代码审查中的文件进行排序。之前(针对开源项目)的一项研究表明,更改后的文件在代码审查中的位置会影响审查过程。他们的研究结果表明,与其他文件相比,排序靠后的文件得到审查的几率较低。因此,遗漏这些文件中缺陷的几率较高。本论文探讨了文件顺序对 IntelliJ IDEA 代码审查的影响。首先,我们在一个大型专有软件项目上验证之前的研究结果。然后,我们探讨了默认字母顺序之外的另一种排序方式:根据代码差异对更改后的文件进行排序。我们的结果证实了之前研究的观察结果。我们发现,审查者会在代码审查中显示位置更靠前的文件上留下更多评论。此外,这些结果表明,即使数据偏向于按字母顺序排列,在将有问题的文件(需要更多审查精力)放在代码审查中时,根据代码差异对更改后的文件进行排序的效果也优于标准的按字母顺序排列。这些结果显示代码审查的各种排序策略还需要更多探索。