An Efficient Approach for Reviewing Security-Related Aspects in Agile Requirements Specifications of Web Applications
需求规格说明中的缺陷会在软件开发生命周期中产生严重的后果。其中一些可能会导致产品质量差和/或时间和预算超支,由于不正确或缺失的质量特性,如安全性。在Web应用程序中需要特别注意此特性,因为它们已成为操纵敏感数据的目标。有几个问题使安全问题难以解决。例如,由于缺乏安全专业知识和在软件开发的早期阶段强调安全性,安全要求经常被误解和不适当地指定。这通常会导致未指定或定义不清的安全相关方面。这些问题在敏捷环境中变得更具挑战性,在敏捷环境中,通常会生成轻量级文档。为了解决这个问题,我们设计了一种方法来审查Web应用程序的敏捷需求规范中与安全相关的方面。我们的建议将用户故事和安全规范作为输入,并通过自然语言处理将这些用户故事与安全属性联系起来。基于相关的安全属性,我们的方法确定了高级别的安全需求,从开放式Web应用程序安全项目(OWASP)进行验证,并生成一个阅读技术,以支持审查人员在检测缺陷。我们评估我们的方法,通过三个实验试验进行了56新手软件工程师,测量的有效性,效率,实用性和易用性。我们比较了我们的方法使用:(1)OWASP高级别的安全要求,(2)一个基于视角的方法,提出了在当代国家的art. The结果加强了我们的信心,使用我们的方法有积极的影响(具有较大的效果大小)的性能检查员的有效性和效率。
2020-09-06 cs.SE
When, why and how to test spreadsheets
测试是软件开发的重要组成部分,在这方面,电子表格就像任何其他软件一样。本文根据一个实践者的经验讨论了电子表格的测试。它考虑了软件测试的概念,以及它与评审的区别,并描述了它可能发生的时间。不同类型的测试进行了描述,并提出了一些技术来执行它们。讨论了一些常见的问题。
2008-07-20 cs.SE
Tasks Decomposition Approaches in Crowdsourcing Software Development
众包软件开发(CSD)的一个主要特点是工作人员实现成功的软件众包所需的任务和技能的复杂性。对向惩教署人员提出的任务进行检查,以确保这些任务易于管理和可实现。一般来说,个别任务来自一般目标导向的项目。有一些将软件项目分解为可管理的任务的实践,称为任务分解。这项研究确定了任务分解技术在软件工程,特别是在CSD的上下文中。然后,我们定义了有经验的开发人员,他们领导请求者分解项目、准备任务和审查提交。本研究探讨并解决了CSD的分解方法。接下来,我们选择TopCoder中的项目来识别CSD上下文中的任务分解过程。最后,我们总结了未来的研究方向,调查分解方法及其在CSD背景下的影响,以确保成功的众包软件项目。
2023-02-10 cs.SE
A Comprehensive Study on Automated Testing with the Software Lifecycle
本文综述了自动化测试在软件生命周期中的作用,分析其相较手动测试在效率、成本和质量评估方面的优势与差异,并探讨自动化测试工具的适用场景。
2024-05-02 cs.SE
Reproducible Builds: Increasing the Integrity of Software Supply Chains
虽然可以通过审查自由和开放源码软件(FOSS)的源代码来增加对它的信心,但信任代码并不等同于信任它的可执行副本。这些通常由第三方供应商构建和分发,如果他们的供应链受到损害,就会产生严重的安全后果。在本文中,我们提出了可再现的构建,这种方法可以确定生成的二进制文件是否与其原始源代码相对应。我们首先定义问题,然后深入了解以“可再现”的方式构建真实世界软件的挑战,即每次构建都生成逐位相同的结果。通过Reproducible Builds项目使Debian Linux发行版具有可复制性的经验,我们还描述了可复制性和质量保证(QA)之间的密切关系。
2021-04-13 cs.SE
A Survey on Software Testing Techniques using Genetic Algorithm
软件行业的总体目标是确保向最终用户交付高质量的软件。为了保证软件的高质量,需要对软件进行测试。测试确保软件满足用户规范和要求。然而,软件测试领域存在许多需要解决的潜在问题,例如测试用例的有效生成、测试用例的优先级排序等。这些问题需要测试的努力,时间和成本。已经提出了不同的技术和方法来处理这些问题。利用进化算法自动生成测试一直是许多研究人员感兴趣的领域。遗传算法(GA)就是这样一种进化算法。在这篇研究论文中,我们提出了一个调查的GA方法来解决软件测试过程中遇到的各种问题。
2014-11-05 cs.SE
On the Current Measurement Practices in Agile Software Development
敏捷软件开发(ASD)方法是作为对传统软件开发方法的反应而引入的。这些方法的原理与传统方法不同,因此敏捷方法与传统方法相比有一些不同的过程和活动。因此,ASD方法需要不同的测量实践相比,传统的方法。敏捷团队往往以最简单有效的方式来进行项目,因此,敏捷方法中的度量实践比传统方法更重要,因为缺乏适当有效的度量实践,会增加项目的风险。本文的目的是调查ASD方法中的当前度量实践,将它们收集在一起,并回顾通用软件度量国际联盟(COSMIC)出版物的敏捷版本。
2013-01-25 cs.SE
The effects of change decomposition on code review -- a controlled experiment
背景:代码审查是一个认知要求高且耗时的过程。以前的定性研究暗示了如何将变更集分解为多个内部一致的变更集,以改进审查过程。到目前为止,文献没有提供定量分析这一假设。目的:(1)量化测量变更分解对代码评审结果的影响(根据发现的缺陷数量,错误报告的问题,建议的改进,时间和理解);(2)定性分析主体如何进行评审和导航代码,构建知识和解决现有问题,在大的和分解的变更中。方法:采用拉式开发模式,对28名软件开发专业人员和研究生进行对照实验。结果如下:变更分解导致更少的错误报告问题,影响受试者如何处理和进行评审活动(通过增加上下文搜索),但既不影响对变更原理的理解,也不影响发现缺陷的数量。结论:变更分解减少了后续数据分析的干扰,但也显著支持了负责审查变更的开发人员的任务。因此,属于不同概念的提交应该分开,并将其作为软件工程中的最佳实践。
2020-01-18 cs.SE
Agile Software Development Methods: Review and Analysis
敏捷-表示“敏捷的质量,运动的准备,敏捷性,活动性,运动中的灵巧性”-软件开发方法试图为渴望的商业社区提供一个答案,要求更轻的重量以及更快,更灵活的软件开发过程。对于快速增长和不稳定的互联网软件行业以及新兴的移动应用环境来说,情况尤其如此。新的敏捷方法已经引起了大量的文献和辩论。然而,关于这个问题的学术研究仍然很少,因为大多数现有的出版物都是由从业人员或顾问撰写的。本出版物的目的是通过系统地回顾敏捷软件开发方法的现有文献来填补这一空白。本出版物有三个目的。首先,提出了敏捷软件开发方法的定义和分类。其次,它分析了十种软件开发方法,可以被描述为“敏捷”的定义标准。第三,对这些方法进行了比较,突出了它们的异同。在此基础上,确定和讨论了未来的研究需求。
2017-09-25 cs.SE
A Methodology of Guiding Web Content Mining and Knowledge Discovery in Evidence-based Software Engineering
系统性文献综述(Systematic Literature Review,SLR)是应用于循证软件工程(Evidence-Based Software Engineering,EBSE)的一种严格的方法论,用于识别、评估和综合相关证据,以回答特定的研究问题。受益于Web 2.0时代蓬勃发展的在线资料,技术Web内容开始成为EBSE的替代来源。Web知识已经从Web内容挖掘和知识发现技术中得到了研究和推导,但是它们仍然与回顾学术文献有显著的不同。因此,EBSE中直接采用Web知识缺乏系统的指导。在本文中,我们提出了一个SLR的适应,以弥合上述差距沿两个阶段。首先,我们遵循SLR的一般逻辑和程序来规范Web挖掘活动。其次,我们用Web挖掘友好的方法和途径替代和增强特定的SLR过程。在第二阶段,我们主要专注于通过集成一组自动化组件,从编程搜索到各种文本挖掘技术,来适应进行审查。
2017-04-25 cs.SE
The GitHub Development Workflow Automation Ecosystems
本章探讨了开发机器人和 GitHub Actions 的生态系统及其相互联系,广泛调查了该领域的最新技术,并讨论了其带来的机遇、威胁以及研究人员和从业者面临的挑战与未来前景。
2023-05-17 cs.SE
Code Review Comprehension: Reviewing Strategies Seen Through Code Comprehension Theories
本研究通过观察十位评审者的25次评审,基于Letovsky模型提出代码评审理解模型,揭示评审依赖机会主义策略,并建议工具优化以支持评审者理解。
2025-03-27 cs.SE
Perspective of Software Engineering Researchers on Machine Learning Practices Regarding Research, Review, and Education
University of Passau(帕绍大学);William & Mary(威廉玛丽学院);Universidad de los Andes(安第斯大学)
本研究从软件工程研究者视角,调查机器学习在SE研究、教学与评审中的实践,发现数据、评估等挑战及推荐实践覆盖率低,提出改进指南与教学以弥合差距。
2026-09-18 cs.LG cs.SE
Design Criteria to Architect Continuous Experimentation for Self-Driving Vehicles
驱动当今车辆的软件由于其快速发展和创新的性质而超越机电一体化成为主要的工程挑战。此外,即将推出的具有自动驾驶功能的车辆的软件和系统架构已经处理约750 MB/s -对应于来自流行的视频点播服务的180多个同步4K视频流。因此,自动驾驶汽车将运行如此多的软件,类似于“车轮上的小型数据中心”,而不仅仅是运输车辆。持续集成、部署和实验已经成功地应用于纯软件产品,作为基于反馈的软件开发的支持方法。例如,一个流行的搜索引擎每天进行约250次实验,以根据用户的行为来改进软件。这项工作研究了软件架构的设计标准以及复杂网络物理系统的相应软件开发和部署过程,目标是实现持续实验,以实现持续的软件进化。我们的研究涉及回顾相关文献的主题,提取相关的设计要求。该研究的结论是通过描述我们的自动驾驶汽车实验室采用的软件开发和部署过程和软件架构,两者都基于提取的标准。
2017-06-12 cs.SE
State-Of-The-Practice in Quality Assurance in Java-Based Open Source Software Development
Delft University of Technology(代尔夫特理工大学)
研究探讨了Java开源项目中质量保证方法的使用情况,发现项目通常不同时高强度应用这些方法,且成熟项目在质量保证实践上更集中于代码审查和ASAT使用。
2023-06-16 cs.SE
A Tool for Test Case Scenarios Generation Using Large Language Models
本文提出一个基于Web的工具,利用LLM智能体和提示工程,从史诗与用户故事中自动生成测试用例场景,以应对需求演变下高效测试的挑战。
2024-06-11 cs.SE
Secure Software Engineering in the Financial Services: A Practitioners' Perspective
安全软件工程是现代软件开发中的一项基本活动。然而,虽然安全研究领域已经取得了相当快的进展,但在实践中,安全专家和软件开发团队之间仍然存在巨大的知识差距。毕竟,我们不能指望开发人员和其他软件从业人员成为安全专家。了解软件开发团队如何将安全性纳入他们的流程以及他们面临的挑战是缩小这一差距的一步。在本文中,我们研究了金融服务公司如何确保其软件系统的安全性。为此,我们进行了一项定性研究的基础上,半结构化的采访,16个软件从业人员从11个不同的金融公司在三大洲。我们的研究结果揭示了从业人员在软件开发过程的不同阶段所采取的安全考虑因素,软件团队使用不同的安全实践来确保其软件系统的安全性,从业人员认为在现有的实践安全工具中重要的改进,不同的知识共享和学习实践,开发人员用来了解更多关于软件安全,以及软件从业人员目前面临的挑战,当谈到保护他们的系统。
2021-04-08 cs.SE
The State of Peer Review in Empirical Software Engineering: A Community Survey on Review Load, Quality, and GenAI Use
Vrije Universiteit Amsterdam(阿姆斯特丹自由大学);University of Florence(佛罗伦萨大学)
通过对实证软件工程社区进行问卷调查(120份回复),研究了同行评审的负荷、质量、生成式AI使用问题及改进建议。
2026-06-03 cs.SE
Continuous Integration, Delivery and Deployment: A Systematic Review on Approaches, Tools, Challenges and Practices
背景:持续的做法,即,持续集成、交付和部署是软件开发行业的实践,使组织能够频繁可靠地发布新功能和产品。随着对持续实践的兴趣和文献的不断增加,系统地审查和综合采用和实施持续实践的方法、工具、挑战和实践是很重要的。目的:这项研究的目的是系统地审查最先进的持续做法,对方法和工具进行分类,确定这方面的挑战和做法,并确定未来研究的差距。方法:我们使用系统文献综述(SLR)方法对2004年至2016年6月1日期间发表的关于连续实践的同行评审论文进行了综述。我们采用主题分析方法分析从审查69篇论文中提取的数据,使用预定义的标准。结果如下:我们已经确定了30种方法和相关工具,这些方法和工具通过以下方式促进了持续实践的实现:(1)“减少持续集成(CI)中的构建和测试时间";(2)“增加CI中构建和测试结果的可见性和意识”;(3)“支持(半)自动化持续测试”;(4)“检测CI中的违规、缺陷和故障”;(5)“减少CI中的构建和测试时间”。(5)“解决部署管道中的安全性和可伸缩性问题”,以及(6)“提高部署过程的可靠性和可靠性”。我们还确定了一系列关键因素,如“测试(努力和时间)”,“团队意识和透明度”,“良好的设计原则”,“客户”,“高技能和积极性的团队”,“应用领域”和“适当的基础设施”,这些因素在特定组织中引入持续实践时应该仔细考虑。
2017-03-21 cs.SE
A Case Study in Assuring AI-Written Software
University College London(伦敦大学学院)
本研究通过医疗平台案例,探讨AI编写软件中人类控制的可靠性,发现测试、监控和审查智能体存在缺陷,提出将结果、证据、权限和决策统一于同一目标以保障人类控制。
2026-10-07 cs.AI cs.MA cs.SE
Software Security Patch Management -- A Systematic Literature Review of Challenges, Approaches, Tools and Practices
软件安全补丁管理旨在支持修补已知软件安全漏洞的过程。随着人们对软件安全补丁管理重要性的认识不断提高,系统地回顾和综合有关这一主题的相关文献是非常重要和及时的。目的:本文旨在系统地回顾软件安全补丁管理的现状,以确定这方面的社会技术挑战,报告的解决方案(即,方法,工具和实践),评估的严谨性和报告的解决方案的工业相关性,并确定未来研究的差距。方法:我们对2002年至2020年3月发表的72项研究进行了系统的文献综述,通过向前滚雪球将覆盖范围扩展至2020年9月。结果如下:我们确定了14个社会技术挑战,18个解决方案方法,工具和实践映射到软件安全补丁管理过程。我们提供了解决方案和挑战之间的映射,使读者能够获得差距领域的整体概述。调查结果还显示,只有20.8%的报告解决方案在工业环境中进行了严格的评估。结论:我们的研究结果显示,50%的常见挑战没有在解决方案中直接解决,其中大多数(38.9%)在流程的一个阶段解决了挑战,即漏洞扫描,评估和优先级排序。根据强调软件安全补丁管理中的重要问题和缺乏解决方案的结果,我们推荐了未来研究方向的列表。这项研究还提供了有用的见解不同的机会,从业者采用新的解决方案,并了解其实际效用的变化。
2021-08-20 cs.SE
Beyond the Control Equations: An Artifact Study of Implementation Quality in Robot Control Software
Ruhr University Bochum(博尔次大学)
本研究探讨了机器人控制软件实施质量的问题,发现实际实现中存在离散化处理不规范、测试不充分等缺陷,需改进指南与验证技术以提升可靠性。
2026-02-04 cs.RO cs.SE
Motivations, Challenges, Best Practices, and Benefits for Bots and Conversational Agents in Software Engineering: A Multivocal Literature Review
本研究通过多声部文献综述梳理软件工程机器人与会话智能体的采用动机、挑战、缓解策略及最佳实践,连接学术研究与产业实践。
2025-03-17 cs.SE
Xcrum: A Synergistic Approach Integrating Extreme Programming with Scrum
本文通过梳理文献、对比分析Scrum与极限编程(XP)两种敏捷方法论的特征与影响,提出融合二者优势的新型混合敏捷方法Xcrum,该方法保留敏捷特性,有望优于原有开发框架。
2023-10-05 cs.SE
A comprehensive safety engineering approach for software-intensive systems based on STPA
Institute of Software Technology, University of Stuttgart(斯图加特大学软件技术研究所);Massachusetts Institute of Technology(麻省理工学院)
本文提出基于STPA的综合安全工程方法,结合软件测试和模型检查,用于开发安全软件,通过安全分析确定软件安全需求,以确保潜在危险原因不发生。
2016-12-09 cs.SE cs.SY eess.SY
RAID: Tool Support for Refactoring-Aware Code Reviews
代码评审是一种关键的开发实践,有助于提高软件质量和促进开发人员之间的知识共享。然而,代码审查通常需要时间,并且需要对文本差异进行详细而耗时的分析。特别是,在代码审查期间检测重构不是一个简单的任务,因为它们没有显式地表示在差异中。例如,移动函数重构由删除的(-)和添加的(+)行代码表示,这些代码可以位于不同的源代码文件中。为了解决这个问题,我们引入了RAID,一个重构感知和智能比较工具。除了提出RAID架构外,我们还实现了一个支持我们解决方案的Chrome浏览器插件。然后,我们进行了现场实验,8名专业开发人员谁使用RAID三个月。我们的结论是,RAID可以减少检测和审查文本差异中的重构所需的认知努力。除了在差异中记录重构之外,RAID还减少了检查这些操作所需的行数。例如,在移动重构的情况下,要查看的行的中位数从14.5减少到2行,在提取的情况下,从113减少到55行。
2021-03-21 cs.SE
The Role of Artificial Intelligence and Machine Learning in Software Testing
Üsküdar University(于斯屈达尔大学);Dhofar University(佐法尔大学)
本文通过文献综述、工具分析和案例研究,系统探讨了AI与ML在软件测试中的应用,表明其能自动化测试用例生成、执行和结果分析,提升缺陷检测效率与软件质量。
2024-09-04 cs.AI cs.SE
An Exploratory Mixed-Methods Study on General Data Protection Regulation (GDPR) Compliance in Open-Source Software
该研究通过混合方法探究GDPR对开源软件开发的影响,发现其增加开发活动、带来实施挑战并引发开发者负面看法,为开源领域隐私合规支持工具与资源建设提供依据。
2024-06-20 cs.SE
A Hybrid Simulation Model for Open Software Development Processes
开放式软件开发为软件组织提供了无限的在线资源供应。资源供应是来自不同位置和时区的未知工作人员的池,并且对执行各种类型的任务感兴趣。在这样的动态和竞争环境中不适当的任务执行导致零任务注册、零任务提交或低合格提交,这是由于不可预见的原因,例如工人行为和绩效的不确定性。因此,为了确保开放式软件开发的有效性,需要更好地理解和了解与吸引可靠的工作人员提交合格的提交和减少任务失败有关的特征。
2021-07-15 cs.SE
Leveraging Reviewer Experience in Code Review Comment Generation
The University of Melbourne(墨尔本大学);Singapore Management University(新加坡管理学院);University of Waterloo(多伦多大学)
本文提出经验感知损失函数(ELF),利用审查者的编写和审查经验作为权重,提升代码审查注释生成质量,相比SOTA模型在准确性、信息量和注释类型上表现更优。
2025-08-13 cs.LG cs.SE
The Used, the Bloated, and the Vulnerable: Reducing the Attack Surface of an Industrial Application
当应用程序依赖性的重要部分实际上未被使用时,软件重用可能导致软件膨胀。有几种工具可以从应用程序或其依赖项中删除未使用的(字节)代码,从而产生更小的工件,并可能减少整体攻击面。在本文中,我们评估的能力,三个debloating工具,以区分哪些依赖类是必要的应用程序,以正确的功能,可以安全地删除。为此,我们对一个真实的商业Java应用程序进行了案例研究。我们的研究表明,我们使用的工具能够正确地识别出相当数量的冗余码,这些代码可以在不改变现有应用程序测试结果的情况下被删除。其中一个冗余类原来是(以前)脆弱的,这证实了这种技术有可能被应用于加固目的。然而,通过手动检查我们的实验结果,我们观察到没有一个工具可以处理广泛使用的动态类加载默认机制。
2021-08-11 cs.SE
A Systematic Literature Review of Modern Software Visualization
我们报告的国家的最先进的软件可视化。为了确保重现性,我们采用了系统性文献综述方法。也就是说,我们分析了来自IEEE Xplore和ACM数字图书馆数据库的1440个条目。我们选择了2013-2019年发表的105篇相关论文全文,我们根据支持的软件系统方面(即,结构、行为和进化)。对于每篇论文,我们提取了表征软件可视化的主要维度,如软件工程任务、用户角色、信息可视化技术和用于显示可视化的媒体。我们为该领域的研究人员提供了软件可视化的最新技术概述,并突出了研究机会。我们还通过将软件可视化与开发关注点和具体细节进行匹配,以获得可用的可视化工具,从而帮助开发人员为其特定环境确定合适的可视化。
2020-03-02 cs.SE
Effective Delegation and Leadership in Software Management
本文研究软件管理中授权与领导力对项目成果的影响,发现有效授权和变革型领导能提升团队效率与项目成功率,并建议组织优先发展相关实践。
2024-05-02 cs.SE
Agentic AI-assisted coding offers a unique opportunity to instill epistemic grounding during software development
Center for Proteomics and Metabolomics, Leiden University Medical Center(蛋白质组学与代谢组学中心,莱顿大学医学中心);National Institute of Standards and Technology - Charleston(国家标准与技术研究院-查尔斯顿)
研究以蛋白质组学为例,提出社区管理的领域范围认知基础文档用于智能AI辅助编码。核心方法是文档编码硬约束和约定参数。主要贡献是助力非领域专家生成优质代码等,增强各方信心并让领域专家参与定制软件开发。
2026-07-22 cs.AI cs.SE q-bio.BM
Example Driven Code Review Explanation
背景:代码审查是软件开发的重要组成部分,以确保软件质量。然而,审评任务的繁重和审评人员工作量的繁重对审评质量产生了负面影响。简短的评论文本通常是不可操作的,这需要评论者和开发人员之间进一步的互动。这个问题在动态团队中变得更加关键,在新团队成员不太熟悉他们的评审员和观点的情况下。目的:我们提出了示例驱动评审解释(EDRE)方法,通过示例添加额外的解释来促进代码评审过程。EDRE推荐类似的代码评审作为示例,以进一步解释评审,并帮助开发人员以更少的通信开销理解收到的评审。方法:通过在工业环境中的实证研究,并通过分析三个开源项目的3,722个代码评审,我们比较了数据检索,文本分类和文本推荐的五种方法。结果如下:使用TF-IDF词嵌入和SVM分类器的EDRE可以为每个代码审查提供实际示例,F分数为92%,准确率为90%。结论:基于实例的解释是一种辅助专家解释决策的既定方法。EDRE是基于相同的理念开发的,可以准确地提供一组特定于上下文的示例,以促进软件团队中的代码评审过程。
2022-07-24 cs.SE
Generating Automotive Code: Large Language Models for Software Development and Verification in Safety-Critical Systems
Technical University of Munich(慕尼黑技术大学)
本文提出将生成式AI与大语言模型集成到汽车软件开发生命周期的新框架,通过静态验证、测试驱动开发和迭代细化实现安全关键代码自动生成,并以自适应巡航控制系统验证其合规性与可靠性。
2025-06-04 cs.AI cs.SE
Softwaretechnische Absicherung intelligenter Systeme im Fahrzeug
“本文介绍了软件工程技术,以确保必要的质量,智能,因此大规模的基于软件的系统在车辆中使用。智能软件的质量保证是通过一系列现代软件工程方法来实现的。用于保护软件组件的体系结构和设计模式由用于验证和检查实现鲁棒性的测试概念和框架补充。这些模式描述了针对某些问题(例如可靠性或有效执行)的已建立的、因此是统一的解决方案。--这篇文章写的是,当今软件开发技术中的一个重要问题,即智能化、软件远程系统。Dabei spielt zunächst das Qualitätsmanagement durch Software-technische Maßnahmen eine zentrale Rolle. Architektur- und Entwurfmuster für die Software-technische Absicherung von Komponenten werden ergänzt um Test-Konzepte zur Validierung von Spezifikationen und der Robustheit der Implementierung. Architekturen und Entwurfs-Muster beschreiben erprobte und damit konsolidierte Lösungen für bestimmte Prob…
2014-10-15 cs.SE
Towards autonomous normative multi-agent systems for Human-AI software engineering teams
Decision Systems Lab University of Wollongong(伍伦贡大学决策系统实验室);Monash University(莫纳什大学);Macquarie University(麦考瑞大学);University of British Columbia(不列颠哥伦比亚大学)
本文提出自主规范的多智能体系统,通过大型语言模型赋能,实现人机协作的高效软件开发。
2025-12-02 cs.SE
On the Use of Causal Graphical Models for Designing Experiments in the Automotive Domain
随机现场实验是评估软件变更对客户影响的黄金标准。在在线领域,随机化一直是确保交换的主要工具。然而,由于部署条件的不同以及对周围环境的高度依赖性,汽车软件的设计实验需要考虑更多的限制变量,以确保条件互换性。在本文中,我们将展示沃尔沃汽车如何利用因果图模型来设计实验,并明确传达实验的假设。这些图形模型被用来进一步评估实验的有效性,计算直接和间接的因果效应,并对因果结论的可移植性进行推理。
2022-04-25 cs.SE
Introducing Traceability in GitHub for Medical Software Development
本文针对医疗软件等安全关键系统在持续软件工程与 DevOps 范式下面临的需求到实现可追溯性挑战,提出在 GitHub 中引入可追溯性能力的方法,使开发人员在保持原有工作方式的同时自动生成满足监管要求的文档。
2021-10-25 cs.SE
Large Language Models Based Automatic Synthesis of Software Specifications
Texas A&M University(德州农工大学);Intel Labs(英特尔实验室)
本文提出SpecSyn框架,首次利用大语言模型以序列到序列方式从自然语言文本中端到端自动综合软件规格,F1分数比现有最佳工具提升21%。
2023-04-18 cs.AI cs.SE
Perception and Acceptance of an Autonomous Refactoring Bot
University of Stuttgart(斯图加特大学);University of Gothenburg(哥德堡大学)
在软件开发任务中使用自主机器人进行自动支持的情况正在增加。然而,在过去,它们并不总是被积极地看待,有时与人类相比会经历负面的偏见。我们进行了一项定性研究,其中我们在一个学生软件开发项目中部署了一个自主重构机器人41天。在此期间和结束时,我们进行了半结构化访谈,以了解开发人员如何看待机器人,以及与人类贡献相比,他们在审查机器人的贡献时是否更重要或更少。我们的研究结果表明,机器人被认为是一个有用和不引人注目的贡献者,开发人员对它的批评并不比他们对人类同事的批评更多,但只有少数团队成员对机器人负责。
2020-01-08 cs.AI cs.HC cs.SE
Evaluation of the Design Metric to Reduce the Number of Defects in Software Development
软件设计是系统开发生存周期(SDLC)阶段中最重要、最关键的活动之一,是软件质量的保证。在设计软件时,不同的关键设计领域是非常重要的。软件设计描述了软件系统如何分解和管理更小的组件。面向对象(OO)范式为软件工业提供了更可靠、更易管理的软件及其设计。软件设计的质量可以通过不同的度量来衡量,例如Chidamber和Kemerer(CK)设计度量,Mood和Lorenz以及Kidd度量。CK度量是软件行业用来评估OO设计的所有度量中最古老和最可靠的度量之一。本文提出了一个评估的CK度量,提出了一个改进的CK设计度量值,以减少软件设计阶段的软件缺陷。本文还将描述任何CK设计指标是否对每个模块的缺陷总数存在显著影响。这是通过在两家软件开发公司进行调查来实现的。
2012-04-22 cs.SE
Software Testing of Generative AI Systems: Challenges and Opportunities
本文探讨了生成式AI系统在软件测试中引入的新挑战,分析了传统测试技术的不足,并提出了未来研究的机遇以提升该领域的质量保证。
2023-09-11 cs.SE
Assessing the Impact of File Ordering Strategies on Code Review Process
本研究针对工业项目IntelliJ IDEA验证了代码审查中文件排序越靠后获审查投入越少、缺陷遗漏风险越高的结论,同时发现按代码差异排序的效果优于默认字母排序,指出需进一步探索更多排序策略。
2023-06-12 cs.SE
(When) Should a Software Factory be Lights-off? Benchmarking Code Review Agents on Bug Detection
Carnegie Mellon University(卡内基梅隆大学);Microsoft(微软);Microsoft Research(微软研究院)
该研究构建了CRBugBench基准,测试发现SOTA审查智能体在缺陷检测上有提升但复杂场景表现差,还给出了开发人员采用审查智能体的具体指导。
2026-10-12 cs.SE
Blockchain software patterns for the design of decentralized applications: A systematic literature review
软件模式是一种可重用的解决方案,用于在设计软件时解决给定上下文中经常出现的问题。使用模式是软件架构师确保软件质量的常见做法。许多模式集合已被提出用于大量的应用程序域。然而,由于该技术的新近发展,只有少数可用的集合在工业区块链应用中缺乏广泛的测试。软件架构师也很难在其应用程序中充分应用区块链模式,因为它需要深入了解区块链技术。通过系统的文献综述,本文确定了120种独特的区块链相关模式,并提出了一种由多个类别组成的模式分类法,该分类法是从提取的模式集合中构建的。该集合的目的是映射、分类和描述文献中所有可用的模式,以帮助读者在区块链模式选择方面做出适当的决定。本研究还展示了这些模式的潜在应用,并确定了区块链模式与其他非区块链软件模式之间的关系。
2022-01-12 cs.SE
Auto-Documenation for Software Development
软件文档是一项必不可少但劳动密集型的任务,通常需要专门的开发人员团队来确保覆盖范围和准确性。良好的文档将有助于缩短开发周期,提高团队的整体效率和可维护性。在当今的众驱动开发环境中,良好的文档可以在从头开始构建开发人员社区方面发挥很大作用。为此,我们迈出了第一步,构建了一个名为Autodoc的工具,可以帮助软件开发人员更快地编写更好的文档。Autodoc超越了传统的样板模板生成。我们的集成工具使用深度学习方法来构建代码的语义理解。就像自然语言中的机器翻译一样,Autodoc可以将代码片段翻译为注释,并将其作为简短的摘要插入文档字符串中。我们还演示了将Autodoc集成为IDE插件以及在向用户的Git存储库提交自动记录的代码时从软件托管平台中的Web钩子。
2017-01-30 cs.SE
Technical Debts and Faults in Open-source Quantum Software Systems: An Empirical Study
量子计算是一个快速发展的领域,吸引了研究人员和软件开发人员的兴趣。在其众多开源工具的支持下,开发人员现在可以构建,测试或运行他们的量子算法。虽然传统软件系统的维护实践已经得到了广泛的研究,但量子软件的维护仍然是一个新的研究领域,但它是确保整个量子计算系统质量的关键部分。在这项工作中,我们着手研究量子软件中技术债务的分布和演变及其与故障发生的关系。了解这些问题可以指导未来的量子开发,并为量子软件开发人员和研究人员应该更加关注的关键领域提供维护建议。在本文中,我们实证研究了从GitHub中选择的118个开源量子项目。这些项目分为10类。我们发现,所研究的量子软件遭受的问题的代码约定违反,错误处理和代码设计。我们还观察到量子软件中的代码设计、冗余码或代码约定与故障发生之间存在统计学显著相关性。
2022-06-01 cs.SE
Software Process Improvement Based on Defect Prevention Using Capability and Testing Model Integration in Extreme Programming
软件过程改进(Software Process Improvement,SPI)在不断净化软件质量的过程中得到了广泛的关注。以前有几种敏捷方法与极限编程(XP)一起使用。在改进过程之前,缺陷预防(DP)是不可避免的。此外,DP在很大程度上取决于缺陷检测,要么在设计和实现阶段发现,要么在测试阶段。然而,测试成熟度模型集成(TMMI)在DP以及软件过程改进中具有至关重要的作用。特别是,当软件通过测试和修复缺陷得到验证时,它实现了以过程改进为目标的最大能力成熟度模型集成(CMMI)。在这里,本文提出了一种改进的缺陷检测和预防模型,以提高软件过程遵循XP的方法。此外,作为一个独特的贡献,我们已经统一了能力和测试模型集成,以确保更好的SPI。
2021-07-12 cs.SE
A Process Mining Software Comparison
www.processmining-software.com是一个专门用于流程挖掘软件比较的网站,旨在为从业者和研究人员提供市场上可用的商业工具的概述。基于文献综述和实验工具测试,开发了一套标准,以客观地评估工具的功能能力。通过我们的公开网站,我们打算增加工具功能的透明度。作为一项学术工作,这项研究的非商业性质确保了与分析公司的报告相比,评估的偏见较少。
2021-02-04 cs.HC cs.SE
Wait, wasn't that code here before? Detecting Outdated Software Documentation
本文针对软件文档易过时的问题,基于作者此前提出的过时代码引用检测方法,开发了一个 GitHub Actions 工具,可在每次提交拉取请求时自动扫描项目文档中的过时引用,帮助开发者维护文档时效性。
2023-07-10 cs.SE
Awareness of Secure Coding Guidelines in the Industry -- A first data analysis
软件需要安全,特别是在部署到关键基础设施时。安全编码指南捕获工业软件工程中的实践,以确保代码的安全性。本研究旨在评估工业软件工程中安全编码的意识水平,软件开发人员发现软件代码中的弱点的技能,避免它们,以及组织支持坚持编码指南。该方法借鉴了完善的理论,政策的遵从性,中立化理论,和安全相关的压力和作者的多年经验,在工业软件工程和经验教训,从培训安全编码的行业。本文介绍了在线调查的问卷设计和初步分析的数据从试点研究。
2021-01-06 cs.SE
Formal Modelling and Verification of Software Defined Network
在云计算中,软件定义网络(SDN)以其在网络配置、提高网络性能和网络监控等方面的优势越来越受到关注。SDN通过允许网络系统的集中控制来解决传统网络中的静态架构的问题。SDN包含集中式网络智能模块,其将转发分组的过程(数据平面)与分组路由过程(控制平面)分离。SDN中数据的安全传输需要保证SDN的正确性。选择模型检查来验证SDN网络。计算树逻辑(CTL)和线性时态逻辑(LTL)用作表示SDN属性的规范。然后形式化地定义了完整的SDN结构及其Kripke结构。最后,针对SDN Kripke模型分析了时间特性,以确保SDN的性质是正确的。
2020-04-09 cs.SE