Exploring Context-Aware Conversational Agents in Software Development
软件开发是一项复杂的工作,它依赖于涉及大量分布式信息的各种上下文因素。这种知识可包括:与技术有关的任务、软件操作环境和利益攸关方的要求。在软件开发中使用这些知识的一个主要障碍是,这些信息中的大多数是隐含的,并在开发人员的头脑中捕获(隐性)或通过大量文档传播。开发人员在开发软件时,经常需要维护这些任务的心理模型。因此,上下文很容易丢失或忘记,开发人员在完成项目时经常使用试错法。本研究旨在分析在任务执行期间使用聊天机器人支持软件开发人员是否可以改善整体开发体验。聊天机器人可以帮助开发人员基于隐式上下文信息执行不同的任务。我们提出了一个实现,以探索使用文本聊天机器人来帮助开发人员自动和主动地与软件开发项目活动,复发的可行性。
2020-06-03 cs.SE
BackportBench: A Multilingual Benchmark for Automated Backporting of Patches
The Chinese University of Hong Kong, Shenzhen (CUHK-Shenzhen)(香港中文大学(深圳))
BackportBench是一个多语言基准测试,用于评估自动化补丁回退技术,展示了代理方法在处理复杂补丁回退任务中的优越性。
2025-12-01 cs.CL cs.CR cs.SE
An Empirical Study of IoT Security Aspects at Sentence-Level in Developer Textual Discussions
University of Calgary(卡尔加里大学)
本文基于 SO 的 53K 篇 IoT 帖子构建句子级标注基准,训练 RoBERTa 模型 SecBot 识别安全讨论,并通过主题建模归纳开发者面临的九类软件、硬件与网络安全挑战。
2022-06-07 cs.CR cs.IR cs.LG
Systems Variability Modeling: A Textual Model Mixing Class and Feature Concepts
在软件产品线设计领域,系统复用和成本是非常重要的.开发人员的目标是增加系统重用,并减少为每个软件配置从头开始构建组件的成本和工作量。这可以通过开发软件产品线(SPL)来实现。为了处理SPL工程过程,开发了几种方法和几种技术。其中一种方法被称为分离方法。它需要分离系统组件的共性和可变性,以允许基于用户定义的功能进行配置选择。基于文本符号的方法已经被用于其正式的语法和语义来表示系统的功能和实现。但是这些方法在混合特性(概念级)和类(物理级)方面仍然很弱,这些特性和类保证了软件版本的平滑和自动配置生成。缺乏支持混合过程的方法是一个真正的弱点。在本文中,我们通过引入一些元功能,根据其功能分类,提高SPL重用。作为第一个结果,混合类和特征概念是支持在一个简单的方式使用类接口和固有的功能,从特征模型平滑移动到类模型。作为第二个结果,混合过程是由文本设计和实现方法支持的,通过将它们的概念组合在一种语言中来混合类和特征模型。支持的配置生成过程简单、一致且完整。
2013-11-13 cs.SE
Multilingual Multimodal Software Developer for Code Generation
Beihang University(北京航空航天大学);Alibaba Group(阿里巴巴集团);M-A-P;Nanjing University(南京大学)
针对现有代码生成模型仅限文本忽略视觉辅助的问题,提出多模态开发者 MM-Coder,结合 UML 图表与流程图等视觉设计与文本指令,并构建指令微调数据集 MMc-Instruct 与评估基准 MMEval,显著提升了代码生成准确性与架构对齐。
2025-07-11 cs.AI cs.CL cs.SE
Understanding Code Change with Micro-Changes
针对代码差异难以理解的问题,本文提出基于微变更的方法,将差异转化为可自然语言描述的预定义操作,并开发自动检测器,在开源仓库中成功解释超过67%的条件逻辑相关变更。
2024-09-16 cs.SE
Automated Recovery of Issue-Commit Links Leveraging Both Textual and Non-textual Data
Sharif University of Technology(谢里夫理工大学)
一个issue记录了关于问题跟踪系统中所需更改的讨论,而一个commit则包含了版本控制系统中的更改本身。恢复问题和提交之间的链接可以促进许多软件演化任务,如错误定位和软件文档。之前对GitHub上超过50万个问题的研究报告显示,只有大约42.2%的问题是由开发人员手动链接到相关提交的。自动化提交-问题对的链接可以有助于改进所述任务。到目前为止,目前最先进的自动提交-问题链接方法精度较低,导致不可靠的结果,有时甚至会对预测的链接进行人工监督。当提交或问题中缺少文本信息时,低性能变得更加严重。目前的方法也被证明计算昂贵。我们提出了混合链接器,以克服这种限制,利用两个信息渠道;(1)一个非文本为基础的组件,操作非文本,自动记录的提交-问题对的信息来预测链接,(2)一个基于文本的一个使用文本信息的提交-问题对做同样的事情。然后,结合两个分类器的结果,Hybrid-Linker做出最终的预测。因此,每当一个组件在预测链接时出现不足时,另一个组件就会填补空白并改进结果。我们在12个项目的数据集上评估了混合链接器与竞争方法,即FRLink和DeepLink。基于查全率、查准率和F-测度,Hybrid-Linker分别达到90.1%、87.8%和88.9%。它在F指标方面也比FRLink和DeepLink高出31.3%和41.3%。此外,Hybrid-Linker在性能方面也表现出广泛的改进。
2021-07-05 cs.LG cs.SE
Translating Video Recordings of Complex Mobile App UI Gestures into Replayable Scenarios
移动应用的屏幕记录易于获得并捕获与软件开发者有关的大量信息(例如,bug或功能请求),使其成为众包应用反馈的流行机制。因此,这些视频正在成为开发人员必须管理的常见工件。鉴于独特的移动开发限制,包括快速的发布周期和快速发展的平台,用于分析所有类型的丰富软件工件的自动化技术为移动开发人员提供了好处。不幸的是,与其他类型的(文本)工件相比,自动分析屏幕记录存在严重的挑战,这是由于它们的图形性质。为了应对这些挑战,本文介绍了V2S+,这是一种将Android应用使用的视频记录转换为可重播场景的自动化方法。V2S+主要基于计算机视觉技术,并采用最新的目标检测和图像分类解决方案来检测和分类视频中捕获的用户手势,并将其转换为可重播的测试场景。鉴于V2S+采用基于计算机视觉的方法,它适用于混合和原生Android应用程序。我们对V2S+进行了广泛的评估,涉及243个视频,描述了4,028个基于GUI的操作,这些操作是从用户使用功能中收集的,并从90多个流行的原生和混合Android应用程序中复制错误。我们的结果表明,V2S+可以准确地重放场景从屏幕记录,并能够再现$\approx$ 90.2%的顺序动作记录在本机应用程序场景上的物理设备,和$\approx$ 83%的顺序动作记录在混合应用程序场景上的仿真器,都具有较低的开销。与三个行业合作伙伴的案例研究从开发人员的角度说明了V2S+的潜在用途。
2023-01-03 cs.SE
Holistic Combination of Structural and Textual Code Information for Context based API Recommendation
Fudan University(复旦大学);Shanghai Institute of Intelligent Electronics & Systems(上海智能电子与系统研究院);Australian National University(澳大利亚国立大学);Singapore Management University(新加坡管理大学)
基于上下文的API推荐是帮助开发人员有效且高效地找到所需API的重要方法。对于有效的API推荐,我们不仅需要结构和文本代码信息的联合视图,而且还需要控制和数据流图中相关API使用的整体视图。不幸的是,现有的API推荐方法分别利用结构或文本代码信息。在这项工作中,我们提出了一种新的API推荐方法,称为APIRec-CST(API推荐结合结构和文本代码信息)。APIRec-CST是一个深度学习模型,它基于API上下文图网络和代码令牌网络,将API使用与源代码中的文本信息相结合,同时学习结构和文本特征,以进行API推荐。我们应用APIRec-CST对1,914个开源Java项目的JDK库进行了训练,并对另外6个开源项目的API推荐的准确性和MRR(Mean Reciprocal Rank)进行了评估。实验结果表明,该方法分别获得了top1、top5、top10的准确率和60.3%、81.5%、87.7%和69.4%的MRR,显著优于现有的基于图的统计方法和基于树的深度学习方法。进一步的分析表明,文本代码信息是有意义的,提高了准确性和MRR。我们还进行了一项用户研究,其中两组学生被要求使用或不使用我们的APIRec-CST插件完成6个编程任务。结果表明,APIRec-CST能帮助学生更快、更准确地完成任务,对可用性的反馈是积极的。
2020-10-15 cs.AI cs.SE
Balanced Knowledge Distribution among Software Development Teams -- Observations from Open-Source and Closed-Source Software Development
本文提出ConceptRealm方法,利用LDA模型从开源项目的issue和comment中提取文本特征以表示领域知识分布,发现该方法能预测开发人员与issue的契合度,且keeper突然离职会损害团队概念熟悉度。
2022-07-26 cs.IR cs.SE
A Comparative Study of Transformer-based Neural Text Representation Techniques on Bug Triaging
University of Central Florida(中佛罗里达大学)
本研究首次在四个开源数据集上微调多种基于Transformer的语言模型进行缺陷分诊,发现DeBERTa在开发者和组件分配任务上效果最优,且性能差异显著,同时各技术对不同类型缺陷报告各有优势。
2023-10-10 cs.CL cs.IR cs.SE
Bridging Semantic Gaps between Natural Languages and APIs with Word Embedding
开发人员越来越依赖文本匹配工具来分析自然语言单词和API之间的关系。然而,语义差距,即单词和API之间的文本不匹配,对这些工具产生了负面影响。以往的研究都是将词或API转换为低维向量进行匹配,但由于无法同时对词和API进行建模,因此得到的结果不准确。为了解决这个问题,需要解决两个主要挑战:获取大量单词和API进行挖掘,以及对齐单词和API进行建模。因此,本研究提出Word 2API来有效地估计单词和API的相关性。Word 2API从代码存储库中收集了数百万个常用单词和API,以解决获取挑战。然后,使用混洗策略将相关单词和API转换为元组以解决对齐挑战。使用这些元组,Word 2API同时对单词和API进行建模。Word 2API在精度和NDCG方面的相关度估计优于基线10%-49.6%。Word 2API在解决典型的软件任务方面也很有效,例如,查询扩展和API文档链接。使用Word 2API扩展查询的简单系统为开发人员推荐了高达21.4%的相关API。同时,Word 2API在将问答社区中的问题链接到API文档方面,将比较算法提高了7.9%-17.4%。
2018-10-23 cs.SE
SELU: A Software Engineering Language Understanding Benchmark
University of Passau(帕绍大学)
SELU基准评估了LLMs在软件工程文本理解任务中的性能,发现微调模型表现最佳,领域适应未显著提升效果。
2026-10-06 cs.SE
Translating Video Recordings of Mobile App Usages into Replayable Scenarios
William & Mary(威廉与玛丽学院);The University of Texas at Dallas(德克萨斯大学达拉斯分校)
移动应用的屏幕记录易于获得并捕获与软件开发者有关的大量信息(例如,bug或功能请求),使其成为众包应用反馈的流行机制。因此,这些视频正在成为开发人员必须管理的常见工件。鉴于独特的移动开发限制,包括快速的发布周期和快速发展的平台,用于分析所有类型的丰富软件工件的自动化技术为移动开发人员提供了好处。不幸的是,与其他类型的(文本)工件相比,自动分析屏幕记录存在严重的挑战,这是由于它们的图形性质。为了应对这些挑战,本文介绍了V2S,一种轻量级的自动化方法,用于将Android应用程序使用的视频记录转换为可重播的场景。V2S主要基于计算机视觉技术,并采用最新的目标检测和图像分类解决方案来检测和分类视频中捕获的用户动作,并将其转换为可重播的测试场景。我们对V2S进行了广泛的评估,涉及175个视频,描述了3,534个基于GUI的操作,这些操作是从使用功能的用户那里收集的,并再现了80多个流行Android应用程序的错误。我们的研究结果表明,V2S可以准确地重放场景从屏幕记录,并能够再现$\approx$ 89%,我们收集的视频,以最小的开销。与三个工业合作伙伴的案例研究从开发人员的角度说明了V2S的潜在用途。
2020-05-18 cs.CV cs.SE
An Empirical Study on How the Developers Discussed about Pandas Topics
Ahsanullah University of Science and Technology(阿萨努拉科技大学)
本研究通过分析 Stack Overflow 上与 pandas 相关的帖子,运用主题建模识别出 26 个主题并归类为 5 大类,旨在揭示 pandas 主题的流行度和难度,为开发者、教育者和学习者提供指导。
2023-05-10 cs.AI cs.IR cs.SE
Promises and Perils of Inferring Personality on GitHub
人格在我们理解人类行为和行为中起着关键作用。今天,人格的应用是广泛的,建立在心理学的解决方案来推断人格。例如,在软件工程中,一种广泛使用的推断个性的解决方案使用文本通信数据。随着对软件工程中个性的研究不断增长,了解这些解决方案的性能势在必行。本文比较了三种广泛研究的基于文本的性格测试的推理能力,并与GitHub上的基本事实进行了比较。本文探讨了提高人格测验推理能力所面临的挑战和可能的解决方案。我们的研究表明,推断个性的解决方案远非完美。软件工程通信数据可以推断出单个开发人员的个性,平均出错率为41%。在最好的情况下,通过遵循我们的建议,出错率可以降低到36%。
2021-07-15 cs.SE
Generating Accurate Assert Statements for Unit Test Cases using Pretrained Transformers
Microsoft(微软)
单元测试代表了软件测试金字塔的基础,位于集成和端到端测试之下。自动化软件测试的研究人员已经提出了各种各样的技术来帮助开发人员完成这项耗时的任务。在本文中,我们提出了一种方法来支持开发人员编写单元测试的情况下,生成准确和有用的断言语句。我们的方法是基于一个国家的最先进的Transformer模型,最初预训练的英语文本语料库。这个语义丰富的模型然后以半监督的方式在大型源代码语料库上进行训练。最后,我们在为单元测试生成断言语句的任务上微调这个模型。生成的模型能够为给定的测试方法生成准确的断言语句。在我们的实证评估中,该模型能够在第一次尝试中预测开发人员在62%的情况下编写的确切断言语句。结果显示,与文献中先前基于RNN的方法相比,top-1准确度相对提高了80%。我们还展示了预训练过程对模型性能的实质性影响,并将其与断言自动完成任务进行了比较。最后,我们展示了我们的方法可以用来增强EvoSuite测试用例,额外的断言导致提高测试覆盖率。
2020-09-11 cs.LG cs.SE
dFlow: A Domain Specific Language for the Rapid Development of open-source Virtual Assistants
针对现有虚拟助手开发框架对专业技术要求高的问题,本文提出低代码文本式领域特定语言dFlow,配套云原生架构,经200多名初级开发者验证可加速开发、降低参与门槛。
2023-10-03 cs.SE
Improving the Effectiveness of Traceability Link Recovery using Hierarchical Bayesian Networks
William & Mary(威廉与玛丽学院);Cisco Advanced Security Research Group(思科高级安全研究组);Cisco Security and Trust Engineering(思科安全与信任工程部)
可追溯性是现代软件开发过程的基本组成部分,有助于确保程序正常运行和安全。由于手动建立跟踪链接的成本很高,研究人员已经开发出自动化的方法,使用相似性度量来绘制文本软件工件之间的关系。然而,这种技术的有效性往往是有限的,因为它们只利用单一的测量工件相似性,不能同时建模(隐式和显式)的各种开发工件的组之间的关系。在本文中,我们说明了如何通过使用量身定制的概率模型来克服这些限制。为此,我们设计并实现了一个层次化的ProObjectiveModel for SoftwarE Traceability(彗星),它能够推断出候选跟踪链接。Comet能够通过结合文本相似性的多种测量的互补观察能力来建模工件之间的关系。此外,我们的模型可以从整体上整合来自不同来源的信息,包括开发人员的反馈和软件工件组之间的传递(通常是隐式的)关系,以提高推理的准确性。我们对Comet进行了全面的实证评估,说明了在最佳情况下$\approx$ 14%的一组最佳配置基线上的改进,以及在所有受试者中$\approx$ 5%的平均精度。Comet在实践中的相对有效性可能更高,因为通常不可能进行最佳配置。最后,我们在对使用原型Comet Jenkins插件的Cisco Systems开发人员的调查中说明了Comet的实用性潜力。
2022-04-11 cs.AI cs.SE
Deep Learning-based Code Completion: On the Impact on Performance of Contextual Information
本文通过实验评估8类编码、过程与开发者上下文及其组合,发现额外上下文可使深度学习代码补全的正确预测相对提升最高22%。
2025-01-09 cs.SE
git2net - Mining Time-Stamped Co-Editing Networks from Large git Repositories
来自软件仓库的数据已经成为软件工程过程实证研究的重要基础。存储库挖掘文献中反复出现的主题是开发人员网络的推断,例如从项目的提交历史中捕获协作,协调或通信。大多数研究的网络是基于在文件,模块或包的水平上定义的软件制品的合著。虽然这种方法导致了对软件开发的社会方面的见解,但它忽略了关于代码更改和代码所有权的详细信息,例如,哪些开发人员编写了哪些代码行,这些信息包含在软件项目的提交日志中。为了解决这个问题,我们引入了git2net,这是一个可扩展的python软件,可以帮助提取大型git存储库中的细粒度协同编辑网络。它使用文本挖掘技术来分析文件中文本修改的详细历史。这些信息使我们能够构建定向、加权和时间戳网络,其中链接表示一个开发人员编辑了最初由另一个开发人员编写的源代码块。我们的工具应用于开源和商业软件项目的案例研究。我们认为,它为人类协作模式的高分辨率数据开辟了一个巨大的新来源。
2019-03-25 cs.CY cs.SE cs.SI
A Machine Learning-Based Approach For Detecting Malicious PyPI Packages
本文提出结合机器学习与静态分析的 PyPI 恶意软件包检测方法,通过检查元数据、代码、文件和文本特征,利用 stacking 集成分类器实现 0.94 的 F1-measure。
2024-12-06 cs.SE
Helveg: Diagrams for Software Documentation
本文提出Helveg工具,通过高度交互的节点链接图将软件架构可视化引入API文档,以解决传统文本文档不利于高层次探索的问题,并通过对图元设计、交互方式和用户界面的重大改进提升了用户体验。
2025-08-11 cs.SE
Enhancing API Documentation through BERTopic Modeling and Summarization
École de technologie supérieure(高等技术学院)
针对官方 API 文档冗长且不友好的问题,本文结合 BERTopic 主题建模与 NLP 自动生成文档摘要和主题,并评估其性能、连贯性与互操作性。
2023-08-17 cs.AI cs.CL cs.LG
Analysing Time-Stamped Co-Editing Networks in Software Development Teams using git2net
来自软件仓库的数据已经成为软件工程过程实证研究的重要基础。存储库挖掘文献中反复出现的主题是开发人员网络的推断,例如从项目的提交历史中捕获协作,协调或通信。大多数研究的网络是基于软件人工制品的合著。因为这忽略了代码更改和代码所有权的详细信息,我们引入了git 2net,一个可扩展的python软件,它有助于在大型git仓库中提取细粒度的协同编辑网络。它使用文本挖掘技术来分析文件中文本修改的详细历史。我们将我们的工具应用于两个案例研究,使用多个开源的GitHub存储库以及商业软件项目。具体来说,我们使用超过120万次提交和超过25'000名开发人员的数据来测试软件团队中开发人员生产力和共同编辑模式之间关系的假设。我们认为,git 2net开辟了一个巨大的高分辨率的人类协作模式的数据,可用于推进理论在经验软件工程,计算社会科学和组织研究的新来源。
2019-11-21 cs.MA cs.SE cs.SI
Can Transformer Models Effectively Detect Software Aspects in StackOverflow Discussion?
Ahsanullah University of Science and Technology(阿萨努拉科技大学)
针对开发者难从社区讨论中快速定位软件关键特性的问题,本文用Opiner数据集测试多种Transformer模型的软件方面检测性能,发现多数场景下优于SVM基线,但部分方面检测效果差,且大架构表现不如小架构。
2022-09-24 cs.CL cs.SE
Mining Valence, Arousal, and Dominance - Possibilities for Detecting Burnout and Productivity?
与其他行业类似,软件工程领域也受到诸如倦怠等心理疾病的困扰,这会导致开发人员失去兴趣,表现出较低的活动和/或感到无能为力。预防对这类疾病至关重要,而预防又需要及早发现症状。情绪维度的效价,唤醒和支配(VAD)能够从文本通信(如电子邮件)中获得一个人的兴趣(吸引力),激活水平和对特定情况的感知控制水平。作为识别软件工程中生产力损失症状的第一步,本文探讨了VAD指标及其在700,000个Jira问题报告(包含2,000,000条评论)上的属性,因为问题报告跟踪了开发人员在解决错误或新功能方面的进展。使用具有已知VAD分数的14,000个英语单词的通用词典,我们的结果表明,不同类型的问题报告(例如,特征请求与错误)具有合理的效价变化,而问题优先级的增加(例如,从轻微到严重)通常会增加唤醒。此外,我们表明,作为一个问题的解决时间的增加,所以没有觉醒的个人的问题被分配。最后,问题的解决提高了效价,特别是对于问题报告者和快速解决的问题。VAD和问题报告活动之间的这种关系的存在表明,文本挖掘在未来可以提供一种替代方式的工作健康评估调查的承诺。
2016-03-14 cs.SE
Req2Lib: A Semantic Neural Model for Software Library Recommendation
Tongji University(同济大学)
第三方库对于软件项目的开发至关重要。为了获得合适的库,开发人员需要通过筛选、评估和比较来搜索数百万个库。大量的库为程序员找到合适的库设置了障碍。为了帮助开发人员,研究人员提出了基于库使用模式推荐库的自动化方法。然而,这些先前的研究不能充分满足用户的需求,并遭受冷启动问题。在这项工作中,我们希望根据需求描述提出建议,以避免这些问题。为此,我们提出了一种新的神经方法,称为Req 2Lib,它推荐了项目需求描述的库。我们使用一个Sequence-to-Sequence模型来学习自然语言的需求描述的库链接使用信息和语义信息。此外,我们将特定领域的预训练word 2 vec模型应用于词嵌入,该模型是在Stack Overflow帖子的文本语料库上训练的。在实验中,我们用来自5,625个java项目的数据对模型进行了训练和评估。我们的初步评估表明,Req 2Lib可以准确地推荐库。
2020-05-24 cs.IR cs.LG cs.SE
Pre-Training on Software Engineering Texts: Effects on Domain Adaptation and General-Language Understanding
Faculty of Computer Science and Mathematics University of Passau(帕绍大学计算机科学与数学学院)
研究如何让语言模型适应软件工程文本,比较持续预训练和从头预训练,评估领域适应和通用语言理解。发现重用现有模型占优,CPT领域收益小,PTS代价大,还给出实用指南并发布相关资源。
2026-07-09 cs.SE
Sentiment Analysis Tools in Software Engineering: A Systematic Mapping Study
该研究通过系统性映射研究分析106篇论文,总结软件工程领域情感分析工具的应用领域、开发方法等情况,发现最佳方法为神经网络、最佳工具为BERT,同时指出反讽识别等未解决问题,旨在帮助相关人员选合适工具。
2025-02-11 cs.SE