On the Adoption and Effects of Source Code Reuse on Defect Proneness and Maintenance Effort
上下文软件复用机制,如面向对象编程中的继承和委托,被广泛认为是软件设计的关键工具。这些用于降低源代码受缺陷影响的风险,而不是减少维护和改进源代码所需的工作量。以前的工作传统上采用源代码重用度量用于预测目的,例如,在缺陷预测的上下文中。objective.然而,我们的研究发现了当前文献的两个明显的局限性。首先,开发人员随着时间的推移实际使用代码重用机制的程度仍然知之甚少。其次,目前还不清楚这些机制如何有助于解释缺陷倾向和维护工作在软件演化。我们的目标是弥合这一知识差距,因为对这些方面的更好理解可能有助于深入了解这些机制提供的实际支持,例如,通过建议是否以及如何将它们用于预测目的。法我们提出了一个探索性的研究,旨在(1)评估开发人员如何使用继承和委托在软件演化过程中;(2)统计分析继承和委托的故障倾向和维护工作的影响。该研究将在DEFECTS4J数据集的17个Java项目的提交上进行。
2022-08-15 cs.SE
Introducing Aspect-Oriented Programming in Improving the Modularity of Middleware for Internet of Things
物联网(IoT)已成为智慧城市及其应用发展的流行语。在这种情况下,支持软件的开发构成了物联网基础设施的核心部分。中间件位于物联网设备之间,并在它们之间进行交互,以在自动化架构的组件之间交换数据。中间件服务包括握手,数据传输和安全性,其核心功能集。它还包括跨领域的功能服务,如身份验证、日志记录和缓存。能够运行这些中间件服务的软件需要仔细选择良好的软件建模技术。面向对象编程(AOP)是一种软件开发方法,可用于独立封装物联网基础设施中间件服务的核心和横切功能。在本文中,已尝试使用模拟环境,独立建模的两个正交功能的中间件的重点,以提高其模块化。此外,定量测量的核心设计属性的凝聚力已经做了推断在物联网中间件封装的模块的可重用性的改善。基于测量,它被发现,在中间件软件的功能的模块化和可重用性已提高在ANOJ版本相比,其等效的Java版本。
2020-09-23 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
Inheritance software metrics on smart contracts
区块链系统最近获得了巨大的吸引力,部分原因是分散的不可变的经济活动调解的潜力。以太坊是一个突出的例子,它提供了执行被称为智能合约的有状态计算脚本。这些智能合约类似于传统程序,但不变性是核心区别因素。考虑到它们的不变性和潜在的高货币价值,开发高质量的智能合约势在必行。软件度量传统上是确定编程质量的重要工具。考虑到智能合约(用Solidity for Ethereum编写)和面向对象(OO)编程之间的相似性,OO指标似乎是适用的。在本文中,我们实证评估了应用于智能合约的基于继承的指标。我们之所以关注这一点,是因为传统上,继承与更复杂的代码库相关联,而我们认为基于Solidity的智能合约并非如此。在这项工作中,我们评估了一个假设,即由于智能合约和OO程序的背景不同,使用相同的基于继承的指标进行评估可能是不合适的。
2020-07-16 cs.PL cs.SE
Model-Based Testing of Object-Oriented Systems
本文讨论了一种基于模型的方法来测试软件开发的一个重要组成部分。文章认为,在软件工程技术中需要加入一种以模型为核心的开发构件的方法,以进一步提高开发的效率和灵活性以及结果的质量和可重用性。然后深入研究测试用例建模,并与模型转换的进化方法相关。提出了一些测试模式,已被证明有助于可测试的面向对象系统的设计。与其他方法相比,这种方法使用显式的测试用例模型,而不是试图从单个模型中导出(许多)测试用例。
2014-09-22 cs.SE
Introducing Artificial Intelligence Agents to the Empirical Measurement of Design Properties for Aspect Oriented Software Development
面向方面的软件开发(AOSD)方法的支持者已经做了大量的工作,使用定量评估来显示其采用的积极影响。对方法的结构化评估需要一个定义明确的质量模型。本文提出了一种基于人工智能智能体的方面化质量评价模型。该模型已应用于现有的面向对象和面向方面的案例研究应用程序,大学自动化软件的等效版本。软件设计属性的具体指标已使用不同版本的人工智能智能体进行测量,并用于推断对质量的影响。基于最初的测量,它被发现,方面化的质量模型中定义的所有三个质量属性都有积极的改善。由于方面化的影响,演化和可重用性的属性在质量上有了显著的提高。
2020-10-17 cs.SE
Fault Predictions in Object Oriented Software
动态软件开发组织优化资源的使用,在规定的时间内交付满足需求的产品。这就要求尽快预防或修复故障。本文介绍了一种预测java运行时错误的方法。本文关注的是由于继承和违反Java约束的故障。所提出的故障预测模型的目的是在软件测试领域中分离故障类别。分离的故障类别根据特定类别中发生的故障进行分类。通过对该类故障进行聚类分析,得到了故障的分类结果。该模型可用于软件可靠性预测。
2009-12-11 cs.SE
Seamless Object-Oriented Requirements
契约式设计通过将软件需求与实现统一起来,实现了无缝的软件开发。然而,在其纯粹的形式下,契约式设计在契约的表达性、可验证性和可重用性方面留下了一些问题。这些问题大大降低了无缝开发的实用性。本文介绍了无缝面向对象的需求-一种新的无缝开发方法,它建立在契约式设计和现在可用的高级程序证明工具的基础上。文章解释和说明了新的方法,最后定量评估的程度,该方法解决了传统合同的问题。
2019-11-23 cs.PL cs.SE
Fairness as a QoS Measure for Web Services
面向服务的体系结构(SOA)是一种基于组件的体系结构,具有可重用性、模块化和组合性等特点,通常由HTTP(Web服务)提供,并通常配备有服务质量(QoS)度量。为了保证公平性的每个客户端请求的服务,我们提出了一个公平版本的(软)并发约束语言来处理的服务水平协议(SLA)协议的谈判阶段。
2009-06-22 cs.SE
Visitor Pattern: Implementation of Enquiry Pattern for Internet Banking
本文针对网上银行涉及的各种业务提出了设计模式。面向模式的软件体系结构使用的模式消除了在特定上下文中重用的困难。这些模式将使用BPM(业务流程模型)进行设计,以便在流程级别上进行有效的横切。为了实现上述BPM,本文以网上银行业务为例,对网上银行业务的各个流程进行了分析和识别,找出了有效的横切特征。通过这个过程,模式被设计成软件架构师使用的可重用组件。模式帮助我们建设性地解决反复出现的问题,并基于已证明的解决方案,还支持我们理解给定软件系统的体系结构。通过分析确定了模型,并将查询模式作为访问者模式进行了实现。
2013-12-09 cs.SE
Repeatability, Reproducibility, Replicability, Reusability (4R) in Journals' Policies and Software/Data Management in Scientific Publications: A Survey, Discussion, and Perspectives
本文调查200篇论文与16种计算机科学期刊,分析出版政策、工件指南、软件与数据管理中的4R差距,并提出期刊政策建议及统一可复现性投稿指南。
2023-12-18 cs.SE
Estimation of Defect proneness Using Design complexity Measurements in Object- Oriented Software
软件工程不断面临着软件包日益复杂和软件生产过程中缺陷和缺点数据水平不断提高的挑战。这就要求有新的发明和方法来实现更可重用、更可靠、更易于维护和更高质量的软件系统,并对软件生成过程进行更深层次的控制。质量和生产率确实是控制任何工业过程的两个最重要的参数。成功的控制系统的实施需要一些测量手段。软件度量在软件开发过程的管理方面起着重要的作用,如更好的规划,评估改进,资源分配和减少不可预测性。涉及早期发现潜在问题、生产力评估和评估外部质量因素(如可重用性、可维护性、缺陷倾向性和复杂性)的过程至关重要。在这里,我们讨论的CK度量和估计模型的应用,以预测外部质量参数,优化设计过程和生产过程中所需的质量水平。提出了一种新的面向对象系统设计级缺陷倾向性估计方法,建立了CK度量与缺陷倾向性指数之间的关系模型。一个多功能的估计方法捕捉CK度量和软件模块的缺陷倾向水平之间的相关性。
2010-01-20 cs.SE
A Parsing Scheme for Finding the Design Pattern and Reducing the Development Cost of Reusable Object Oriented Software
由于面向对象方法的重要性,开发新的面向对象系统开发方法的研究日益受到关注。大多数度量需要发现对象和模块之间的相互作用,以开发必要的度量和有影响力的软件度量,吸引软件开发人员,设计人员和研究人员。本文为面向对象系统定义了一种新的交互。使用这些交互,一个解析器的开发,以分析现有的软件架构。在设计模型中,设计类必须相互协作。然而,协作应保持在可接受的最低限度,即更好的设计实践将引入低耦合。如果一个设计模型是高度耦合的,那么系统就很难实现、测试和长期维护。在增强软件的情况下,我们需要引入或删除模块,在这种情况下,耦合是要考虑的最重要的因素,因为不必要的耦合可能会使系统不稳定,并可能导致系统的性能下降。因此,耦合被认为是一个理想的目标,在软件建设,导致更好的价值的外部软件质量,如可维护性,可重用性等。在本文中,我们提出了一种方法,以提高现有的面向对象的系统保持尽可能低的耦合度的目标,重用现有的系统称为设计分析器的工具的基础上。
2010-08-10 cs.SE
A Parsing Scheme for Finding the Design Pattern and Reducing the Development Cost of Reusable Object Oriented Software
由于面向对象方法的重要性,开发新的面向对象系统开发方法的研究日益受到关注。大多数度量需要发现对象和模块之间的相互作用,以开发必要的度量和有影响力的软件度量,吸引软件开发人员,设计人员和研究人员。本文为面向对象系统定义了一种新的交互。使用这些交互,一个解析器的开发,以分析现有的软件架构。在设计模型中,设计类必须相互协作。然而,协作应保持在可接受的最低限度,即更好的设计实践将引入低耦合。如果一个设计模型是高度耦合的,那么系统就很难实现、测试和长期维护。在增强软件的情况下,我们需要引入或删除模块,在这种情况下,耦合是要考虑的最重要的因素,因为不必要的耦合可能会使系统不稳定,并可能导致系统的性能下降。因此,耦合被认为是一个理想的目标,在软件建设,导致更好的价值的外部软件质量,如可维护性,可重用性等。在本文中,我们提出了一种方法,以提高现有的面向对象的系统保持尽可能低的耦合度的目标,重用现有的系统称为设计分析器的工具的基础上。
2010-06-07 cs.SE
An Expert Module Design and Implementation that Evaluation the C&K Metric Suite in Terms of Object Oriented Software Quality
面向对象软件具有封装性、继承性、内聚性、耦合性和多态性等特性。这些特性对面向对象软件的测试、维护和修复活动有着重要的影响。这些活动的成功结束,取决于正确的检测和正确的解释的指标将被评估。通过开发和使用软件测试工具,也可以安全、快速地评估这些指标。目前,许多软件测试工具都是面向对象的。但是,这些工具的功能存在一些限制。许多这种工具只产生度量结果,不采取任何行动,在这一点上,这些结果意味着什么,以及它如何影响软件的质量。因此,需要使这些工具多样化并提高其能力。基于本研究中提到的软件测试工具的局限性,旨在通过专家系统的方法提供面向对象测试过程的自动化。为此,专家模块,审查和解释的度量结果,提供信息的内部质量属性的项目(.jar扩展名)开发的面向对象的编程方法已经开发。本模块采用了Chidamber和Kemerer(C&K)开发的公制套件。该模块利用软件测试工具QMS获得的度量结果,具有自动、手动和跨版本比较方法的评价特点,并解释了内部质量规范之间的关系。在软件测试活动中,预期betrefend模块将成为白盒测试的支持元素。
2019-02-09 cs.SE
How does Object-Oriented Code Refactoring Influence Software Quality? Research Landscape and Challenges
软件重构旨在提高软件质量和开发人员的生产力。在过去的二十年里,已经进行了大量的实证研究,调查重构活动对软件质量的影响。目的:本研究旨在对现有的面向对象代码重构活动对软件质量属性影响的实证研究进行全面系统的映射研究。方法:我们遵循多阶段审查过程,选择了截至2017年12月发表的142项主要研究。根据几个方面对选定的初步研究进行进一步分类,以回答为这项工作定义的研究问题。此外,本研究亦利用投票统计法,将实证结果与原始研究的分析结果结合起来。结果如下:研究结果表明,在学术环境中进行的研究发现,重构对软件质量的积极影响比在行业中进行的研究。一般来说,重构活动导致所有质量属性的改善或降低,除了内聚性,复杂性,继承性,故障倾向和功耗属性。此外,个别的重构活动对主要研究中探索的大多数质量属性有不同的影响,这表明重构并不总是改善所有的质量属性。结论:本研究指出了几个需要进一步调查的开放问题,例如,缺乏工业验证,重构活动覆盖面较小,工具支持有限等。
2019-08-15 cs.SE
A Systematic Aspect-Oriented Refactoring and Testing Strategy, and its Application to JHotDraw
面向方面编程的目的是实现更好的模块化系统的横切关注点,以提高其关键的质量属性,如可演化性和可重用性。因此,在现有的(遗留)软件系统中采用面向方面的技术是修复软件老化的兴趣。通过一种系统化的方法来确保安全和一致的迁移,将大大简化对现有系统进行重构以采用面向方面的方法。在本文中,我们提出了一个重构和测试策略,支持这样的方法,并考虑问题的行为保护和(增量)集成的面向方面的解决方案与原始系统。该策略应用于JHotDraw开源项目,并说明了一组选定的关注。最后,我们抽象的案例研究,并提出了一些通用的重构,这有助于一个增量的面向方面的重构过程,并关联特定类型的横切关注的模型和功能的方面语言。本文的贡献是在该地区的支持迁移到面向方面的解决方案,并支持方面的语言,更适合这种迁移的发展。
2005-03-05 cs.PL cs.SE
An Object-Oriented Framework for Designing Reusable and Maintainable DEVS Models using Design Patterns
设计模式是分享软件开发经验的良好实践。这些模式允许增强软件应用程序的架构和代码的可重用性、可读性和可维护性。由于仿真是通过计算机模型产生轨迹来获得结果和结论的,因此仿真设计者在进行面向复杂软件的仿真建模设计的同时,也在探索设计模式,使仿真代码更具有可重用性、可读性和易维护性。在DEVS(离散事件系统规范)中,设计人员已经成功地设计了模拟,框架,工具等,但是,一些问题仍然是开放的,应该探索,如如何实现一组状态,事件和转换的代码可以重用设计一个新的DEVS模型?DEVS模型如何扩展为新的形式主义?在本文中,我们解决这些问题,我们提出了一套模式,可以作为指导方针的DEVS模型及其扩展的设计师,并可能有助于设计的操作模拟框架。这些模式的灵感部分来自DEVS社区和软件工程开发人员的设计。
2020-08-14 cs.PL 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
ScaMaha: A Tool for Parsing, Analyzing, and Visualizing Object-Oriented Software Systems
本文提出ScaMaha,一种基于静态代码分析的模块化逆向工程工具,用于解析、分析和可视化面向对象软件系统,通过新元模型和解析器、分析器、可视化器组件,在多个案例中验证了其可扩展性和准确性。
2025-01-19 cs.PL cs.SE
Fuzzy Intelligent System for Student Software Project Evaluation
School of Information Technology and Engineering(信息技术与工程学院);Kazakh-British Technical University(哈萨克斯坦-英国技术大学)
本文提出一个模糊智能系统,以整洁代码、继承使用和功能性为模糊变量,结合专家规则自动评估学生软件项目质量,从而标准化评估并减少主观偏差。
2024-05-01 cs.AI cs.CY cs.SE