Assessing the Exposure of Software Changes: The DiPiDi Approach
上下文:更改具有许多构建时配置设置的软件应用程序可能会引入意外的副作用。例如,旨在特定于平台的更改(例如,Windows)或产品配置(例如,社区版本)可能会影响其他平台或配置。此外,旨在应用于一组平台或配置的更改可能无意中被限制为子集。事实上,理解源代码变更的暴露是基于变更的开发方法中重要的风险缓解步骤。目的:在这个实验中,我们试图评估DiPiDi,我们的方法来评估暴露的源代码更改静态分析构建规范的原型实现。在评估源代码更改的暴露时,我们将评估重点放在开发人员的有效性和效率上。方法:我们将衡量开发人员在执行五项任务时的有效性和效率,在这些任务中,他们必须确定可交付成果和变更传播的条件。我们将参与者分为三组:没有明确的工具支持,由现有的影响分析工具支持,并支持DiPiDi。
2021-04-01 cs.SE
Assessing Software Defection Prediction Performance: Why Using the Matthews Correlation Coefficient Matters
背景:在评估软件缺陷预测分类器的计算实验的范围和设计方面存在相当大的差异。关于分类器性能指标的选择,尤其如此。不幸的是,一些广泛使用的指标是有偏差的,特别是F1。目的:我们想了解F1的广泛使用使软件缺陷预测的经验结果不可靠的程度。方法:我们搜索了报告F1和Matthews相关系数(MCC)的缺陷预测研究。这使我们能够确定两个指标之间一致的结果比例以及变化的比例。结果:我们的系统评价确定了8项研究,包括4017个成对结果。在这些结果中,当采用无偏MCC度量时,比较的方向在23%的情况下改变。结论:我们找到了令人信服的原因,为什么分类性能指标的选择很重要,特别是有偏见和误导性的F1指标应该被弃用。
2020-03-02 cs.SE
Tools for assessing and optimizing the energy requirements of high performance scientific computing software
Score-P是一种测量基础设施,最初设计用于分析和优化HPC代码的性能。Score-P及其相关工具的最新扩展现在还允许调查与能量相关的属性,并支持用户实施相应的改进。由于在这方面完全忽视业绩问题会产生反作用,因此不应将重点完全放在能源上。因此,我们的目标是优化软件的目标函数,考虑到能源和运行时间。
2016-05-04 cs.SE
Assessing the Impact of Refactoring Energy-Inefficient Code Patterns on Software Sustainability: An Industry Case Study
本文通过大型应用行业案例研究,评估自动化工具识别并重构能源低效代码模式的效果,发现重构后每用户每月能耗降低29%。
2025-06-11 cs.SE
Metrics for Assessing The Design of Software Interfaces
最近的研究主要是研究类设计异常的检测。他们提出了一个大的度量标准,帮助检测这些异常和预测类设计的质量。虽然这些研究和建议的指标是有价值的,他们没有解决软件接口的特殊性。接口定义了合同,详细说明了软件模块和逻辑单元如何相互交互。本文提出了一系列与接口相关的设计缺陷:接口之间的共享相似性,接口克隆和接口层次结构中的冗余。我们识别和描述这些设计缺陷,通过真实的例子,从著名的Java应用程序。然后,我们定义了三个指标,帮助自动估计的接口设计质量,关于建议的设计异常,并确定重构候选人。我们调查我们的指标,并通过对三个大型Java应用程序进行的实证研究表明其实用性。
2013-02-11 cs.SE
Assessing Semantic Frames to Support Program Comprehension Activities
软件开发人员在构建和处理软件系统时,经常依赖于出现在软件工程工件中的自然语言文本来访问关键信息。例如,开发人员访问需求文档以了解要构建什么,访问源代码中的注释以了解设计决策,访问问答网站上的问题答案以了解API,等等。为了帮助软件开发人员访问和使用这些自然语言信息,软件工程研究人员经常使用自然语言处理中的技术。在本文中,我们探讨框架语义,一般的语言学方法,已被用于需求文本,也可以帮助解决问题时,应用基于词汇分析的技术与程序理解活动的文本。我们评估通用语义框架解析的适用性,并根据结果,我们提出SEFrame定制语义框架解析程序的理解使用。我们评估的正确性和鲁棒性的方法,发现SEFrame是正确的73%和74%的情况下,它可以解析文本从各种软件工件用于支持程序的理解。我们描述了如何使用这种方法来增强现有的方法来确定意图的含义从软件工程文本。
2021-05-12 cs.SE
Assessing the maturity of software testing services using CMMI-SVC: An industrial case study
内容:虽然许多公司在内部进行软件测试活动,但许多其他公司将其软件测试需求外包给充当软件测试服务提供商的其他公司。因此,在过去的几十年里,测试即服务(TaaS)已经成为一个强大的服务行业。在软件测试服务的上下文中,可能存在各种挑战(例如,在规划和服务交付阶段),因此,测试服务的质量并不总是符合预期。目的:对于测试服务的提供者和客户来说,评估测试服务的质量和成熟度并随后对其进行改进是很重要的。方法:出于一个真正的工业需要在几个测试服务提供商的背景下,评估他们的软件测试服务的成熟度,我们选择了现有的CMMI服务成熟度模型(CMMI-SVC),并进行了案例研究,使用它在两个土耳其测试服务提供商的背景下。结果如下:案例研究的结果表明,成熟度评估的测试服务使用CMMI-SVC是有帮助的公司和他们的测试管理团队,使他们能够客观地评估他们的测试服务的成熟度,并查明潜在的改进领域。结论:我们根据经验观察到,经过一些小的定制,CMMI-SVC确实是一个合适的模型,测试服务的成熟度评估。
2020-05-30 cs.SE
Assessing Practitioner Beliefs about Software Defect Prediction
仅仅因为软件开发人员说他们相信“X”,并不一定意味着“X”是真的。正如这里所示,在最近的软件工程文献中列出了许多信念,这些信念只得到一小部分可用数据的支持。因此,我们要问,信念和证据之间的这种脱节的根源是什么?为了回答这个问题,我们在数十个开源项目中看到的30万多个变化中寻找十个信念的证据。其中一些信念在所有项目中都得到了强有力的支持;特别是,“涉及更多添加和删除行的提交更容易出现bug”和“由其所有者(贡献最多更改的人)贡献较少行的文件更容易出现bug”。大多数被研究的广泛持有的信念在数据中只得到零星的支持;即大的影响可能出现在项目数据中,然后在随后的发布中消失。这种零星的支持解释了为什么开发人员相信与他们以前的工作相关的东西,但不一定是他们当前的工作。我们的结论是,我们需要改变与软件工程争论的性质。具体而言,虽然报告当前有效的影响很重要,但报告随着时间的推移会发生哪些影响也很重要。
2020-04-08 cs.SE
Assessing and Advancing Benchmarks for Evaluating Large Language Models in Software Engineering Tasks
本文全面审查了291个用于评估大语言模型在软件工程任务中性能的基准,分析了其构建过程与局限性,并探讨了未来机遇与挑战,以支持创建更有效的评估工具。
2025-11-04 cs.SE
Modeling Languages: metrics and assessing tools
任何传统的工程领域都有严格评估其产品质量的指标。工程师知道,产量必须满足要求,必须符合生产和市场规律,必须具有竞争力。软件工程这一新领域的专业人员几年前开始定义度量标准来评估他们的产品:单个程序和软件系统。这一关切促使不仅需要评估结果,而且需要评估其发展过程和所使用的工具。在这种情况下,评估程序设计语言的质量是一个合理的目标;以类似的方式,关注模型和建模方法是有意义的,因为越来越多的人从建模阶段开始软件开发过程。在本文中,我们介绍和激励模型的质量评估在软件开发周期。在对这个主题进行了一般性的讨论之后,我们将注意力集中在最流行的建模语言-UML -表示度量。通过案例研究,我们提出并探讨了两种工具。最后,我们确定了工具方面仍然缺乏的东西。
2012-06-20 cs.SE
Assessing requirements engineering and software test alignment -- Five case studies
本文提出REST-bench评估工具,基于REST对齐分类法并通过五家公司的技术行动研究验证,可识别需求工程与软件测试协调中的改进机会。
2023-08-15 cs.SE
Assessing Support for Industry Standards in Reference Medical Software Architectures
开发医疗器械软件的行业标准规定了合格器械必须满足的要求。已经提出了许多参考软件架构来开发这样的软件。ISO/IEC 25010:2011系列标准提供了一个全面的软件产品质量模型,包括医疗器械中高度期望的特性。此外,像4+1视图这样的框架提供了一个强大的框架来开发任何软件(包括医疗器械)的软件架构或高级设计。然而,医疗器械软件的工业标准和参考架构与ISO/IEC 25010:2011和4+1视图之间的一致性尚未得到很好的理解。本文旨在探讨ISO/IEC 25010:2011和4+1视图如何得到当前标准(即ISO 13485:2016、ISO 14971:2012、IEC 62304:2006和IEC 62366:2015)以及当前医疗器械软件参考架构的支持。我们将医疗器械标准的要求分类为ISO/IEC 25010:2011的质量和4+1视图的架构视图。遵循系统性文献综述(SLR)方法,对当前参考软件体系结构进行了评审,并映射了它们对上一步骤中识别的ISO/IEC 25010:2011质量的支持。我们的研究结果表明,ISO/IEC 25010:2011质量,如功能适用性,可移植性,可维护性,可用性,安全性,可靠性和兼容性在医疗器械标准中得到高度重视。此外,我们表明,目前的参考架构只部分支持这些品质。本文可以帮助医疗设备开发人员确定开发符合标准的软件的重点领域。一项涉及开发中医疗设备的更…
2021-07-17 cs.SE
Assessing the Robustness of LLM-based NLP Software via Automated Testing
本文提出首个面向基于 LLM 的 NLP 软件整体输入的自动化鲁棒性测试框架 AORTA,并用自适应束宽与回溯的 ABS 提升测试效率、自然性和可迁移性。
2025-03-17 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
Methodology for Assessing the State of the Practice for Domain X
要改进软件开发方法和工具,研究软件,我们首先需要了解实践的现状。因此,我们已经开发了一种方法来评估一个给定的研究软件领域的软件开发实践的状态。对于每个领域,我们希望回答这样的问题:i)什么工件(文档,代码,测试用例等)在场的?(二)使用了哪些工具?(三)采用了哪些原则、程序和方法?(四)开发者的痛点是什么?v)采取了哪些措施来提高可维护性和可再现性等质量?为了回答这些问题,我们的方法规定了以下步骤:i)识别域; ii)识别候选软件包的列表; iii)将列表过滤到大约30个软件包的长度; iv)收集每个软件包的源代码和文档; v)收集每个软件包的存储库相关数据,如星的数量、开放问题的数量、代码行数; vi)填写测量模板(该模板由108个问题组成,以评估9个质量(包括可安装性,可用性和可见性的质量)); vii)采访开发人员(采访由20个问题组成,大约需要一个小时); viii)使用层次分析法(AHP)对软件进行排名;以及ix)分析数据以回答上述问题。在整个过程中,应该有一名领域专家参与,以确保有关该领域的隐含信息得到适当体现,并协助对30个选定软件包之间的共性和差异进行分析。使用我们的方法,电子表格模板和AHP工具,我们估计(根据我们使用该流程的经验)完成给定领域的评估所需的时间为173人小时。
2021-10-22 cs.SE
Assessing Quantum Extreme Learning Machines for Software Testing in Practice
本文通过三个工业软件测试案例评估量子噪声对QELM的影响,发现噪声显著降低性能并增大不确定性,且现有错误缓解方法缺乏跨任务和规模的一致性。
2025-09-27 cs.SE
Is US Defense Acquisition Ready to Acquire AI-Enabled Capabilities? Assessing the DoD Software Acquisition Pathway Through a Scenario-Based Policy Analysis
Purdue University(普渡大学)
通过基于场景的政策分析,评估美国国防部软件采办路径是否足以应对AI采办的独特需求,发现核心指南中存在可操作性不足,建议增设AI支持子路径并完善工件。
2026-06-05 cs.SE
Assessing LLMs for Front-end Software Architecture Knowledge
University of Victoria(维多利亚大学)
本研究基于布鲁姆分类法构建评估框架,考察大语言模型对 iOS VIPER 架构的理解、复现与生成能力,发现其在评价和创造等高阶任务中表现优异,但在需要精确检索架构细节的低阶任务中存在不足,并提出一种面向软件架构能力评估的基准格式。
2025-03-10 cs.AI cs.SE
The Impact of Operational-Data Fidelity when Assessing Safety-Critical Autonomous-Vehicle Software
Centre for Software Reliability, City St. George’s, University of London(伦敦大学城市圣乔治学院软件可靠性中心)
本文扩展保守贝叶斯推理技术,提出检查运营数据不足时可靠性断言稳健性的统计方法,阐明保守使用低保真数据的幼稚性,给出数据保真度对自动驾驶汽车安全评估影响的首批保守估计。
2026-10-08 cs.RO cs.SE
A Methodology for assessing Agile Software Development Approaches
敏捷方法为组织或团队提供了灵活性,可以根据他们的文化、价值观和他们开发的系统类型,采用选定的原则和实践子集。更具体地说,每个组织或团队都实施了定制的敏捷方法,以更好地满足其需求。然而,定制的方法在多大程度上支持组织的目标,或者更确切地说,该方法的“优点”是值得怀疑的。现有的敏捷评估方法侧重于比较分析,或者在范围和应用方面受到限制。在这项研究中,我们提出了一种结构化、系统化和全面的方法来评估敏捷方法的“优点”。我们基于以下几个方面来检验敏捷方法:(1)它的充分性;(2)组织支持所采用的原则和方法指定的实践的能力;以及(3)方法的有效性。我们提出了目标、原则和实践框架来指导我们的评估。该框架确定了(1)敏捷哲学的目标,(2)支持目标的原则,(3)反映原则的实践,(4)目标,原则和实践之间的联系,以及(5)每个实践的指标,以评估实践的有效性和组织支持其实施的程度。在本文中,我们讨论了我们的解决方案,初步结果,和未来的工作。
2011-08-01 cs.SE
Beyond the Prompt: Assessing Domain Knowledge Strategies for High-Dimensional LLM Optimization in Software Engineering
North Carolina State University(北卡罗来纳州立大学)
本研究比较了人类与人工智能策略在生成领域知识方面的效果,通过四种不同架构评估如何利用结构化知识整合提升LLM在高维优化中的表现。
2026-02-02 cs.SE
Assessing test artifact quality -- A tertiary study
本文通过系统文献综述分析了49项关于软件测试产物质量的二次研究,提出了一个基于文献和ISO/IEC 25010:2011的测试用例/套件质量综合模型,以支持实践中的质量评估与改进。
2024-02-14 cs.SE
Assessing Vision-Language Models for Perception in Autonomous Underwater Robotic Software
Simula Research Laboratory(Simula研究实验室);Oslo Metropolitan University(奥斯陆城市大学);Mondragon University(蒙德拉贡大学);National Institute of Informatics(国立信息学研究所);Det norske Veritas (DNV)(挪威船级社(DNV))
本文评估了视觉-语言模型在自主水下机器人软件中的感知性能,通过计算性能和不确定性来指导软件工程师选择合适的模型。
2026-03-29 cs.RO cs.SE
Your Instructions Are Not Always Helpful: Assessing the Efficacy of Instruction Fine-tuning for Software Vulnerability Detection
Singapore Management University(新加坡管理大学)
本文研究指令微调对软件漏洞检测模型跨编程语言泛化能力的影响,通过在真实数据集上的实验评估自然语言指令的作用,并总结关键经验与见解。
2024-01-15 cs.AI cs.SE
The Correlation among Software Complexity Metrics with Case Study
人们对软件质量的要求越来越高,因此不同规模的软件都在快速增长,以处理软件的质量问题。软件复杂性度量是利用软件的一些内部属性或特征来了解它们对软件质量的影响的度量之一。在本文中,我们涵盖了一些更有效的软件复杂性度量,如圈复杂性,代码行和Hallstead复杂性度量。本文介绍了它们对软件质量的影响。并对两者之间的相关性进行了探讨和分析。最后以一个真实数据集为例,揭示了它们与错误数的关系。
2014-08-20 cs.SE
Advancing Requirements Engineering through Generative AI: Assessing the Role of LLMs
本文探讨大语言模型在需求工程中的应用潜力,提出关键研究方向与SWOT分析,并通过初步评估验证其在需求获取、分析、规格说明和验证中的效果。
2023-11-01 cs.SE
Research trends in structural software complexity
软件复杂性有很多方面。在这篇文章中,我们将探讨如何测量结构复杂性,并用于研究和控制不断发展的软件系统。我们还提出了目前的研究挑战和新出现的趋势,在这一领域一直保持活跃了近四十年,并继续发展。
2016-08-04 cs.SE
Assessing Software Privacy using the Privacy Flow-Graph
我们越来越依赖数字服务及其提供的便利。个人数据的处理是此类服务不可或缺的一部分,因此隐私和数据保护日益受到关注,各国政府已通过欧盟GDPR等法规做出回应。在此之后,制作软件的组织有法律义务记录其软件的隐私和数据保护。这项工作必须涉及了解代码的软件开发人员和组织的数据保护官员或了解隐私和数据保护和影响评估(DPIA)要求的法律部门。为了帮助开发人员和非技术人员(如律师)记录软件的隐私和数据保护行为,我们开发了一种自动软件分析技术。该技术基于静态程序分析,以分析与隐私相关的数据流。分析的结果可以以隐私流和操作的图表形式呈现-这对于非技术人员来说也是可以理解的。我们认为,我们的技术促进了技术和非技术人员在记录软件的隐私行为之间的合作。我们解释了如何使用我们的技术产生的结果来回答一系列的DPIA所需的隐私相关的问题。为了说明我们的工作,我们展示了将我们的分析技术应用于安全消息传递服务Signal和云服务NextCloud的客户端的详细和抽象的分析结果,并展示了他们的隐私流程图如何告知DPIA的编写。
2022-11-29 cs.CR cs.SE
Refactoring Graphs: Assessing Refactoring over Time
重构是软件演化过程中必不可少的活动。通常,从业者依靠这样的转换来提高源代码的可维护性和质量。因此,这个过程可能会产生新的源代码实体或改变现有实体的结构。有时,转换是原子的,即,在一次提交中执行。在其他情况下,它们生成随时间执行的修改序列。为了研究和推理随着时间的推移重构,在本文中,我们提出了一个新的概念称为重构图,并提供了一个算法来建立这样的图。然后,我们调查了10个流行的基于Java的开源项目的历史。在消除了琐碎的图之后,我们描述了1,150个重构图的大样本,提供了关于它们的大小,提交,年龄,重构组成和开发人员的定量数据。最后,我们讨论重构图的应用和影响,例如,以提高代码的理解,检测重构模式,和支持软件进化研究。
2020-03-10 cs.SE
Assessing the Students' Understanding and their Mistakes in Code Review Checklists -- An Experience Report of 1,791 Code Review Checklist Questions from 394 Students
代码审查是软件开发公司中广泛使用的一种识别缺陷的实践。因此,代码评审已经被包括在世界各地的大学的许多软件工程课程中。然而,教授代码审查仍然是一项具有挑战性的任务,因为代码审查的有效性取决于审查者的代码阅读和分析技能。虽然有几项研究调查了学生在代码审查期间应该使用的代码阅读技术,以发现缺陷,但很少关注涉及分析技能的学习活动。事实上,开发代码审查清单应该激励学生发展他们的分析技能,以预测潜在的问题(即,软件缺陷)。然而,由于学生在软件开发(编程,测试等)方面的经验有限,目前还不清楚他们是否能够预测潜在的问题。我们进行了定性分析,以调查学生是否能够创建代码审查清单,如果清单可以用来指导审查人员找到缺陷。此外,我们还确定了学生在开发代码审查清单时犯的常见错误。我们的研究结果表明,虽然有一些误解的学生对代码审查的目的,学生能够预测潜在的缺陷,并创建一个相对良好的代码审查清单。因此,我们的研究结果使我们得出结论,开发一个代码审查清单可以是代码审查的学习活动的一部分,以支架学生的技能。
2021-01-13 cs.SE
Assessing Large Language Models for Stabilizing Numerical Expressions in Scientific Software
Virginia Tech(弗吉尼亚理工大学)
本文评估大语言模型在数值稳定性任务中的表现,发现其在检测和稳定不稳定的计算方面与传统方法相当,并在某些情况下表现更优,但对控制流和高精度字面量处理较弱。
2026-08-18 cs.SE
Assessing the Influence of Toxic and Gender Discriminatory Communication on Perceptible Diversity in OSS Projects
本研究通过分析GitHub项目数据,构建回归模型,探究有毒和性别歧视性沟通对开源团队性别、种族及任期多样性的影响。
2024-03-14 cs.SE
Measuring the Overall Complexity of Graphical and Textual IEC 61131-3 Control Software
软件实现了工厂自动化中很大一部分功能。因此,有效的开发和软件部分(即所谓的单元)的重用提高了竞争力。因此,复杂的控制软件单元更难以理解,导致开发、测试和维护成本增加。然而,测量复杂性是具有挑战性的,因为许多不同的,主观的观点。本文比较了文献中不同的复杂性定义,并考虑了一个定性的问卷调查研究领域专家的复杂性感知,谁确认的重要性,客观的措施来比较复杂性。本文提出了一套度量标准,衡量各种类别的软件复杂性,以确定最复杂的软件单元作为重构的先决条件。这些度量包括由大小、数据结构、控制流、信息流和词法结构引起的复杂性。与大多数文献方法不同,这些指标符合IEC 61131-3标准的图形和文本语言。此外,一个概念,用于解释的度量结果。一个全面的评估与工业软件从两个德国工厂制造商验证了指标的适用性来衡量复杂性。
2022-12-09 cs.SE
Identifying Quality Indicators in Student Self-Reflections in Software Engineering
University of Canterbury(坎特伯雷大学);University of Bamberg(班贝格大学)
本研究基于反思写作框架,提出八指标评估方案,并验证了基于RoBERTa的自动分类器在软件工程学生反思评估中的有效性,实现快速结构化反馈。
2026-07-21 cs.SE
Deconcentration of Attention: Addressing the Complexity of Software Engineering
本文试图描述与解决软件工程中非常复杂的任务相关的特定心理技术。这个主题可能在不同程度上被一些软件专家所熟悉;然而,目前对于这个主题领域还没有共同的共识和流行的术语。在本文中,我们从实际可用性的角度对该领域进行了描述。本文还建议把软件工程本身看作是对人类思维的研究,因为软件是用来模拟思维的。
2012-01-27 cs.SE
Design Level Metrics to Measure the Complexity Across Versions of AO Software
软件度量在定量评估任何特定的软件开发方法及其对软件维护的影响方面起着至关重要的作用。它还可以通过提供有关质量属性(如可维护性、可修改性和可理解性)的有价值的反馈来指示组件之间的相互依赖程度。软件维护的努力通常与其设计的复杂性有很高的相关性。面向方面的软件设计是一种新兴的方法学,它提供了强大的新技术来提高软件的模块化设计。在本文中,评估模型,以捕捉症状的复杂性已被定义为包括度量,工件和复杂性的元素。一个工具,自动捕捉这些指标在不同版本的案例研究应用程序,大学自动化系统已经开发。建议的指标获得的值被用来推断的Java和ANOSJ实现的案例研究应用程序的复杂性。这些测量结果表明,与Java实现相比,AAJJ实现的复杂性更低,并且对软件的可维护性产生了积极的影响。
2020-12-01 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
Assessing usability of model driven development in industrial projects
模型驱动开发范例的整体使用会极大地影响和改变组织的软件开发部门。这种范式降低了一些任务的复杂性和成本,但也引入了新的任务,如果认真引入,会对软件开发过程中的活动和角色产生严重影响。随着模型成为最重要的开发工件,开发团队面临着新的挑战。G.评估模型的质量,分布式团队的模型划分和配置管理,构建管理的设置,工具链和通过各种工件跟踪信息。处理模型驱动开发的组织需要成功地引入新的工具和新的思维方式,他们在采用过程和培训员工方面面临挑战。本文介绍了一个正在进行的研究项目的可用性评估的建模和模型驱动的开发在一个全球性的工业组织,其总部设在德国。感兴趣的是通过完成经验的、定量的调查来分析建模(特别是使用UML)和模型驱动开发的可用性。
2014-09-22 cs.SE
Statistical complexity of software systems represented as multi-layer networks
针对软件系统复杂性缺乏实证度量的问题,本文提出采用统计复杂性指标,基于多层网络建模并通过模拟与理论比较验证,以洞察系统组织结构与涌现行为。
2025-03-29 cs.SE
Assessing the Quality of Computational Notebooks for a Frictionless Transition from Exploration to Production
University of Bari(巴里大学)
将数据驱动的人工智能功能集成到传统软件系统中的大趋势正在引发新的有趣挑战。其中一个挑战是实现从机器学习项目的探索阶段(数据科学家在实验室中构建原型模型)到生产阶段(软件工程师将原型转化为生产就绪的AI组件)的平稳过渡。为了缩小这两个阶段之间的差距,数据科学家采用的工具和实践可能会通过整合软件工程解决方案来改进。特别是,计算笔记本在确定数据科学原型的质量方面发挥着重要作用。在我的研究项目中,我通过研究与计算笔记本协作的最佳实践来应对这一挑战,并提出概念验证工具来促进准则合规性。
2022-05-24 cs.LG cs.SE
Automatically Assessing Vulnerabilities Discovered by Compositional Analysis
测试是在真实世界的软件程序中发现漏洞的最广泛使用的方法。基于符号执行的组合分析是一种自动化测试方法,用于发现由许多交互组件组成的中型到大型程序中的漏洞。然而,现有的成分分析框架并不评估所报告的漏洞的严重性。在本文中,我们提出了一个框架来分析现有的组成分析工具发现的漏洞,并分配CVSS3(通用漏洞评分系统v3.0)分数给他们,基于各种知识,如与相关组件的交互,易于达到,设计的复杂性和接受未消毒输入的可能性。通过分析过去使用CVSS 3分数报告的漏洞,我们训练简单的机器学习模型。通过向流行开源软件的开发人员和其他安全专家展示我们的交互式框架,我们收集了对我们训练模型的反馈,并进一步改进了功能,以提高我们预测的准确性。通过从21个开源源程序中提供定性(基于社区反馈)和定量(基于预测准确性)证据,我们表明我们的严重性预测框架可以有效地帮助开发人员评估漏洞。
2018-07-24 cs.SE
Assessing the Software Security Comprehension of Large Language Models
University of Notre Dame(诺丁汉大学)
本研究评估了五种大语言模型在软件安全方面的认知能力,发现其在低阶任务表现良好,但在高阶任务如推理和系统设计上存在显著不足,并识别出51种常见误解模式。
2025-12-24 cs.CR cs.LG cs.SE
Learning Graph-based Patch Representations for Identifying and Assessing Silent Vulnerability Fixes
针对现有漏洞修复识别忽略代码结构信息的问题,提出基于图的补丁表示框架GRAPE,通过联合图结构与图卷积网络学习结构特征,在三项相关任务上表现优于基线方法。
2024-09-13 cs.SE
Can Language Models Go Beyond Coding? Assessing the Capability of Language Models to Build Real-World Systems
Nankai University(南开大学);Haihe Laboratory of Information Technology Application Innovation(海河信息技术应用创新实验室);Key Laboratory of Data and Intelligent System Security, Ministry of Education(教育部数据与智能系统安全重点实验室);Tianjin Key Laboratory of Software Experience and Human Computer Interaction(天津市软件体验与人机交互重点实验室);Tsinghua University(清华大学)
本文提出Build-bench基准,评估语言模型在跨指令集架构迁移中修复构建失败的能力,发现当前模型最大成功率为63.19%,并揭示了不同模型在工具使用上的差异。
2026-05-08 cs.SE
Software Cognitive Information Measure based on Relation Between Structures
认知复杂性测度是基于认知信息学基础上对人类理解源代码的难度进行量化。该学科基于基本的软件因素(即输入、输出和内部处理架构)推导出认知复杂性。一种将粒度计算集成到称为结构化认知信息度量(SCIM)的新度量中的方法。所提出的措施统一和重组的复杂性因素类似于人类的认知过程。然而,根据软件的方法论和变量的范围,变量的信息复杂度数(ICN)取决于变量值的变化,认知复杂度有多种测量方法。本文定义了范围信息复杂度(SICN),提出了基于软件功能分解的认知复杂度,并通过Weyuker的9个性质进行了理论验证。
2013-04-01 cs.SE
From Complexity Measurement to Holistic Quality Evaluation for Automotive Software Development
近年来,软件在汽车领域的作用和重要性发生了巨大变化。能够系统地评估和管理软件质量变得更加重要。然而,在实践中,我们仍然发现一个很大程度上静态的方法来衡量软件质量的基础上预定义的复杂性度量与静态阈值来满足。我们建议使用一个更灵活的框架,它系统地根据开发项目的目标和背景导出度量和评估规则。
2021-10-27 cs.SE
Assessing the Integration of Software Agents and Industrial Automation Systems with ISO/IEC 25010
除了在工业系统中执行较低级别的自动化和控制功能外,代理技术还用于更高级别的决策制定。最近的研究已经确定了一些架构模式,在工业自动化系统中使用代理,但这些做法在几个方面有所不同,包括代理与物理系统及其控制功能的紧密耦合。这些实践可能在信息物理系统集成和交互中发挥关键作用。因此,显然需要一套通用的标准来评估可用的实践,并为给定的工业用例确定最适合的实践。遗憾的是,目前还没有这样的共同标准。这项工作提出了一个评估标准的方法,以及一种方法,使基于用例的选择的最佳实践集成代理和工业系统。ISO/IEC 25010系列标准提出的软件产品质量模型被用作起点,并被放置在工业自动化环境中。随后,应用所提出的方法,并对该领域的专家进行调查,以揭示对该主题的关键特征的一些见解。
2021-08-18 cs.SE cs.SY eess.SY
The more Product Complexity, the more Actual Effort? An Empirical Investigation into Software Developments
[背景]软件工作量预测方法和模型通常假设软件产品复杂度和开发工作量之间存在正相关关系。然而,从我们使用COCOMO81数据集的经验中可以看到相互矛盾的观察结果,即产品复杂性和实际工作量之间的负相关性。[Aim鉴于我们对所观察到的现象是否是巧合的怀疑,本研究试图调查产品复杂性的增加是否会导致软件开发项目中的上述反直觉趋势。[方法:]将一种改进的关联规则挖掘方法应用于转换后的COCOMO81数据集。为了减少分析的噪声,该方法使用恒定的前因(复杂性增加,而工作量减少)来挖掘潜在的后果与修剪。[结果]实验分别从一般、嵌入和有机项目数据中挖掘出4条、5条和7条关联规则。挖掘规则的后果建议两个主要方面,即人的能力和产品规模,在这项研究中特别关注。[结论]复杂性与努力程度的负相关在特定条件下并非巧合。在软件项目中,产品复杂性与其他因素(如程序员能力和分析员能力)之间的相互作用不可避免地会在削弱产品复杂性对实际开发工作的实际影响方面发挥“摩擦”作用。
2015-09-28 cs.SE
Software Cognitive Complexity Measure Based on Scope of Variables
本文定义了一个程序结构的数学模型。本文定义的程序结构数学模型提供了对程序结构的统一数学处理,揭示了程序是当前语句与前一语句之间嵌入的二元关系的大而有限的集合。然后,将程序看作是一个组合列表和多个语句按照一定的组合规则的逻辑组合。我们还定义了范围信息复杂度数(SICN),并提出了基于软件功能分解的认知复杂度,包括理论验证,通过九个Weyuker的性质。
2014-09-17 cs.SE
Rethinking complexity for software code structures: A pioneering study on Linux kernel code repository
人工智能(AI)的最新进展显示出在各种复杂任务中减轻人类负担的巨大潜力。从软件工程的角度来看,人工智能技术可以在开发的许多基本方面看到,例如源代码理解,其中实现了最先进的模型来自动提取和表达代码片段的含义。然而,这些技术仍在努力解决和理解工业代码中的复杂结构,因此远离现实世界的应用。在目前的工作中,我们建立了一个创新的和系统的框架,强调在代码理解和进一步的软件工程的复杂性问题。在从最新的Linux内核源代码中自动收集数据汇集的基础上,我们通过令牌提取和关系解析将代码结构建模为复杂网络。对复杂性的全面分析进一步揭示了基于网络的代码表示的密度和规模。我们的工作从工业强度的软件代码构建了第一个大规模数据集,用于下游软件工程任务,包括代码理解,并首次将复杂网络理论纳入软件开发的代码级调查。从长远来看,所提出的方法可以在整个软件工程过程中发挥重要作用,通过重新定义和拥抱复杂性来支持软件设计,编码,调试,测试和维护。
2021-03-01 cs.SE
A Complexity measure based on Requirement Engineering Document
研究表明,软件质量的准确评估是软件开发中的主要问题.此外,这种估计取决于软件固有的复杂程度,即复杂性。本文试图实证证明所提出的复杂性,这是基于IEEE需求工程文件。高质量的SRS是高质量软件的先决条件。需求工程文档(SRS)是针对特定环境执行某些特定功能的特定软件产品、程序或程序集的规范。到目前为止给出的各种复杂性度量都是基于软件的代码和认知度量值的。因此,这些指标对代码开发人员没有任何影响。考虑到基于代码的方法的缺点,该方法在SDLC过程中冻结需求后立即识别软件的复杂性。建议的复杂性措施比较以及与既定的复杂性措施。最后,该趋势可以验证所提出的措施的结果。最后,基于需求的复杂性度量可以用来了解拟议软件的复杂性之前,实际实施的设计,从而节省成本和人力浪费。
2010-06-14 cs.SE
DCI: Dependency Confidence Index for Assessing Open-Source Dependency Trustworthiness
Chemnitz University of Technology(开姆尼茨工业大学)
针对软件供应链安全中开源依赖选择的挑战,提出DCI复合指数,结合9个信任因子实现自动化评估,经92个PyPI包验证,与现有工具互补,为相关研究和审计提供基础。
2026-08-18 cs.CR cs.SE
Assessing the Construct Validity of Object-Oriented, Class-Level Code Quality Metrics
Dalhousie University(达尔豪斯大学);LUT University(拉彭兰塔理工大学)
本研究通过EFA和CFA验证了24个类级面向对象代码质量指标的构念效度,揭示了规模、内聚、继承和耦合等构念,并发现耦合与继承为多维构念。
2026-09-18 cs.SE
Estimation of Defect proneness Using Design complexity Measurements in Object- Oriented Software
软件工程不断面临着软件包日益复杂和软件生产过程中缺陷和缺点数据水平不断提高的挑战。这就要求有新的发明和方法来实现更可重用、更可靠、更易于维护和更高质量的软件系统,并对软件生成过程进行更深层次的控制。质量和生产率确实是控制任何工业过程的两个最重要的参数。成功的控制系统的实施需要一些测量手段。软件度量在软件开发过程的管理方面起着重要的作用,如更好的规划,评估改进,资源分配和减少不可预测性。涉及早期发现潜在问题、生产力评估和评估外部质量因素(如可重用性、可维护性、缺陷倾向性和复杂性)的过程至关重要。在这里,我们讨论的CK度量和估计模型的应用,以预测外部质量参数,优化设计过程和生产过程中所需的质量水平。提出了一种新的面向对象系统设计级缺陷倾向性估计方法,建立了CK度量与缺陷倾向性指数之间的关系模型。一个多功能的估计方法捕捉CK度量和软件模块的缺陷倾向水平之间的相关性。
2010-01-20 cs.SE