Extending Design by Contract for Aspect-Oriented Programming
契约式设计(DbC)和程序断言的运行时实施使得能够构建更健壮的软件。它还允许在错误报告中分配责任。不幸的是,没有对面向AOP的编程(AOP)的运行时契约执行和责任分配的支持。将DbC扩展到方面会带来大量与断言验证的正确顺序相关的问题。我们表明,没有一般正确的执行顺序的对象断言和方面断言。将方面进一步分类为不可知的、服从的或叛逆的,定义了需要遵循的断言验证顺序。我们描述了这种分类的应用程序中的原型DbC工具的AOP命名为科纳,方面用于实现合同,合同用于强制执行方面的断言。
2005-01-24 cs.PL cs.SE
A Metric for the Activeness of a Distributed Object Oriented Component Library
本文试图分析分布式面向对象构件库的活动性,并提出了一个软件度量标准--分布式构件活动商,它被定义为一个DOOCL的就绪程度。DCAQ的优点包括各种DOOCL之间的可能比较,从而选择最好的DOOCL用于开发任务期间,并提供一种衡量DOOCL的有用性的措施,如DCAQ的值所示。DCAQ的缺点是由于其主观性和随机性,它可能会有一些误差。DOOCL的稳定性是DCAQ所指示的另一个特征。DCAQ的值越大,相应DOOCL的稳定性越大。
2012-09-20 cs.SE
The EmpathiSEr: Development and Validation of Software Engineering Oriented Empathy Scales
Faculty of IT, Monash University(莫纳什大学信息技术学院);Monash Centre for Health Research & Implementation, Monash Health(莫纳什健康莫纳什健康研究与实施中心)
本文针对软件工程领域缺乏专用共情测量工具的问题,开发了并验证了两个特定领域的共情量表EmpathiSEr-P和EmpathiSEr-U,涵盖认知、情感和共情响应三个维度,为评估和增强软件团队及用户交互中的共情提供了首个心理测量学验证工具。
2026-10-05 cs.SE
The Impact of the Object-Oriented Software Evolution on Software Metrics: The Iris Approach
面向对象(OO)软件系统随着时间的推移而发展,以满足新的需求。在软件初始发布的基础上,软件代码的不断修改导致软件演化。软件需要随着时间的推移而发展,以满足新用户的需求。软件公司经常根据客户的需求开发原始软件的变体。本文的主要假设指出,软件随着时间的推移而发展,其代码不断增长,变化并变得更加复杂。本文提出了一种自动的方法(虹膜)来检查所提出的假设。这种方法的独创性是利用软件变体来研究软件演化对软件度量的影响。本文介绍了三个版本的绘图形状软件,犀牛软件的16个版本,8个版本的移动媒体软件和ArgoUML软件的10个版本进行的实验结果。基于提取的软件度量,它已被发现,虹膜假设是支持的计算度量。
2018-03-15 cs.SE
Feature-Oriented Defect Prediction: Scenarios, Metrics, and Classifiers
在过去的几十年中,已经开发了几种软件缺陷预测技术。这些技术在典型软件资产(如组件和文件)的粒度上预测缺陷。在本文中,我们研究面向功能的缺陷预测:预测缺陷的粒度特征-域实体,代表软件功能,往往横切软件资产。面向故障的缺陷预测可以是有益的,因为:(i)一些特征可能比其他特征更容易出错,(ii)有缺陷的特征的特性可能对预测其他容易出错的特征有用,以及(iii)特征特定的代码可能容易出现由特征交互引起的故障。我们探讨了面向特征的缺陷预测的可行性和解决方案空间。我们的研究依赖于12个软件项目,我们分析了13,685个错误引入和纠正提交,并系统地生成了62,868个训练和测试数据集,以评估分类器,指标和场景。这些数据集是根据我们12个项目的13,685次提交、81次发布和24532次排列生成的,具体取决于所处理的场景。我们讨论了诸如即时(JIT)和跨项目缺陷预测等场景。我们的研究结果证实了面向特征的缺陷预测的可行性。我们发现最好的性能(即,精度和鲁棒性),以及过程和结构度量。令人惊讶的是,单项目JIT和发布级预测的中位AUC-ROC值分别大于95%和90%,这与断言由于训练数据不足而导致性能不佳的研究相反。我们还发现,在12个项目中的一个项目的发布级数据上训练的模型可以预测其他11个项目的特征的缺陷倾向性,AUC-ROC中位数为82%,而无需重新训练。
2021-04-13 cs.SE
Facing ADAS validation complexity with usage oriented testing
验证高级驾驶辅助系统(ADAS)是一个战略问题,因为此类系统在汽车领域变得越来越普遍。ADAS为驾驶者带来额外的舒适性,这已经成为一个卖点。但是,这些功能虽然有用,但不得影响车辆的一般安全性,这是制造商的责任。目前有相当数量的ADAS基于视觉系统,障碍物检测和行人检测等应用已成为自动紧急制动等功能的重要组成部分。随着新的Euro NCAP协议的到来,这些维护和保护道路使用者的系统变得更加重要。因此,ADAS功能的稳健性和可靠性不容忽视,汽车制造商需要有工具来确保在其车辆上运行的ADAS功能以最大的安全性运行。此外,这些系统的复杂性,以及与基于图像传感器的功能使用情况相关的几乎无限数量的参数组合,促使我们考虑测试优化方法和工具标准,以支持ADAS系统的设计和验证阶段。使用当前方法进行验证所需的资源使其实际上越来越不适应新的主动安全功能,这引起了非常强的可靠性要求。如今,为了测试基于摄像头的ADAS,测试车辆配备了这些系统,并进行长时间的驾驶,可以持续数年。这些测试用于确认功能的使用,并验证其对规范中描述的要求的响应,而不考虑功能安全标准ISO26262。
2016-02-22 cs.CY cs.SE
A Goal Question Metric Approach for Evaluating Security in a Service Oriented Architecture Context
为了在面向服务的体系结构(SOA)生态系统中实现交互,每个参与者必须对其他参与者有足够的信心,才能安全地参与交互。因此,建立适合SOA环境的客观度量标准来显示系统的安全性并导致增强是非常有吸引力的。本文的目的是提出一种基于标准安全度量和SOA成熟度的GQM(Goal Question Metric)方法,该方法可以支持组织评估SOA安全性并确保其基于SOA的协作的安全性
2013-04-02 cs.CR cs.SE
State-Of-The-Art In Empirical Validation Of Software Metrics For Fault Proneness Prediction: Systematic Review
随着软件可靠性和故障成本的急剧上升,对软件质量的要求越来越高。然而,保证高质量的软件系统的规模和复杂性的增长,加上对他们的发展所施加的限制,已成为越来越困难,时间和资源消耗的活动。因此,交付没有严重错误的软件是不可避免的。在这种情况下,面向对象(OO)产品作为软件开发的事实标准,其独特的功能可能会有一些缺陷,很难发现或查明的变化的影响。故障识别、发现和修复得越早,成本就越低,质量就越高。为了评估产品质量,使用软件度量。许多面向对象的度量标准已经被提出和发展。此外,许多实证研究已经验证了度量和类错误倾向(FP)的关系。挑战在于哪些指标与FP类相关以及执行哪些活动。因此,这项研究汇集了最先进的故障预测的FP,利用CK和大小度量。我们对相关已发表的经验验证文章进行了系统的文献综述。所得结果进行了分析和介绍。它表明,29个相关的实证研究存在和措施,如复杂性,耦合和规模被发现是密切相关的FP。
2016-01-07 cs.SE
Goal-Oriented Mutation Testing with Focal Methods
变异测试是评估测试集故障检测能力的最新技术。不幸的是,突变测试消耗了巨大的计算资源,因为它为每个注入的突变体运行整个测试套件。在本文中,我们探讨细粒度的可追溯性链接在方法级(命名为焦点方法),以减少执行时间的突变测试,并验证每个单独的方法的测试用例的质量,而不是通常验证的整体测试套件的质量。我们的方法在开源Apache Ant项目上的验证显示,位于焦点方法中的突变体的速度提高了573.5倍,质量得分为80%。
2018-10-09 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
A Comparative Study of Different Source Code Metrics and Machine Learning Algorithms for Predicting Change Proneness of Object Oriented Systems
易更改类或模块被定义为源代码中可能在未来更改的软件组件。变更倾向预测对维护团队很有用,因为他们可以优化并将测试资源集中在变更可能性更高的模块上。变更倾向预测模型可以通过使用源代码度量作为机器学习分类框架内的预测器或特征来构建。在本文中,二十一个源代码的度量计算开发一个统计模型预测变化倾向的模块。由于易变性模型的性能取决于源代码度量,因此它们被用作易变性模型的自变量或预测因子。十一种不同的特征选择技术(包括使用所有的$21$提出的源代码中描述的指标)被用来删除不相关的功能,并选择最好的功能集。使用18种不同的分类技术和三种集成技术来评估源代码度量的有效性。实验结果表明,基于特征选择技术的源代码度量集的预测模型比基于所有源代码度量集的预测模型具有更好的预测效果。我们的实验结果表明,使用LSSVM-RBF开发的预测模型产生更好的结果相比,其他分类技术
2017-12-21 cs.SE
A Metric For The Activeness Of An Object-Oriented Component Library
本文对面向对象构件库的活动性进行了分析,提出了一种称为构件活动商的软件度量方法。CAQ的优点包括可以在各种OOCL之间进行比较,从而选择最佳OOCL用于开发任务,并且可以通过CAQ的值来衡量软件的稳定性。CAQ的缺点是由于其主观性和随机性,可能存在一定的误差。本文还尝试对积极商的计算方法进行改进。RQ大于1且MQ等于0的软件组织的极端情况不能通过取RQ和MQ的平均值来计算AQ。即兴发挥是AQ必须等于MQ和RQ的乘积,这在附录中提到。
2012-09-20 cs.SE
Testing and Evaluation of Service Oriented Systems
面向服务的系统的评估一直是一个挑战,虽然有大量的评估指标存在,但没有一个是有效的,以评估这些系统有效。本文讨论了不同的测试工具和评估方法,可用于面向服务的架构,并总结了它们的局限性和支持的上下文中。
2013-02-08 cs.SE
A Methodology for Empirical Quality Assessment of Object-Oriented Design
质量的直接测量是困难的,因为我们无法测量质量因素。为了衡量这些因素,我们必须用度量或模型来表达它们。研究人员已经开发出质量模型,试图从属性、特征和指标方面衡量质量。在这项工作中,我们提出了控制实验的方法,再加上权力的逻辑评分的偏好,以评估全球质量的四个面向对象的设计。
2010-03-07 cs.SE
An approach for improving the concept of Cyclomatic Complexity for Object-Oriented Programming
软件复杂性度量对于满足复杂软件的需求具有重要作用。圈复杂度是目前已提出和研究的三个度量指标之一,它们分别是:代码行、Halstead测度和圈复杂度。虽然圈复杂性是非常流行的,但也服务于一些问题,这些问题已被确定并在本研究工作中以表格形式显示。它缺乏面向对象程序设计中对象类间耦合的计算,只根据条件语句计算复杂度。因此,需要改进基于耦合的圈复杂度概念。论文包括所提出的算法来处理上述问题。
2014-12-19 cs.SE
On the Importance and Shortcomings of Code Readability Metrics: A Case Study on Reactive Programming
良好的结构和可读的源代码是维护软件和开发人员之间成功协作的先决条件。静态分析可以自动提取代码复杂性和可读性指标,这些指标可以用来突出代码中的潜在改进,以获得高质量的软件并作为教育工具为开发人员加强良好实践。这假设可靠的可读性度量,因为代码可读性有点主观,所以获得这些度量并不容易。最近的研究已经产生了越来越复杂的模型,用于预测人类主要以过程和面向对象为重点的可读性,而函数式和声明式语言以及语言扩展则因为它们通常被认为会导致更简洁和可读的代码而有所进步。在本文中,我们调查现有的复杂性和可读性指标是否反映了这种智慧,或者可读性的概念及其组成部分是否需要根据程序设计语言的变化进行大修。因此,我们比较传统的面向对象和反应式编程的代码复杂性和可读性的案例研究。响应式编程声称可以提高代码质量,但很少有研究从经验上证实这些说法。我们将一个面向对象的开源项目重构为一个反应式候选项目,并使用圈复杂度和两个最先进的可读性度量标准将可读性与原始项目进行比较。需要更详细的调查,但我们的研究结果表明,圈复杂度和可读性在反应性候选人中同时显着下降,这似乎是违反直觉的。我们解释并证实了为什么可读性指标可能需要调整,以更好地适应流行的编程风格,而不是命令式和面向对象,以更好地满足人类的期望。
2021-10-28 cs.SE
RobOT: Robustness-Oriented Testing for Deep Learning Systems
最近,人们对将软件工程技术应用于深度学习(DL)系统的质量保证的兴趣显著增长。一个流行的方向是深度学习测试,其中对抗性示例(又名~缺陷)通过模糊搜索或在某些测试度量的帮助下的引导搜索来发现。然而,最近的研究表明,现有DL测试方法常用的神经元覆盖度量与模型鲁棒性无关。它也不是检验后模型稳健性置信度的有效度量。在这项工作中,我们提出了一个新的测试框架,称为面向健壮性测试(RobOT)来解决这个差距。RobOT的一个关键部分是定量测量1)每个测试用例在提高模型鲁棒性(通常通过再训练)方面的价值,以及2)模型鲁棒性改进的收敛质量。RobOT利用所提出的度量自动生成测试用例,提高模型的鲁棒性。所提出的指标也是一个强有力的指标,如何以及鲁棒性的改善,通过测试收敛。在多个基准数据集上的实验证实了RobOT在提高DL模型鲁棒性方面的有效性和效率,对抗鲁棒性提高了67.02%,比最先进的DeepGini高出50.65%。
2021-02-13 cs.SE
Measuring Object-Oriented Design Principles
自动化面向对象设计评估的想法并不新鲜。不同的方法定义和应用自己的质量模型,这是由单一的度量或组合,可操作的软件设计。然而,单一的指标是太细粒度的识别核心设计缺陷,他们不能提供提示,使设计改进。为了解决基于度量的模型的这些弱点,基于规则的方法在源代码质量领域已经证明是成功的。此外,对于开发一个设计良好的软件系统,设计原则起着关键作用,因为它们定义了基本的指导方针,并有助于避免陷阱。因此,本论文将加强并完善一个以规则为基础的质量参考模型,以使设计原则可操作化,并提供一个实现这些规则的测量工具。设计质量模型和测量工具的验证将基于各种工业项目。此外,将进行定量和定性调查,以获得面向对象设计原则对软件开发价值的验证结果
2016-02-23 cs.SE
Estimation of Defect proneness Using Design complexity Measurements in Object- Oriented Software
软件工程不断面临着软件包日益复杂和软件生产过程中缺陷和缺点数据水平不断提高的挑战。这就要求有新的发明和方法来实现更可重用、更可靠、更易于维护和更高质量的软件系统,并对软件生成过程进行更深层次的控制。质量和生产率确实是控制任何工业过程的两个最重要的参数。成功的控制系统的实施需要一些测量手段。软件度量在软件开发过程的管理方面起着重要的作用,如更好的规划,评估改进,资源分配和减少不可预测性。涉及早期发现潜在问题、生产力评估和评估外部质量因素(如可重用性、可维护性、缺陷倾向性和复杂性)的过程至关重要。在这里,我们讨论的CK度量和估计模型的应用,以预测外部质量参数,优化设计过程和生产过程中所需的质量水平。提出了一种新的面向对象系统设计级缺陷倾向性估计方法,建立了CK度量与缺陷倾向性指数之间的关系模型。一个多功能的估计方法捕捉CK度量和软件模块的缺陷倾向水平之间的相关性。
2010-01-20 cs.SE
Test Input Validation for Vision-based DL Systems: An Active Learning Approach
本文针对视觉深度学习系统测试输入验证问题,提出一种结合多图像比较指标与主动学习的方法,在相同人工工作量下显著提升验证准确率,平均准确率达97%,较现有方法整体提升至少12.9%。
2025-01-03 cs.SE
Toward Software Measurement and Quality Analysis of MARF and GIPSY Case Studies a Team 13 SOEN6611-S14 Project Report
质量是任何软件产品的基本要求,特别是在竞争激烈的市场和关键任务产品的背景下,这不再是一个争论。为了获得更好的产品质量,软件度量是唯一可靠的指标,提供评估和测量软件产品的这一属性。已经详细阐述了几个指标,但没有一个在面向对象的生态系统中真正方便。然而,MOOD度量标准已经证明了它们在系统级度量软件质量的有效性,而CK度量标准则在类级度量软件质量。这些度量非常适合于面向对象的设计,允许测量面向对象的设计属性,如耦合,内聚,封装,继承和多态性。本研究的目的是使用上述指标来评估两个不同的案例研究,MARF和GIPSY的质量。为此,不同的工具,如麦凯布,Logiscope和,JDeodorant已被用来衡量这些项目的质量,以不同的方式实现的指标组成的CK和MOOD套件的指标,而MARFCAT已被用来检测脆弱的代码文件在这两个案例研究。本研究提出了这些工具的优势,以衡量质量的证明和大量研究的软件产品的光。
2014-07-03 cs.SE
A Metrics-Oriented Architectural Model to Characterize Complexity on Machine Learning-Enabled Systems
Institute of Mathematics and Statistics(数学与统计学研究所);University of São Paulo(圣保罗大学)
本研究提出一种基于指标的架构模型来表征机器学习使能系统的复杂性,以支持架构决策并指导系统发展,并展示了扩展参考架构以收集指标的第一步。
2025-06-09 cs.AI cs.LG cs.SE
Software Metrics Evaluation Based on Entropy
行业中的软件工程活动已经走过了漫长的道路,在软件开发生存周期的各个阶段都带来了各种改进。现代软件的复杂性、商业约束和对高质量产品的期望要求在软件开发的早期阶段基于面向对象设计度量在类级别上进行准确的故障预测。面向对象类度量在整个OO软件开发生存周期中被用作质量预测器,即使在采用高度迭代的增量模型或敏捷软件过程时也是如此。最近的研究表明,一些面向对象的设计指标是有用的预测类的故障倾向。在本文中,经验验证的一组度量提出的Chidamber和Kemerer进行评估他们的能力,在预测软件质量的故障倾向和退化。我们还提出了面向对象软件的设计复杂性与加权方法每类度量(WMC-CK度量)表示的香农熵,和错误倾向。
2010-01-20 cs.SE
An Analysis of Bug Distribution in Object Oriented Systems
我们引入了一种新的方法来描述Java软件的图形,其中节点表示一个Java文件-称为编译单元(CU)-边表示它们之间的关系。软件系统的特征在于图属性的度分布,如输入或输出链接,以及在其CU上计算的Chidamber和Kemerer度量的分布。每个CU在其生命周期中可能与一个或多个bug相关。我们发现了软件系统和攻击其节点的错误之间的关系。我们发现,一些指标的分布,以及每个CU的错误数量,在它们的尾部表现出幂律行为,以及受特定错误影响的CU数量。我们研究了软件度量在不同版本中的演变,以了解CU度量和CU故障之间的关系如何随时间变化。
2009-05-20 cs.PL cs.SE