A Study of Maintainability in Evolving Open-Source Software
我们的研究集中在开源软件的长期演变的背景下的可维护性的特点的评价。根据成熟的软件质量模型,如ISO 9126和最近的ISO 25010,可维护性仍然是与性能,安全性和可靠性一起的关键质量特征。为了实现我们的目标,我们选择了三个复杂的,广泛使用的目标应用程序,可以访问其整个开发历史和源代码。为了实现跨应用程序比较,我们将选择限制在Java平台上开发的GUI驱动软件。我们将我们的检查集中在已发布的版本上,结果在我们的案例研究中包含了111个软件版本。这涵盖了每个应用程序10多年的开发。对于每个版本,我们使用三种不同复杂性的定量模型来确定其可维护性。我们研究了软件规模和可维护性之间的关系,并研究了软件可维护性重要变化的主要驱动因素。我们使用手动源代码检查来分析我们的发现。我们还在包级别进行了更细粒度的评估,以确定应用程序源代码中可维护性问题的分布。最后,我们提供了一个跨应用程序的分析,以确定常见的以及特定于应用程序的模式。
2020-09-02 cs.SE
Technical Debt and Maintainability: How do tools measure it?
软件的技术状态,即,随着越来越多的软件被开发和部署,其技术债务(TD)和可维护性越来越受到关注。由于TD和可维护性既没有统一的定义,也不容易理解,也不能直接测量,从业者可能会应用现成的工具来评估TD或可维护性,他们可能依赖于报告的结果,而不正确理解它们所体现的内容。在本文中,我们:a)系统地确定11个现成的工具来测量TD或可维护性,b)对这些工具中的每一个如何测量和计算TD或可维护性进行深入的调查,以及c)比较这些工具及其特性。我们发现,当代的工具主要集中在软件的内部质量,即,源代码的质量,它们以非常不同的方式定义和测量TD或可维护性,大多数工具测量TD或可维护性是不透明的,并且不清楚为什么一个工具的测量比另一个工具更可信或更具代表性。
2022-02-27 cs.SE
Fixing Vulnerabilities Potentially Hinders Maintainability
安全性是生产高质量软件的最重要要求。然而,几乎每周仍有大量漏洞被发现和修复。我们假设开发人员在修补漏洞时会影响其代码库的可维护性。本文评估了补丁的影响,以提高开源软件的可维护性的安全性。可维护性是基于Better Code Hub的10个准则模型来衡量的,包括1300个与安全相关的提交。结果表明,在41.90%的情况下,安全性和可维护性之间存在权衡,即,开发人员可能会妨碍软件的可维护性。我们的分析表明,38.29%的补丁增加了软件复杂性,37.87%的补丁增加了每单位LOC的百分比。我们的研究的影响是,代码库的变化,而修补漏洞需要格外小心执行;补丁风险评估工具应集成到CI/CD管道;计算机科学课程需要更新;和,更安全的程序设计语言是必要的。
2021-09-12 cs.CR cs.SE
Fostering Microservice Maintainability Assurance through a Comprehensive Framework
本项目提出一个针对微服务架构的自动化评估框架,整合架构可视化、耦合检测、测试覆盖率测量和语义克隆识别等功能,有效提升了微服务系统的可维护性保障能力。
2024-07-23 cs.SE
A Survey on Large Language Model Impact on Software Evolvability and Maintainability: the Good, the Bad, the Ugly, and the Remedy
Virginia Commonwealth University(弗吉尼亚联邦大学);Federal Institute of Ceara(塞阿拉联邦学院);Louisiana State University(路易斯安那州立大学)
本文综述了大型语言模型对软件可变性与可维护性的影响,分析了其带来的积极影响、潜在风险及缓解策略。
2026-01-26 cs.SE
Software Interfaces: On The Impact of Interface Design Anomalies
接口被认为是定义控制半独立软件模块之间交互的契约的重要机制。设计良好的接口通过促进模块化、隐藏实施细节和最大限度地减少软件实施中的变化所造成的影响,大大降低了软件的复杂性和易于维护性。然而,设计好的界面并不是一件简单的任务。接口设计缺陷的存在通常会增加开发成本,降低代码质量和降低开发效率。尽管他们的重要性,目前只有少数研究工作,调查界面设计的质量。在本文中,我们识别和描述常见的界面设计异常,并通过从著名的开源应用程序中提取的例子来说明它们。为了量化界面设计异常的存在,并估计其对界面设计质量的影响,以及对软件质量属性,如可维护性,我们进行了实证研究,涵盖9个开源项目。基于我们的实证结果,我们开发了一套建议,以改善界面设计。
2013-09-30 cs.SE
Characterizing Bugs and Quality Attributes in Quantum Software: A Large-Scale Empirical Study
NIT Srinagar(印度国立技术学院斯利那加分校)
本研究通过大规模分析量子软件缺陷,揭示了全栈库和编译器的高缺陷率及自动化测试对减少缺陷的重要性。
2026-01-02 cs.SE
Echoes of AI: Investigating the Downstream Effects of AI Assistants on Software Maintainability
CodeScene;Equal Experts;Continuous Delivery
本研究探讨AI助手对软件可维护性的影响,发现其在共同开发中未显著提升或降低可维护性,但指出未来需关注代码膨胀和认知债务等潜在风险。
2026-02-26 cs.AI cs.SE
Aspect-Oriented Programming in Secure Software Development: A Case Study of Security Aspects in Web Applications
本研究通过案例对比,证明面向切面编程(AOP)能模块化安全关注点,提升Web应用中安全机制的模块化、可重用性和可维护性,且性能开销极小。
2025-09-09 cs.SE
Quality Assurance of LLM-generated Code: Addressing Non-Functional Quality Characteristics
Department of Computer and Information Science, Linköping University, Sweden(Linköping大学计算机与信息科学系)
研究通过文献综述、行业研讨会和实证分析,探讨LLM生成代码在安全、可维护性和性能效率等非功能性质量特性上的表现,揭示学术研究与行业需求的不匹配,强调需在代码生成流程中集成质量保障机制。
2026-03-12 cs.AI cs.SE
From Metrics to Improvement: A Lifecycle-Aware LLM Feedback Framework for Research Software Quality
University of Amsterdam(阿姆斯特丹大学)
针对研究软件质量问题,本文提出生命周期感知的LLM反馈框架,结合定量质量评估与迭代式LLM代码优化,实验验证其可改善代码重复等质量属性,同时揭示相关质量维度间的权衡关系。
2026-08-25 cs.SE
A Multiple Criteria Decision Analysis based Approach to Remove Uncertainty in SMP Models
Vellore Institute of Technology(韦洛尔理工学院)
先进的人工智能技术正在以多种方式为人类服务,从医疗保健到制造业。先进的自动化机器是相当昂贵的,但最终的输出应该是最高的质量。根据需求的灵活性,这些自动化技术可能会发生巨大变化。对自动化软件进行更改的可能性非常高,因此必须定期更新。如果不考虑可维护性,就会对整个系统产生影响,增加维护成本。许多公司使用不同的编程范式来开发基于客户需求的高级自动化机器。因此,对异构软件的可维护性进行评估是非常必要的。由于缺乏广泛的共识,软件可维护性预测(SPM)的方法,个人和企业留下的困惑,当涉及到确定适当的模型来估计软件的可维护性,这是本研究的灵感。设计了一种结构化的方法,并对数据集进行了预处理,并确定了除UIMS和QUES外的所有数据集的可维护性指数(MI)范围,对UIMS和QUES使用了CHANGE度量。为了消除上述技术之间的不确定性,一个流行的多准则决策模型,即技术的顺序偏好的相似性理想的解决方案(TOPSIS),在这项工作中使用。TOPSIS法表明,GARF优于其他考虑的技术在预测异构自动化软件的可维护性。
2022-09-30 cs.AI cs.SE
From Leaderboard to Deployment: Code Quality Challenges in AV Perception Repositories
本文研究了自动驾驶感知仓库中代码质量的问题,发现仅7.3%的仓库符合生产标准,提出安全问题集中且需改进流水线以提升代码质量与安全性。
2026-03-02 cs.CV cs.LG cs.RO
Does Co-Development with AI Assistants Lead to More Maintainable Code? A Registered Report
本研究通过两阶段受控实验,评估AI助手对软件可维护性的影响,采用贝叶斯分析比较完成时间、感知生产力、代码质量与测试覆盖率。
2024-08-20 cs.SE
Do internal software quality tools measure validated metrics?
软件内部质量决定了软件产品的可维护性,影响着软件产品的使用质量。有大量的度量标准声称要度量软件的内部质量,这些度量标准由静态软件分析工具提供。迄今为止,一些报告已经评估了这些衡量标准的有效性。然而,没有数据表明这些工具提供的指标是否在科学研究中得到了验证。目前的研究通过提供关于提供哪些工具以及提供了多少经过验证的指标的数据来弥补这一差距。结果表明,一系列的指标,提供的工具似乎没有在文献中进行验证,只有一小部分的指标进行了验证,在所提供的工具。
2019-09-20 cs.SE
Qualities of Quality: A Tertiary Review of Software Quality Measurement Research
本文对软件质量度量研究进行了第三次回顾。为了进行这篇综述,我们检查了7,811篇文章的初始数据集,发现了75个软件质量研究的相关和高质量的二次分析。综合这些工作,我们提供了一个视角,测量方法和趋势的概述。我们确定了五个不同的角度,概念化的启发式质量,可维护性,作为一个整体的概念,作为软件的结构特征,和可靠性。我们还确定了三个关键挑战。首先,我们发现了普遍的证据,有效性问题的共同措施。第二,我们观察机器学习方法的应用,但没有进行充分的评估。第三,我们观察老化数据集的使用。最后,从这些观察,我们勾勒出一个理论框架,这将使软件工程研究人员系统地面对这些弱点,同时仍然扎根于开发人员的经验和代码最终部署的现实世界。
2021-07-29 cs.SE
Peer Code Review in Research Software Development: The Research Software Engineer Perspective
University of Alabama(阿拉巴马大学);University of Tennessee(田纳西大学)
本研究从研究软件工程师视角探讨同行代码审查的实践、挑战及改进,旨在揭示其在提升研究软件质量中的关键作用。
2025-11-13 cs.SE
Design Level Metrics to Measure the Complexity Across Versions of AO Software
软件度量在定量评估任何特定的软件开发方法及其对软件维护的影响方面起着至关重要的作用。它还可以通过提供有关质量属性(如可维护性、可修改性和可理解性)的有价值的反馈来指示组件之间的相互依赖程度。软件维护的努力通常与其设计的复杂性有很高的相关性。面向方面的软件设计是一种新兴的方法学,它提供了强大的新技术来提高软件的模块化设计。在本文中,评估模型,以捕捉症状的复杂性已被定义为包括度量,工件和复杂性的元素。一个工具,自动捕捉这些指标在不同版本的案例研究应用程序,大学自动化系统已经开发。建议的指标获得的值被用来推断的Java和ANOSJ实现的案例研究应用程序的复杂性。这些测量结果表明,与Java实现相比,AAJJ实现的复杂性更低,并且对软件的可维护性产生了积极的影响。
2020-12-01 cs.SE
Do AI Agents Really Improve Code Readability?
National Institute of Technology, Nara College(奈良工业高等专门学校);Nara Institute of Science and Technology(奈良先端科学技术大学院大学)
研究探讨AI代理重构对代码可读性的影响,通过分析403个提交发现,AI主要改进逻辑复杂度和文档,但导致传统质量指标下降。
2026-03-14 cs.SE
The impact of software complexity on cost and quality - A comparative analysis between Open source and proprietary software
软件质量的早期预测对于更好地进行软件规划和控制具有重要意义。在早期开发阶段,设计复杂性度量被认为是软件测试工作和一些质量属性的有用指标。尽管许多研究调查了设计复杂性与成本和质量之间的关系,但目前还不清楚我们在个别研究范围之外学到了什么。本文对软件复杂性度量对质量属性的影响进行了系统的综述。我们通过量身定制的荟萃分析方法,从57项主要研究的59个不同数据集中汇总了斯皮尔曼相关系数。我们发现,故障倾向性和可维护性是最经常调查的属性。Chidamber和Kemerer度量套件是最常用的,但不是所有的都是好的质量属性指标。此外,这些指标的影响在专有项目和开源项目中没有什么不同。研究结果对建立跨项目类型的质量模型具有一定的启示意义
2017-12-02 cs.SE
A Bayesian Network Approach to Assess and Predict Software Quality Using Activity-Based Quality Models (Conference Version)
评估和预测软件质量的复杂概念在实践和研究中仍然具有挑战性。基于活动的质量模型将这一复杂的概念分解为更具体的定义,更精确的关于系统、过程和环境的事实,以及它们对在系统上执行的活动和与系统一起执行的活动的影响。然而,这些模型缺乏可操作性,无法用于质量评估和预测。贝叶斯网络(BN)已被证明是一种可行的手段,评估和预测纳入变量的不确定性。本文介绍了如何基于活动的质量模型可以用来推导BN模型的质量评估和预测。所提出的方法证明了使用公开数据的概念证明。
2016-11-30 cs.SE
Prevalence of Code Smells in Reinforcement Learning Projects
该研究从软件工程视角分析了24个流行的基于RL的Python项目,发现这些项目普遍存在代码坏味(平均占3.95%),尤其是长方法和长方法链,显著影响了项目的可维护性,并揭示了智能体定义与交互中的职责分离及抽象问题。
2023-08-03 cs.SE
Managing Quality Requirements Using Activity-Based Quality Models
管理质量方面的需求是软件系统开发中的一个重要问题。困难产生于恰当地表达它们,而这又反过来产生于质量概念本身的困难。建立和使用质量模型是处理软件质量复杂性的一种方法。一种新的质量模型使用软件上执行的活动作为显式维度。这些质量模型是一个非常适合的基础上管理质量需求,从启发到细化,以保证。本文提出了这样一种方法,并显示其适用性在汽车案例研究。
2016-11-04 cs.SE
A DSL for Defining Feature-Level Quality Constraints and the Aggregation of Evaluation Results in DevOps
软件功能的质量要求通常不同,例如,由于功能的不同使用环境、相关质量缺陷对总体用户满意度的不同影响或开发组织的长期计划。例如,对于经常使用或对开发组织具有战略价值的软件功能,可维护性要求可能特别高。此外,即使是最小的延迟也会被用户视为负面的软件功能将受到特别严格的性能要求。我们定义了一个可操作的DSL来定义软件质量需求,作为基于定量度量的单个功能级约束。DSL提供语言元素来定义来自外部系统的度量的操作化、时间序列操作、时间过滤器,以及基于比较运算符和阈值在DevOps中自动评估这些特征级约束。此外,质量评级汇总了有序分级方案上的功能评估结果。同样,质量门使用这些质量评级来反映软件功能或整个软件产品使用不同状态的适应性。最后,我们展示了一个基于广泛采用的安全移动消息应用程序的示例,该示例说明了不同DSL元素的相互作用。
2022-03-04 cs.SE
Towards the Definition of Enterprise Architecture Debts
在软件开发行业中,技术债务被认为是一个关键问题,因为它会导致软件开发成本增加、产品质量下降、可维护性下降以及软件开发长期成功的进展缓慢。然而,尽管在软件工程的技术债务管理的研究贡献巨大,技术债务的想法未能提供一个整体的考虑,包括IT和业务方面。此外,由于资源的不确定性和不可用性,实现企业架构(EA)项目可能并不总是成功的。因此,我们将EA实现失败的后果与一个新的隐喻--企业架构债务(EA债务)联系起来。我们预计EA债务的积累将对EA质量产生负面影响,并使业务面临风险。
2019-06-28 cs.SE
How is the speed of code review affected by activity, usage and code quality?
本研究通过分析MediaWiki扩展的合并中位时间,探讨了代码质量、活动和使用情况对代码审查速度的影响,发现审阅者投票数量及是否有管理员是关键因素。
2023-05-09 cs.SE
Software Code Quality Measurement: Implications from Metric Distributions
本文针对代码质量指标缺乏一致评估标准的问题,提出基于分布的方法对单调性与非单调性指标进行统一评分,并在36,460个开源仓库上验证了评分对软件采用的可解释性。
2024-01-16 cs.SE
What Makes Agile Test Artifacts Useful? An Activity-Based Quality Model from a Practitioners' Perspective
背景:敏捷软件测试中使用的工件以及使用这些工件的原因已经相当清楚。然而,关于敏捷测试工件最终如何在实践中设计以及哪些质量因素使它们对软件测试有用的实证研究仍然很少。目标:我们的目标是双重的。首先,我们确定当前使用测试工件的挑战,以了解为什么某些质量因素被认为是好的或坏的。其次,我们构建了一个基于活动的敏捷测试质量模型,描述了敏捷测试工件应该是什么样子。方法:我们进行了一项行业调查,18个从业者从12家公司在七个不同的领域。结果:我们的分析揭示了9个挑战和16个因素,从敏捷测试人员的角度描述了6个测试工件的质量。有趣的是,我们观察到的主要挑战是关于语言和可追溯性的,这在非敏捷项目中是众所周知的。结论:尽管敏捷软件测试正在成为一种规范,但我们仍然对超越传统智慧的一般性做和不做没有多少信心。这项研究是第一个提炼出一系列质量因素的研究,这些因素被认为是有用的测试工件的重要因素。
2020-09-03 cs.SE
Which RESTful API Design Rules Are Important and How Do They Improve Software Quality? A Delphi Study with Industry Experts
一些研究分析了现有的Web API对REST的约束,以估计最先进的API之间的REST合规程度。这些研究表明,只有少数Web API是真正的REST风格。此外,理论上的REST概念和实际实现之间的不匹配使我们相信,实践者在其重要性和对软件质量的影响方面对许多规则和最佳实践的看法与这些REST概念不同。因此,我们进行了一项Delphi研究,在这项研究中,我们向来自行业的八位Web API专家提出了82条REST API设计规则的目录。对于每个规则,我们让他们评估其重要性和软件质量影响。作为共识,我们的专家将28条规则评为高重要性,17条中等重要性,37条低重要性。此外,他们认为可用性、可维护性和兼容性是最受影响的质量属性。详细的分析显示,专家们认为达到Richardson成熟度等级2的规则是至关重要的,而达到等级3则不那么重要。由于所获得的共识数据可以作为设计工具支持的方法用于RESTful API的自动质量评估的有价值的输入,我们简要讨论了这种方法的要求,并评论了最重要的规则的适用性。
2021-07-30 cs.SE
Learning Software Quality Assurance with Bricks
软件质量保证(SQA)和软件过程改进(SPI)对于软件工程师来说是至关重要的主题;然而,由于缺乏实践经验,在教室里教授它们会受到一些限制。考虑到这一点,我们创建了KUALI-Brick,这是一个基于LEGO(R)的活动,它将SQA和SPI概念结合在一起,应用它们来成功地建立一个LEGO城市。这项实践活动已经在坎特伯雷大学的四年级软件工程课程中进行,目前的结果显示出高水平的乐趣,提高了参与度和改善了学习体验。我们提出了一个逐步的指南,以复制活动以及连续三年开展活动后吸取的经验教训。
2021-02-12 cs.SE
GitReq: A Gold Standard Dataset for Software Quality Requirements
Lamar University(拉玛尔大学)
提出GitReq数据集,包含6302条专家验证的软件质量需求,覆盖8个ISO/IEC 25010:2011质量类别,通过三重信号挖掘和人工标注构建,零样本评估GPT-5.2达到最高宏平均F1为0.641。
2026-06-23 cs.SE
Unveiling Code Clones in Quantum Programming: An Empirical Study with Qiskit
本文实证研究 Qiskit 量子程序中的代码克隆,发现 Type-2 与 Type-3 克隆密度高,并指出需开发面向量子领域的检测与重构工具。
2025-01-11 cs.SE quant-ph
Evaluating Software Contribution Quality: Time-to-Modification Theory
本文提出修改时间(TTM)理论,通过测量代码引入到首次修改的时间间隔来量化代码质量与持久性,为软件工程提供捕获代码库演化的动态指标,可用于预测维护需求、优化绩效评估并减少技术债务。
2024-10-15 cs.SE
A Systematic Mapping Study on Requirements Engineering in Software Ecosystems
软件生态系统(SECO)和开放式创新过程被认为是软件行业的前进方向。正确理解需求对于这些IT系统和传统IT系统同样重要。本文提出了一个映射研究的问题,需求工程和质量方面的SECO和分析新兴的想法。我们的研究结果表明,在需求工程的各个阶段或子任务,大部分的SECO具体的研究已经完成的启发,分析和建模。另一方面,需求选择,优先级,验证和可追溯性吸引了一些已发表的研究。在各种质量属性中,SECO的研究主要集中在安全性、性能和可测试性方面。另一方面,可靠性,安全性,可维护性,透明度,可用性吸引了很少发表的研究。本文提供了一个审查的学术文献SECO相关的需求工程活动,建模方法和质量属性,位置的源出版物的分类问题,并确定了差距,很少有研究。
2017-12-31 cs.SE
Quality Characteristics of a Software Platform for Human-AI Teaming in Smart Manufacturing
随着支持AI的软件系统在智能制造中变得越来越普遍,它们的角色从被动转向主动,为机器操作员提供特定于上下文的支持。在一个国际研究项目的背景下,我们开发了一个基于人工智能的软件平台,该平台将促进人类操作员和制造机器之间的协作。我们与潜在软件平台的利益相关者进行了14次结构化访谈,以确定选定的质量特征与智能制造中人工智能团队的个体相关性。这些特征包括ISO 25010:2011软件质量标准和AI特定的质量特征,如可信性,可解释性和可解释性。受访者认为可信性、功能适用性、可靠性和安全性是这种情况下最重要的质量特征,而可移植性、兼容性和可维护性是最不重要的。此外,我们观察到协议的相关性,具有相同的作用的受访者之间的质量特征。另一方面,每个质量特征的相关性取决于预期软件平台的具体用例。受访者还被问及与智能制造中的人工智能合作相关的关键成功因素。他们将改善生产周期、提高操作员效率、减少废料和降低人体工程学风险确定为关键成功标准。在本文中,我们还讨论了度量这些质量特性的实现,我们打算在未来的软件平台的操作过程中操作和监控的度量。
2022-05-31 cs.SE
Estimation of Defect proneness Using Design complexity Measurements in Object- Oriented Software
软件工程不断面临着软件包日益复杂和软件生产过程中缺陷和缺点数据水平不断提高的挑战。这就要求有新的发明和方法来实现更可重用、更可靠、更易于维护和更高质量的软件系统,并对软件生成过程进行更深层次的控制。质量和生产率确实是控制任何工业过程的两个最重要的参数。成功的控制系统的实施需要一些测量手段。软件度量在软件开发过程的管理方面起着重要的作用,如更好的规划,评估改进,资源分配和减少不可预测性。涉及早期发现潜在问题、生产力评估和评估外部质量因素(如可重用性、可维护性、缺陷倾向性和复杂性)的过程至关重要。在这里,我们讨论的CK度量和估计模型的应用,以预测外部质量参数,优化设计过程和生产过程中所需的质量水平。提出了一种新的面向对象系统设计级缺陷倾向性估计方法,建立了CK度量与缺陷倾向性指数之间的关系模型。一个多功能的估计方法捕捉CK度量和软件模块的缺陷倾向水平之间的相关性。
2010-01-20 cs.SE
Quantum Computing Platforms: Assessing the Impact on Quality Attributes and SDLC Activities
实用的量子计算正在迅速成为现实。为了利用量子计算机在软件应用中的真正潜力,需要从软件工程(SE)的角度深入了解量子计算平台(QCP)的所有这些特性。对复制、删除、量子比特状态传输的限制,以及对量子算法的严格依赖,这些都是QCP特征中对构建量子软件有重要意义的例子。因此,开发量子软件需要软件工程师思维的范式转变。本文介绍了从SE的角度来看,从国家的最先进的QCP的深入研究,今天可用的主要结果。我们提出的主要贡献包括:i)提出了一个通用架构的QCP,ii)提出了一个编程模型,开发量子软件,iii)确定架构上的显着特点的QCP,和\textbf{iv)}确定这些特点的影响,对各种质量属性(QA)和软件开发生存周期(SDLC)的活动。我们表明,QCP的性质,使他们有用的主要是在专门的应用领域,如科学计算。除了性能和可伸缩性,大多数其他QA(例如,可维护性、可测试性和可靠性)受到QCP不同特性的不利影响。
2021-04-29 cs.SE
Quality Management of Machine Learning Systems
IBM Research AI(IBM研究院人工智能部门);T.J.Watson Research Center(托马斯·J·沃森研究中心)
在过去的十年中,由于机器学习(ML)技术的重大进步,人工智能(AI)已经成为我们日常生活的一部分。尽管原始人工智能技术和互联网上面向消费者的应用程序出现了爆炸性增长,但其在商业应用程序中的采用却明显落后。对于业务/任务关键型系统,人工智能应用程序的可靠性和可维护性仍然存在严重问题。由于输出的统计性质,软件“缺陷”没有得到很好的定义。因此,许多传统的质量管理技术,如程序调试,静态代码分析,功能测试等,必须重新评估。除了人工智能模型的正确性之外,许多其他新的质量属性,如公平性,鲁棒性,可解释性,透明度等,在交付人工智能系统时变得重要。本文的目的是根据当前的进展,为ML应用程序提供一个整体质量管理框架,并确定软件工程研究的新领域,以实现更值得信赖的AI。
2020-06-16 cs.AI cs.SE
Toward Refactoring of DMARF and GIPSY Case Studies a Team 7 SOEN6471-S14 Project Report
软件体系结构被定义为一个结构良好的解决方案的过程,它满足所有的技术和操作要求,并提高系统的质量属性,如可读性,可靠性,可维护性和性能。它涉及一系列设计决策,这些决策可能对系统质量属性和应用程序的整体成功产生相当大的影响。在这项工作中,我们首先分析和调查两个开源软件(OSS)平台DMARF和GIPSY,主要是在Java中实现的。许多研究论文已经被研究,以获得更多的见解和清晰的背景,他们的架构,增强,演变,挑战和功能。随后,我们提取并找到他们的需求,高层次的要求,和架构结构,导致重要的设计决策,从而影响他们的质量属性。首先,我们逆向工程每个系统的源代码,以重建其领域模型和类图模型。我们试图实现需求和其他设计工件之间的可追溯性,以保持一致。此外,我们进行了手动和自动重构技术,以摆脱一些现有的代码气味,最终获得更可读和更易于理解的代码,而不会影响其可观察的行为。
2014-12-18 cs.SE
VibeContract: The Missing Quality Assurance Piece in Vibe Coding
York University(约克大学)
本文提出VibeContract框架,通过将高层次自然语言意图分解为任务序列并生成任务级合同,以提升LLM生成代码的正确性、鲁棒性和可维护性。
2026-03-16 cs.SE
Characterizing and Evaluating The Impact of Software Interface Clones
软件接口旨在描述控制逻辑模块之间交互的契约。如果设计良好,接口可以显著降低软件复杂性并简化可维护性。然而,随着软件的发展,软件接口的组织和质量逐渐恶化。因此,这通常会导致开发成本增加,代码质量降低和可重用性降低。代码克隆是源代码中最常见的不良气味之一。这种设计缺陷可能会出现在接口中,因为在多个接口中重复方法/API声明。从它们指定的公共服务/API的角度来看,这些接口是相似的,因此它们表明应用程序服务的组织不好。在本文中,我们的接口克隆设计缺陷的特点,并说明它通过从现实世界中的开源软件应用程序的例子。我们进行了一项实证研究,涵盖了9个真实世界的开源软件应用程序,以量化接口克隆的存在,并评估其对界面设计质量的影响。实证研究结果表明,界面克隆现象广泛存在于软件界面中。它们还表明,接口克隆的存在可能会导致接口内聚性的降低,并表明在实现级别存在相当多的代码克隆。
2013-02-06 cs.SE
Quality attributes of test cases and test suites -- importance & challenges from practitioners' perspectives
本研究通过工业调查,揭示实践者认为故障检测、可用性等质量属性最重要,并指出定义不足、缺乏度量等共性挑战,为研究与支持提供方向。
2025-07-08 cs.SE
Is this GitHub Project Maintained? Measuring the Level of Maintenance Activity of Open-Source Projects
背景:GitHub托管了大量高质量的OSS项目。然而,选择“合适的工具”是一项具有挑战性的任务,因为我们没有关于这些高质量项目的准确信息。目的:在本文中,我们提出了一种数据驱动的方法来衡量GitHub项目的维护活动水平。我们的目标是提醒用户使用未维护项目的风险,并可能激励其他开发人员承担此类项目的维护。方法:我们训练机器学习模型来定义一个度量来表达GitHub项目的维护活动水平。接下来,我们分析了2,927个活跃项目在一年时间内的历史演变。结果:从2,927个活跃的项目中,16%在一年的时间内变得不受维护。我们还发现,与用其他语言实现的项目相比,使用Java-C的项目往往具有更低的维护活动。最后,软件工具-如编译器和编辑器-随着时间的推移具有最高的维护活动。结论:GitHub项目维护活动水平的度量可以帮助开发人员选择开源项目。
2020-03-09 cs.SE
Dealing with SonarQube Cloud: Initial Results from a Mining Software Repository Study
本文通过挖掘软件仓库研究GitHub项目对SCA工具SonarQube Cloud的使用与定制情况,发现多数项目正确连接但存在配置问题,提出将质量门配置与软件结果关联的研究方向。
2025-08-26 cs.SE
Breaks and Code Quality: Investigating the Impact of Forgetting on Software Development. A Registered Report
本注册报告提出实证研究,探究开发者活动中断时长、项目活动量及不同活动模式对代码质量的影响,为判断并行多项目开发或减少参与项目数哪种更有益提供依据。
2023-08-28 cs.SE
The Impact of AI-Generated Solutions on Software Architecture and Productivity: Results from a Survey Study
本研究通过调查软件从业者,发现AI工具显著提升生产力,但收益随项目复杂度增加而降低;对较小代码片段无质量负面影响,复杂问题需架构师进行分解与集成。
2025-06-21 cs.SE
An Empirical Study on the Impact of Code Duplication-aware Refactoring Practices on Quality Metrics
本文通过分析128个开源Java项目中332个重构提交,实证研究了代码重复消除重构操作对设计质量指标的影响,发现多数指标能捕捉开发者去重意图,但部分指标未能完全反映。
2025-02-06 cs.SE
A Bayesian Network Approach to Assess and Predict Software Quality Using Activity-Based Quality Models
软件质量是一个复杂的概念。因此,评估和预测它在实践和研究中仍然具有挑战性。基于活动的质量模型将这个复杂的概念分解为具体的定义,更准确地说是关于系统、过程和环境的事实,以及它们对在系统上执行的活动和与系统一起执行的活动的影响。然而,这些模型缺乏可操作性,使其能够用于质量评估和预测。贝叶斯网络已被证明是一个可行的手段,为这项任务纳入变量的不确定性。目的:基于活动的质量模型所包含的定性知识是构建贝叶斯网络进行质量评估的丰富基础。本文介绍了一个四步的方法,系统地推导出贝叶斯网络的评估目标和质量模型。方法:通过实例详细介绍了该方法的四个步骤.此外,还进行了初步评估,其中获得了来自美国航天局项目和开放源系统的数据。该方法适用于此数据,并分析其适用性。结果:该方法适用于NASA项目和开源系统的数据。然而,预测结果因数据的可用性和质量而异,特别是基本的一般分布。结论:该方法是可行的,在现实的情况下,但需要进一步调查的案例研究,以分析其预测的有效性。
2016-11-30 cs.CR cs.SE
Evidence is All We Need: Do Self-Admitted Technical Debts Impact Method-Level Maintenance?
本文通过分析49个开源项目中的774,051个方法,实证研究了自承认技术债务对方法级软件维护的影响,发现SATD会降低代码质量与可读性、增加缺陷和变更倾向,并长期未解决,从而强调早期识别与主动管理的必要性。
2025-02-05 cs.SE
Empirical Investigation of the Relationship Between Design Smells and Role Stereotypes
本文通过统计分析和无监督学习方法,基于30个GitHub仓库的11,350个类,实证揭示了设计异味与角色定型之间的关联,发现桌面应用比移动应用更易出现设计异味,且服务提供者和信息持有者角色定型尤为突出,为软件团队预防和纠正设计异味提供了指导。
2024-06-27 cs.SE
Investigating Autonomous Agent Contributions in the Wild: Activity Patterns and Code Change over Time
Delft University of Technology(代尔夫特理工大学);University of California, Davis(加利福尼亚大学戴维斯分校)
本文通过分析11万条开源拉取请求数据,研究自主编码代理在开源项目中的活动模式及代码变更,探讨其对代码质量、团队动态和软件维护性的影响。
2026-04-01 cs.AI cs.LG cs.SE
Quality Attributes on Quantum Computing Platforms
随着实用的量子计算平台(QCP)迅速成为现实,人们希望在软件应用中利用它们的真正潜力。因此,确定QCP对软件体系结构的影响变得非常重要。在本文中,我们提出了深入的检查国家的最先进的QCP,以确定所有这些特性的QCP是相关的软件架构的角度来看。缺乏本机量子操作系统、对量子算法的严格依赖、较低级别的编程抽象是可能影响量子软件应用程序架构的QCP特征的许多示例中的少数。本文的主要贡献包括识别:一)一般架构的QCP,二)编程模型,通常用于开发软件时,QCP,三)架构上的重要特点的QCP和四)这些特点对各种质量属性(QA)的影响。我们表明,除了性能和可扩展性,大多数其他的QA(例如,可维护性,可测试性,可靠性等)。受到QCP不同特性的不利影响。
2018-03-15 cs.ET cs.SE quant-ph
Improving Code Review with GitHub Issue Tracking
软件质量对于技术公司来说是一个重要的问题,因为它极大地影响了最终产品的效率,有用性和可维护性;因此,代码审查是软件开发人员必须做的活动。在代码审查过程中,高级工程师监视其他开发人员的工作,以发现可能的问题并执行编码标准。GitHub是使用最广泛的开源软件平台之一,吸引了数百万开发人员使用它来存储他们的项目。本研究旨在从代码审查的角度分析GitHub上的代码质量。我们使用GitHub的Issues Tracker检查了代码审查过程,该跟踪器允许团队成员在批准之前评估,讨论和分享他们对拟议代码的意见。基于我们的分析,我们提出了一种新的方法,通过促进规律性和社区参与来改善代码审查过程。
2022-10-10 cs.SE cs.SI
Characterizing and Codifying Malware Sophistication
Montana State University(蒙大拿州立大学);Sandia National Laboratories(桑迪亚国家实验室)
本文系统化现有静态二进制分析方法,基于ISO/IEC 25010质量标准定义恶意软件复杂性,为源代码缺失时评估其威胁潜力奠定基础。
2026-10-02 cs.CR cs.SE