Assessment of classification techniques on predicting success or failure of Software reusability
预测软件复用成败的分类技术评估
2014-09-08 cs.SE
Analyzing Maintenance Activities of Software Libraries
针对工业应用中开源库维护风险,提出自动监控直接与传递依赖维护活动的方法,减少人工并提升安全性。
2025-04-23 cs.SE
Fault Localization in a Software Project using Back-Tracking Principles of Matrix Dependency
故障识别和测试一直是软件开发领域最具体的关注点。为了识别和验证错误,我们应该知道故障的来源或任何不必要的问题。在本文中,我们试图提取故障的位置,并试图应付的错误。利用有向图的方法,尝试获取实时环境中多个活动之间的依赖关系,以跟踪故障的来源。软件开发涉及一系列活动,我们试图展示多个活动之间的依赖关系。关键活动被认为是导致整个系统功能异常的活动。本文讨论了软件失效依赖活动对关键活动的优先级问题。选择活动的矩阵表示作为软件的一部分,使用依赖性概念来确定故障的根源。它可以随网络拓扑和软件环境而变化。当故障发生时,可能的征兆将以故障本身的高概率反映在依赖矩阵中。因此,独立故障位于依赖矩阵的主对角线上。
2014-05-05 cs.SE
Systematic Mapping Protocol: The impact of using software patterns during requirements engineering activities in real-world settings
本文件详细介绍了系统性测绘研究(SMS)的规划阶段。我们的目标是识别在RE阶段使用的软件模式,在现实世界的设置(即,在实际项目中),而不是在学术界(玩具项目),并了解其应用的影响,在不同的特点,有关的开发过程以及最终产品。通过对截至2017年1月发表的文献进行回顾,我们将调查研究界对工业环境中模式应用的报道,支持这些主张的数据,所采用的特定模式,RE活动,结果(积极或消极)以及用于验证这些结果的指标。
2017-01-20 cs.SE
Architectural Design Activities for JAS
构建任何软件系统的关键部分是其体系结构。建筑设计是一种更高抽象层次的设计。一个好的架构可以保证软件满足其需求。本文定义了在软件开发过程中最重要的体系结构设计活动,并将这些活动应用于电子商务应用中的一种类型--职业中介系统(JAS),以说明这些活动如何在这些类型的应用中发挥作用。
2009-12-05 cs.SE
The Impact of Personality on Requirements Engineering Activities: A Mixed-Methods Study
本研究采用基于人格测试的调查和深入访谈的混合方法,探索了人格特质对需求工程活动的影响,并提出了减轻负面影响的策略,为从业者和研究人员提供指导。
2023-11-20 cs.SE
The Impact of Considering Human Values during Requirements Engineering Activities
人的价值观,或者人们在生活中认为重要的东西,比如自由、公平和社会责任,在软件开发过程中往往被忽视和忽视。忽视价值观可能导致软件中的价值观违规,从而导致财务损失、声誉受损以及广泛的社会和法律影响。然而,在软件中嵌入人类价值不仅是不平凡的,而且通常是一个不明确的过程。早在需求工程(RE)活动期间就开始,保证了符合目的和质量的软件产品符合人类价值观。但是,在早期的可再生能源活动中明确考虑人类价值观的影响是什么?为了回答这个问题,我们进行了一项基于Coco的调查,其中56名软件从业人员将需求分析置于一个针对无家可归者的拟议移动应用程序的背景下,并相应地提出了充满价值的软件功能。对提出的特征进行了定性分析。结果表明,明确的价值观的考虑可以帮助从业者确定适用的价值观,他们开发的功能相关联的目的,认为开箱即用,并建立软件功能和人类价值观之间的联系。最后,根据本研究的结果和经验,我们提出了一个基于网络的价值观启发过程-一个简单的四步外卖作为本研究的实际意义。
2021-11-30 cs.SE
Towards Shift-Up: A Framework and a Prestudy on High-Value Activities in GenAI Native Software Development
本文提出面向 GenAI 原生开发的 shift-up 框架,帮助团队聚焦高价值工作,并通过现有 GenAI 工具开展预研究和规划后续方向。
2025-09-29 cs.SE
Predicting Software Defects through SVM: An Empirical Approach
软件缺陷预测是软件预防性维护的一个重要方面。许多技术已经被用来通过缺陷预测来提高软件质量。本文介绍了一种基于代码气味的机器学习算法--支持向量机(SVM)的缺陷预测方法。基于支持向量机的缺陷预测模型被用于预测Eclipse软件后续版本中的缺陷。结果表明气味在预测软件缺陷中的作用。结果可以进一步用作基线,以进一步研究气味在预测缺陷中的作用。
2018-03-08 cs.SE
How does Object-Oriented Code Refactoring Influence Software Quality? Research Landscape and Challenges
软件重构旨在提高软件质量和开发人员的生产力。在过去的二十年里,已经进行了大量的实证研究,调查重构活动对软件质量的影响。目的:本研究旨在对现有的面向对象代码重构活动对软件质量属性影响的实证研究进行全面系统的映射研究。方法:我们遵循多阶段审查过程,选择了截至2017年12月发表的142项主要研究。根据几个方面对选定的初步研究进行进一步分类,以回答为这项工作定义的研究问题。此外,本研究亦利用投票统计法,将实证结果与原始研究的分析结果结合起来。结果如下:研究结果表明,在学术环境中进行的研究发现,重构对软件质量的积极影响比在行业中进行的研究。一般来说,重构活动导致所有质量属性的改善或降低,除了内聚性,复杂性,继承性,故障倾向和功耗属性。此外,个别的重构活动对主要研究中探索的大多数质量属性有不同的影响,这表明重构并不总是改善所有的质量属性。结论:本研究指出了几个需要进一步调查的开放问题,例如,缺乏工业验证,重构活动覆盖面较小,工具支持有限等。
2019-08-15 cs.SE
Assessing Semantic Frames to Support Program Comprehension Activities
软件开发人员在构建和处理软件系统时,经常依赖于出现在软件工程工件中的自然语言文本来访问关键信息。例如,开发人员访问需求文档以了解要构建什么,访问源代码中的注释以了解设计决策,访问问答网站上的问题答案以了解API,等等。为了帮助软件开发人员访问和使用这些自然语言信息,软件工程研究人员经常使用自然语言处理中的技术。在本文中,我们探讨框架语义,一般的语言学方法,已被用于需求文本,也可以帮助解决问题时,应用基于词汇分析的技术与程序理解活动的文本。我们评估通用语义框架解析的适用性,并根据结果,我们提出SEFrame定制语义框架解析程序的理解使用。我们评估的正确性和鲁棒性的方法,发现SEFrame是正确的73%和74%的情况下,它可以解析文本从各种软件工件用于支持程序的理解。我们描述了如何使用这种方法来增强现有的方法来确定意图的含义从软件工程文本。
2021-05-12 cs.SE
Data stream mining for predicting software build outcomes using source code metrics
软件开发项目涉及使用各种工具来产生软件工件。软件仓库,如源代码控制系统,已经成为一个重点的紧急研究,因为他们是一个丰富的信息源,有关软件开发项目。为了更深入地了解发展进程,挖掘这种储存库的做法越来越普遍。
2016-04-19 cs.SE
The entrepreneurial logic of startup software development: A study of 40 software startups
软件创业公司是创新和软件密集型产品的重要来源。在软件研究中强调了了解初创公司产品开发并提供相关支持的必要性。虽然最先进的文献揭示了初创公司如何开发他们的软件,但他们采用这些活动的原因却没有得到充分的探索。目的:本研究通过分析启动过程中的关键工程事件,探讨了软件工程(SE)活动背后的策略。我们探讨如何创业心态可能与SE知识领域和每个启动的情况。方法:我们的理论基础是因果模型和效应模型。我们对40家软件初创公司进行了半结构化采访。我们使用两轮开放编码和主题分析来描述和识别创业软件开发模式。此外,我们还计算了每个启动案例的实现指数。结果:我们从样本中识别出621个事件,合并成32个创业逻辑代码。我们发现,在SE活动的所有领域中,逻辑都有系统地发生。最小可行产品(MVP),技术债务(TD)和客户参与(CI)往往与有效逻辑相关联,而不同层次的测试活动与因果逻辑相关联。实现指数显示,初创公司要么是实现驱动的,要么是混合逻辑驱动的。结论:软件创业公司分为两种类型,区别于传统的SE方法可能适用于他们。简化似乎是解释和开发适合软件创业公司的SE实践的最相关和最重要的模型。
2021-03-14 cs.SE
Descriptions of issues and comments for predicting issue success in software projects
软件开发任务必须成功地执行,以达到软件质量和客户满意度。了解软件任务是否可能失败对于确保软件项目的成功至关重要。问题跟踪系统存储软件任务(问题)和评论的信息,这可能有助于预测问题的成功;然而,几乎没有关于这个主题的研究存在。这项工作研究的有用性的文字描述的问题和评论,预测问题是否会得到成功解决或不。从四个流行的问题跟踪系统中提取了588个软件项目的问题和评论。7个机器学习分类器在30 k个问题和超过120 k条评论上进行了训练,并进行了超过6000次实验,以预测三种类型问题的成功:错误,改进和新功能。结果提供的证据表明,问题和评论的描述是有用的预测问题的成功与超过85%的准确性和精确度,并随着时间的推移,问题的成功预测不同。与软件开发相关的词语与预测问题成功特别相关。其他沟通方面及其与软件项目成功的关系必须使用来自软件工具的数据进行详细研究。
2020-06-02 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
The Effectiveness of Supervised Machine Learning Algorithms in Predicting Software Refactoring
重构是在不改变软件外部行为的情况下改变软件内部结构以提高其质量的过程。经验研究一再表明,重构对软件系统的可理解性和可维护性有积极的影响。然而,在执行重构活动之前,开发人员需要识别重构机会。目前,重构机会识别严重依赖于开发人员的专业知识和直觉。在本文中,我们调查的有效性机器学习算法在预测软件重构。更具体地说,我们训练了六种不同的机器学习算法(即,逻辑回归,朴素贝叶斯,支持向量机,决策树,随机森林和神经网络),数据集包含来自Apache,F-Droid和GitHub生态系统的11,149个真实项目的超过200万次重构。结果模型预测了类、方法和变量级别的20种不同重构,准确率通常高于90%。我们的研究结果表明,(i)随机森林是预测软件重构的最佳模型,(ii)过程和所有权度量似乎在创建更好的模型中发挥了至关重要的作用,(iii)模型在不同的环境中推广良好。
2020-09-11 cs.SE
An Exploratory Study of the Relationship between SATD and Other Software Development Activities
本文通过分析77个开源Java项目,研究SATD的添加与移除同重构、缺陷修复等开发活动的共现关系,发现SATD移除与重构在95%的项目中同时发生,并识别出三类与SATD关联更频繁的重构操作。
2024-04-02 cs.SE
Characterizing and Understanding Software Developer Networks in Security Development
为了构建安全的软件,开发人员通常在软件开发和维护期间一起工作,以查找、修复和防止安全漏洞。检查开发人员在其安全活动期间关于安全引入和修复活动的交互的性质可以为改进当前实践提供见解。在这项工作中,我们进行了一个大规模的实证研究,以表征和理解开发人员在安全活动中的安全引入和修复的互动,其中涉及超过16 K的安全修复提交和超过28 K的安全引入提交从9个大型开源软件项目。对于我们的分析,我们首先检查一个项目是否是一个英雄为中心的项目时,评估开发人员在他们的安全活动的贡献。然后,我们研究开发人员之间的交互模式,探索模式的分布如何随着时间的推移而变化,并研究开发人员的交互对项目质量的影响。此外,我们还将安全活动中的开发人员交互的性质与非安全活动中的开发人员交互进行了比较(即,引入和修复非安全性错误)。在我们的研究结果中,我们发现:大多数的实验项目是非英雄为中心的项目时,通过使用他们的安全活动来评估开发人员的贡献;存在共同的主导交互模式在我们的实验项目;交互模式的分布与软件项目的质量相关。我们相信,从这项研究的结果可以帮助开发人员了解如何产生和修复的软件开发人员的交互下的可扩展性。
2019-07-28 cs.SE cs.SI
Moderator Factors of Software Security and Performance Verification
安全和性能(S & P)是软件系统的关键非功能需求。因此,验证活动应包括在开发过程中,以识别相关的缺陷,并避免部署后的S & P故障。然而,标准普尔核查实践的状况尚不清楚,这就要求学术界为标准普尔核查实践者所面临的现实问题提供解决办法。因此,识别调节S & P验证的因素有助于软件开发组织改进S & P验证,发布满足安全和性能需求的软件。目的:介绍影响S & P验证活动的调节因子以及促进S & P调节因子的措施。方法:采用多个案例研究,对观察数据进行定性分析,确定S & P调节因子.文献快速回顾与滚雪球,以加强对已确定的S & P调节因子的信心。从业人员调查,根据相关性对标准普尔调节因素进行分类。结果如下:识别八个S & P调节因子,涉及组织意识、跨职能团队、S & P要求、支持工具、验证环境、验证方法、验证计划和重用实践。文献综述使我们能够确认已确定的标准普尔调节因素,并确定一套行动,以促进他们中的每一个。一项有37名有效参与者的调查使我们能够对确定的标准普尔主持人因素及其与标准普尔核查活动相关的行动进行分类。结论:S & P调节因子可以被认为是软件开发组织应该投资于实现或改进S & P验证活动的关键点。
2021-07-25 cs.SE
Understanding the Influence of Motivation on Requirements Engineering-related Activities
本研究通过半结构化访谈和社会技术扎根理论,探讨了动机对需求工程相关活动的影响,揭示了影响动机的条件与策略,为从业者提供管理动机影响的可操作见解。
2024-07-30 cs.SE
The Daily Life of Software Engineers during the COVID-19 Pandemic
随着COVID-19疫情爆发及随后的封锁,软件工程师的日常生活受到干扰,并突然被迫在家远程工作。这一变化深刻影响了典型的工作程序,影响了福祉和生产力。此外,这场流行病将对软件行业产生长期影响,几家科技公司允许员工无限期在家工作,如果他们愿意的话。因此,分析和理解在家工作时典型的工作日是什么样子以及个人活动如何影响软件开发人员的福祉和生产力是至关重要的。我们进行了一项两波纵向研究,涉及近200名全球精心挑选的软件专业人士,推断日常活动与感知的幸福感,生产力和其他相关的心理和社会变量。结果表明,软件工程师在家做特定活动的时间与在办公室工作的时间相似。然而,我们也发现了一些显著的平均差异。开发人员在每项活动上花费的时间与他们的幸福感、感知生产力和其他变量无关。我们的结论是,远程工作本身对组织或开发人员来说并不是一个挑战。
2021-01-12 cs.SE
Individual Differences Limit Predicting Well-being and Productivity Using Software Repositories: A Longitudinal Industrial Study
针对软件开发者幸福感与生产力预测难题,通过工业团队纵向研究发现个体差异是主要影响因素,个性化预测模型效果更优,为相关管理与研究提供参考。
2021-04-28 cs.SE
Revealing Task Driven Knowledge Worker Behaviors in Open Source Software Communities
软件开发人员等知识工作者之间的协作活动是现代社会发展的基础,但深入了解他们在开放的在线社区中的行为模式是非常具有挑战性的。开源软件(OSS)存储库中大量数据的可用性(例如错误跟踪数据,电子邮件和评论)使我们能够以定量的方式调查这个问题。在本文中,我们对两个著名的OSS社区(即Eclipse和Mozilla)中与保证软件质量密切相关的在线协作活动进行了实证分析。我们的主要发现包括两个方面:(1)开发人员在两种不同的工作状态(正常和过载)下,在时间和空间上表现出两种截然相反的行为模式;(2)处理时间(包括bug修复时间和bug抛出时间)服从拉伸指数分布,而不是一般的幂律分布。我们的工作揭示了在不同任务驱动的负载条件下工作的熟练开发人员之间的在线协作活动之外的人类动力学规律,它可能是对当前人类动力学工作的重要补充。
2017-02-25 cs.SE
Enterprise-Driven Open Source Software: A Case Study on Security Automation
本文通过挖掘8243个企业驱动的开源软件仓库并调查维护者,发现仅6.83%的项目在CI流水线中应用安全自动化,揭示了安全活动稀缺和防护覆盖率低的问题,并呼吁业界关注第三方软件漏洞和改进实践。
2021-02-10 cs.SE
Initiatives and Challenges of Using Gamification in Software Engineering: A Systematic Mapping
背景:游戏化是一个新兴的主题,已应用于不同的领域,为不同类型的活动做出贡献。目的:本文旨在描述游戏化如何在非教育背景下的软件工程(SE)活动中被采用。方法:我们对该地区相关数据库中的文献进行了系统映射。检索到2640项研究(截至2020年1月发表),其中548项重复,82项是在应用纳入和排除标准后选择的,21项是通过后向滚雪球技术纳入的,因此总共有103项研究需要分析。结果:游戏化为需求规范、开发、测试、项目管理和支持过程等活动提供了好处。有证据表明,游戏化支持一些CMMI 2.0实践领域。最常用的游戏化元素是积分和排行榜。实现的主要好处是增加了参与和执行任务的动力。结论:多年来,出版物和新的研究倡议的数量有所增加,从原作者的报告来看,在可持续发展活动中取得了许多积极成果。尽管如此,游戏化仍然可以探索许多SE任务;对于所解决的任务,经验证据非常有限。
2020-11-13 cs.SE
Synthetic Minority Over-sampling TEchnique(SMOTE) for Predicting Software Build Outcomes
在这项研究中,我们使用数据流的方法来挖掘数据和构建决策树模型,预测软件构建结果的软件度量,来自源代码中使用的软件构建过程。使用数据流方法的基本原理是跟踪预测模型随时间的演变,因为构建是从以前的版本逐步构建的,以纠正错误或增强功能。由于我们使用的软件存储库中可用于挖掘的数据量有限,我们通过应用SMOTE过采样算法合成了新的数据实例。结果表明,少数可用的度量有意义的预测软件构建的结果。据观察,分类准确性稳步提高后,大约900个实例的构建已被馈送到分类器。在数据流处理结束时,分类准确率达到了80%,尽管由于数据在两个类别中的分布而产生了一些偏差。
2014-07-09 cs.SE
Reel Life vs. Real Life: How Software Developers Share Their Daily Life through Vlogs
软件开发人员正在转向vlog(视频博客),分享穿着他们的鞋子走路的一天。通过这些视频博客,开发人员可以分享他们的技术工作以及个人生活的丰富视角。然而,vlog中描绘的活动类型与行业开发人员执行的活动不同吗?如果一家软件公司的开发人员被要求通过视频博客分享他们的一天,他们会更喜欢在不同程度上展示活动吗?为了回答这些问题,我们分析了YouTube上软件开发人员的130个视频博客,并对一家大型软件公司的335名软件开发人员进行了调查。我们发现,尽管视频博客呈现了传统的开发活动,如编码和编码外围活动(11%),但它们也突出了健康和生活方式相关的活动(47.3%),这些活动在以前的软件工程文献中没有反映出来。我们还发现,软件公司的开发人员倾向于分享更多的非编码任务(例如,个人项目,与家人和朋友在一起的时间,以及健康),当被要求创建一个模拟vlog以促进多样性时。这些发现表明,我们对软件开发人员如何花费时间的理解发生了转变,并发现有价值的公开分享。我们讨论了vlog如何提供软件开发工作的更完整的视角,并作为实证研究的宝贵数据来源。
2021-07-27 cs.CY cs.HC cs.SE
Blockchain-oriented Software Engineering: Challenges and New Directions
区块链技术正在重塑金融、经济和货币,其破坏力可以与早期的互联网和网络相媲美。因此,所有围绕区块链技术的软件开发都在以惊人的速度增长。在本文中,我们认识到软件工程师需要为面向区块链的软件开发设计专门的工具和技术。从当前有关新专业角色定义、要求严格的测试活动和软件架构新工具的挑战中,我们向前迈出了一步,在面向区块链的软件存储库精选语料库的基础上提出了新的方向,这些数据是通过利用2016年穆迪区块链报告中的信息和加密货币的市值来检测的。确保有效的测试活动,加强大型团队的协作,以及促进智能合约的开发,都是未来面向区块链的软件开发的关键因素。
2017-02-16 cs.SE
Experiential Learning Approach for Software Engineering Courses at Higher Education Level
背景:软件项目管理活动有助于在软件工程课程中引入软件过程模型。然而,这些活动应该与学习成果充分一致,并支持学生的进步。目标:提出并评估一种方法,以帮助学生获得理论和实践知识,并体验真实世界的软件项目的挑战。该方法结合了一个严重的游戏和设计实现的任务,学生开发一个规模可控的软件系统。方法:为了评估我们的方法,我们分析了学生的看法,通过在线调查,他们的项目计划,并使用主题分析他们的最终报告。结果如下:结果表明,该方法促进了知识获取,使学生的进步,加强理论概念,并适当地与课程的学习成果。结论:该方法有助于在软件工程课程中引入软件过程模型。我们的经验也可以启发教育工作者愿意在类似的课程中应用我们的方法。
2021-01-20 cs.SE
Open Source Software Development Process: A Systematic Review
开放源码软件(OSS)已被软件开发界公认为是一种有效的软件交付方式。与传统的软件开发不同,开放源码软件的开发是由分布在不同地理位置的开发人员之间的协作驱动的,并受到共同目标和利益的激励。除此之外,OSS社区还认识到了解OSS开发过程及其活动的必要性。我们的目标是通过进行系统的文献综述,概述OSS社区在过去几年中如何调查OSS过程,识别和总结OSS过程活动及其特征,并通过BPMN符号将OSS过程转换为宏观过程,从而调查OSS过程的最新技术。因此,我们系统地分析了33项研究,提出了一个关于OSS过程,一个广义的OSS开发的宏观过程表示的BPMN符号与每个OSS过程的活动和作用在OSS环境中的详细描述的最新研究的概述。我们的结论是,OSS过程可以在实践中进一步研究的研究人员。此外,所提出的开放源码软件过程可以作为一个开放源码软件项目的指南,并根据每个开放源码软件项目的实际情况进行调整。它为那些希望在OSS和传统环境中改进开发过程的管理人员和开发人员提供了见解。最后,对OSS社区提供了关于OSS过程活动的建议。
2020-08-11 cs.SE
Quality Assurance Practices in Agile Methodology
本研究旨在调查敏捷软件开发中的质量保证实践,分析常见问题与关键驱动因素,并提出通过分析质量参数来改进SQA实践的建议。
2024-11-07 cs.SE
Mapping the research software sustainability space
本文提出通过增强现有图解并形式化为有向图模型来全面绘制研究软件可持续性空间,以识别过往活动、规划未来工作并避免重复劳动。
2018-10-26 cs.SE
Software Architecture in Practice: Challenges and Opportunities
本文通过访谈三大洲21个组织的32名从业者,梳理软件需求、设计、构造测试和维护阶段的架构活动与挑战,发现问题集中于管理、文档、工具和流程,并收集改进建议。
2023-08-22 cs.SE
Inside the Skill Market: From Software Engineering Activities to Reusable Agent Skills
The Hong Kong University of Science(香港科技大学);University of Chinese Academy of Sciences Beijing, China(中国科学院大学);Institute of Software, Chinese Academy of Sciences Beijing, China(中国科学院软件研究所);Zhejiang University Hangzhou, China(浙江大学)
研究探讨软件工程活动如何转化为可复用智能体技能。通过对公共库和市场中SE技能大规模实证研究,分析其封装活动、生命周期覆盖等,发现SE活动正通过技能成为可复用工件,为技能推荐等提供研究机会及相关机制需求。
2026-07-13 cs.AI cs.SE
Predicting User Actions in Software Processes
Clausthal University of Technology(克劳斯塔尔工业大学)
本文介绍了一种方法,用户(如软件架构师)协助软件过程。该方法观察用户的动作,并试图预测他的下一步。为此,我们使用机器学习(序列学习)领域的方法,并采用这些方法用于软件过程。关键词:软件工程,软件过程描述语言,软件过程,机器学习,序列预测
2011-10-06 cs.AI cs.SE
The Impact of Feature Selection on Predicting the Number of Bugs
缺陷预测是在软件度量和故障信息上训练机器学习模型以预测软件实体中的缺陷的过程。虽然特征选择是建立鲁棒预测模型的重要步骤,但没有足够的证据表明其对预测软件系统中错误数量的影响。我们研究了基于相关性的特征选择(CFS)过滤器方法和包装器特征选择方法对五种广泛使用的预测模型的影响,并演示了这些模型在有或没有特征选择的情况下如何执行来预测五个不同开源Java软件系统中的错误数量。我们的研究结果表明,包装器优于CFS过滤器;它们将预测精度提高了33%,同时消除了一半以上的特征。我们还观察到,尽管相同的特征选择方法在不同的项目中选择不同的特征子集,但是该子集总是包含源代码和变更度量的混合。
2018-07-12 cs.SE
Using Early Quality Assurance Metrics to Focus Testing Activities
软件或基于软件的系统和服务的测试被认为是生命周期中最耗费精力的活动之一。这尤其适用于那些不能应用高度迭代开发和持续集成的领域。已经提出了几种方法来使用测量作为提高测试有效性和效率的手段。其中大多数依赖于使用与质量保证活动无关的产品数据、历史数据或过程中数据。很少有方法使用来自早期质量保证活动的数据,如检查数据,以便集中测试活动,从而减少测试工作。本文概述了使用早期缺陷检测活动的数据的潜在好处,可能除了其他数据之外,为了集中测试活动。此外,本文概述了一个综合的检查和测试过程,并在两个案例研究的背景下进行评估。考虑到研究的局限性,结果显示测试工作量总体减少了34%,这反映了测试效率提高了约50%。
2013-12-04 cs.SE
Predicting and Evaluating Software Model Growth in the Automotive Industry
软件工件的大小影响软件质量并影响开发过程。在工业中,当软件大小超过某些阈值时,内存错误会累积,开发工具可能无法再处理,从而导致程序启动待用时间过长、构建失败或在不可预测的时间出现内存问题。因此,软件模块的快速增长满足了工业实践的高需求。预测大小增长到需要维护的级别的时间可以防止意外的工作,并有助于在问题构件变得关键之前发现它们。虽然文献中的预测方法数量庞大,但尚不清楚它们与实践的先决条件和期望的吻合程度。在本文中,我们在一家汽车制造商进行了工业案例研究,以探讨预测方法在实践中的适用性和可用性。在第一步中,我们从文献中收集最相关的预测方法,包括使用统计和机器学习的方法。此外,我们通过调查和利益相关者研讨会,从从业者那里获得对预测的期望。同时,我们通过挖掘四年的修订历史来测量48个软件工件的软件大小,得到4,547个数据点。在最后一步中,我们使用收集的数据,通过系统地分析它们如何满足从业者的期望,评估最先进的预测方法的适用性。我们的主要贡献是在现实世界的工业环境中,同时考虑利益相关者的期望常用的预测方法的比较。我们表明,这些方法提供了显着不同的结果预测精度和统计方法适合我们的数据最好。
2017-08-09 cs.SE
Identifying Critical Dependencies in Large-Scale Continuous Software Engineering
本文基于对两家北欧金融科技公司的访谈,识别出大规模持续软件工程中团队与支持职能及外部实体间的关键依赖是主要瓶颈,并计划探索相应协调机制。
2025-05-08 cs.SE
Statistical Approach for Predicting Factors of Mood Method for Object Oriented
面向对象设计在软件开发中越来越流行,面向对象设计度量是软件环境的重要组成部分。本文的主要目的是使用统计方法预测面向对象的MOOD方法的因素。因此,本文采用线性回归模型来研究MOOD方法中各因素对OO软件度量的影响。幸运的是,通过这个过程,可以预测代码行(line of code,简写为CODE)、类数(number of classes,简写为NOC)、方法数(number of methods,简写为NOM)和属性数(number of attributes,简写为NOA)。这些测量允许设计人员在过程的早期访问软件,进行更改,以降低复杂性并提高设计的持续能力。
2013-02-22 cs.SE
Quality Gatekeepers: Investigating the Effects ofCode Review Bots on Pull Request Activities
该研究结合 GitHub 1,194 个项目的断点回归分析与 12 名从业者访谈,揭示代码审查机器人对 PR 合并、未合并数量及开发者沟通的影响。
2022-03-30 cs.SE
Evolution of repositories and privacy laws: commit activities in the GDPR and CCPA era
University of Cyprus(塞浦路斯大学)
研究分析了GDPR和CCPA时代软件仓库的提交活动,发现隐私相关术语在提交信息中出现,但对用户权利的引用较少,提出需加强隐私教育和工具开发。
2025-05-28 cs.SE
Leveraging Large Language Models for Predicting Cost and Duration in Software Engineering Projects
针对软件项目成本与工期估算难题,本文评估LLM相对传统及机器学习方法的准确性、易用性与工业适用性,证明其可提供更准确且易用的预测替代方案。
2024-09-15 cs.SE
The use of controlled vocabularies in requirements engineering activities: a protocol for a systematic literature review
背景:基于证据的软件工程(EBSE)范例和系统文献综述的计划阶段。目的:一个方案,用于对基于证据的软件工程领域的几个指南建议的过程进行系统的文献综述,并提供详细信息。方法:对最近在世界领先期刊上发表的系统性文献综述的分析,加上使用两个著名的指南和一本教科书来翻译正式的计划(方案)。结果:验证的方案结论:我们发现,大多数已发表的系统评价缺乏报告的方案,或它是薄弱的。缺乏制定正式协议的工具支持。尽管协议与计划一样,必须具有适应不可预见情况的灵活性,但其目标是实际活动应尽可能与已计划的活动相似。因此,这是一个很难实现的平衡,研究人员必须小心,不要引入可能对整个工作的有效性构成威胁的更改。
2017-04-03 cs.SE
On Fun for Teaching Large Programming Courses
University of Hamburg(汉堡大学)
本文提出了一种包含十种物理有趣活动的目录,旨在通过增加学生参与度来提高大编程课程的教学效果。
2026-01-14 cs.SE
Predicting Expert Evaluations in Software Code Reviews
本文提出一种算法模型,通过从代码提交预测编码时间、实现时间和代码复杂度等主观指标(与人类判断强相关),自动化处理耗时且易被忽视的代码审查任务,从而减轻审查者负担并支持数据驱动决策。
2024-09-23 cs.SE
The Impact of Sanctions on GitHub Developers and Activities
本文通过分析 2008-2022 年约 15.6 万 GitHub 用户及 4100 万活动数据,实证研究政府制裁对开发者行为的影响,发现开发者能应对制裁并在解除后回归平台,证明 GitHub 对维持全球开源贡献具有关键作用。
2024-04-08 cs.SE
Tigris: a DSL and Framework for Monitoring Software Systems at Runtime
对软件系统行为方面的理解是许多软件工程活动(如适应)的基本推动者。这涉及从系统收集运行时数据,以便可以分析所收集的数据以指导对系统的操作。因此,软件监控带来了实际的挑战,因为它通常是通过拦截系统执行和记录收集的信息来完成的。这种监视可能会降低性能并将系统执行中断到不可接受的水平。在本文中,我们介绍了一个两阶段的监测方法,以支持自适应系统的监测步骤。第一阶段收集轻量级的粗粒度信息,并根据提供的特定于域的语言确定应该详细监视的软件相关部分。这种语言是由系统的文献综述。第二阶段收集决定是否以及如何调整托管系统所需的相关细粒度信息。我们的方法被实现为一个框架,称为底格里斯,可以无缝集成到现有的软件系统,以支持基于监控的活动。为了验证我们的建议,我们实例化的Tigris支持应用程序级缓存的方法,适应缓存的软件系统在运行时的决定,以提高其性能。
2021-03-29 cs.SE
Enhancing Large Language Models with Retrieval Augmented Generation for Software Testing and Inspection Automation
Department of Computer Science University of Colorado Colorado Springs (UCCS)(科罗拉多大学科罗拉多斯普林斯分校计算机科学系);Smith College(史密斯学院)
本文通过检索增强生成方法提升大型语言模型在软件测试和检查自动化中的应用,有效减少项目成本并提高验证与确认活动的效果和效率。
2026-04-16 cs.SE
Mining Software Metrics from Jazz
在本文中,我们描述了提取的源代码度量从Jazz存储库和应用程序的数据采掘技术,以确定最有用的这些指标预测的成功或失败的尝试构建一个工作实例的软件产品。我们目前的结果,从一个系统的研究,使用J48分类方法。结果表明,我们认为只有相对较少的可用软件度量对预测构建的结果有意义。这些重要的指标进行了讨论,并讨论了结果的影响,特别是能够预测失败的构建尝试的相对困难。
2014-07-09 cs.SE
Predicting the Objective and Priority of Issue Reports in Software Repositories
开发人员协作讨论、实现、使用和共享托管在软件存储库上的软件实体。正确的文档在成功的软件管理和维护中起着重要的作用。用户利用问题跟踪系统(一种软件存储库工具)跟踪问题报告,管理工作量和流程,最后记录团队工作的亮点。问题报告是协作管理的软件知识的丰富来源,可以包含报告的问题,对新功能的请求,或者仅仅是关于软件产品的问题。随着这些问题数量的增加,手动管理它们变得越来越困难。GitHub提供了标记问题的标签,作为问题管理的一种手段。然而,在GitHub的前1000个存储库中,大约有一半的问题没有任何标签。我们的目标是自动化软件团队管理问题报告的过程。我们提出了一个两阶段的方法来预测背后的目标打开一个问题,它的优先级使用功能工程方法和国家的最先进的文本分类。据我们所知,我们是第一个微调Transformer以进行问题分类的公司。我们在基于项目和跨项目的环境中对模型进行训练和评估。后一种方法提供了一个通用的预测模型,适用于任何看不见的软件项目或几乎没有历史数据的项目。我们提出的方法可以成功地预测问题报告的目标和优先级,分别为82%和75%的准确率。此外,我们对六个看不见的GitHub项目中未标记的问题进行了人工标记和评估,以评估跨项目模型在新数据上的性能。该模型达到90%的准确率。我们获得85%的平均百分比协议和71%的伦道夫的自由边际Kappa转化为大量的协议之间的贴标机。
2021-09-28 cs.SE
Fault Predictions in Object Oriented Software
动态软件开发组织优化资源的使用,在规定的时间内交付满足需求的产品。这就要求尽快预防或修复故障。本文介绍了一种预测java运行时错误的方法。本文关注的是由于继承和违反Java约束的故障。所提出的故障预测模型的目的是在软件测试领域中分离故障类别。分离的故障类别根据特定类别中发生的故障进行分类。通过对该类故障进行聚类分析,得到了故障的分类结果。该模型可用于软件可靠性预测。
2009-12-11 cs.SE
Requirements Engineering, Software Testing and Education: A Systematic Mapping
本文通过系统性映射研究,梳理教育情境中需求工程与软件测试被结合探讨的方式。
2023-04-26 cs.SE
How Software Engineering Students Use LLMs to Write Research Papers: An Experience Report
University of Calgary(卡尔加里大学);CESAR School(CESAR学院);University of Bari(巴里大学);Universidade Federal Rural de Pernambuco (UFRPE)(伯南布哥联邦农村大学);University of Hawai‘i at Mānoa(夏威夷大学马诺阿分校)
本文报告了一项教育经验,通过分析146份学生披露声明,探讨学生在实证方法作业中如何整合LLM进行头脑风暴、方法澄清、结果组织和写作润色,并讨论其教育意义。
2026-06-05 cs.SE