An Analysis of Research in Software Engineering: Assessment and Trends
Glass在二十年前发表了第一份关于系统和软件工程学者和机构评估的报告。对这一领域出版物的持续年度调查为基金经理、青年学者、研究生等提供了各种用途的有用信息。然而,由于评价方法的一些缺陷,这些研究受到了一些批评者的质疑。对学者和机构的这种评价,其实很难达成广泛认同的共识。针对软件工程中的评估和趋势分析问题,提出了一种模块化、自动化的评估和趋势分析方法。为了获得更合理的评价结果,我们考虑了更多高质量的出版物,分析的每篇出版物的排名,以及每篇论文中作者的不同角色。根据2008 - 2013年36种出版物发表的7638篇论文,研究对象的统计大致遵循幂律,隐含着有趣的马太效应。然后,我们确定了前20名的学者,机构和国家或地区的一个新的评价标准的基础上,经常使用的。排名最高的学者是英国伦敦大学学院的马克·哈曼,排名最高的机构是美国加州大学,排名最高的国家是美国。此外,我们还显示了基于EI分类系统和用户定义的非受控关键词的两个级别的趋势变化,以及特定研究领域值得注意的学者和机构。我们相信,我们的研究结果将提供一个有价值的洞察力,为年轻的学者和研究生寻找可能的潜在合作者和把握热门的研究课题在软件工程。
2014-07-18 cs.SE
Insights into Dependency Maintenance Trends in the Maven Ecosystem
本文使用Goblin框架定量分析Neo4j数据集,发现依赖较少的版本更易错过发布,而最新版本依赖新鲜度为正,表明管理效能更优,有助于改善生态健康。
2025-03-28 cs.SE
The Software Observatory: aggregating and analysing software metadata for trend computation and FAIR assessment
本文介绍OpenEBench的软件观测站,一个聚合软件元数据的Web门户,用于分析趋势、评估FAIR性并提供改进指导,以促进研究软件的最佳实践。
2025-10-07 cs.DL cs.SE q-bio.OT
Fairness Testing: A Comprehensive Survey and Analysis of Trends
本文针对机器学习软件不公平行为问题,对100篇公平性测试研究按测试工作流与组件分类梳理,分析领域研究重点、趋势及前景方向,明确了常用数据集与开源工具。
2024-03-06 cs.SE
Remote Communication Trends Among Developers and Testers in Post-Pandemic Work Environments
本研究探讨了后疫情时代软件开发者与测试人员远程通信的特征与挑战,发现向远程和混合工作模式的转变显著改变了通信与任务协调,并强调需调整工作流、引入新管理实践和技术投资以保障项目交付质量。
2024-08-22 cs.SE
Generative AI in Software Testing: Current Trends and Future Directions
Ontario Tech University(安大略理工大学)
本文探讨生成式AI在软件测试中的应用,分析其提升测试效率、覆盖率和可靠性的潜力,以及当前面临的挑战与未来发展方向。
2026-03-02 cs.SE
Insights into Software Development Approaches: Mining Q&A Repositories
本研究通过主题建模与定性分析结合的混合方法,挖掘三大问答论坛的13903篇开发者帖子,识别出15个软件开发方法高频主题、49项实践挑战及难点主题上升趋势,为从业者提供参考以提升软件质量。
2023-05-02 cs.SE
Research Artifacts in Software Engineering Publications: Status and Trends
本文实证分析2017—2022年四大顶级SE会议论文中的1,487个研究工件,从实践、维护、流行度和质量维度揭示开放工件的发展趋势与不足,并提出改进建议。
2024-04-10 cs.SE
Vulnerability Patching Across Software Products and Software Components: A Case Study of Red Hat's Product Portfolio
本文基于分段回归分析研究了1999至2024年Red Hat产品和组件的漏洞修补时间序列,发现易受攻击数量呈不稳定的线性趋势且存在断点,表明安全债务可能趋于稳定。
2025-09-16 cs.CR cs.SE
Network Motifs in Object-Oriented Software Systems
如今,软件已经成为一项复杂的工作,可能超出了我们的控制范围。了解软件如何随着时间的推移而发展,在控制软件开发过程中起着重要的作用。最近,一些研究人员在软件系统或Web应用程序中发现了结构复制的定量证据,这与生物系统中发现的进化趋势相似。为了探索软件演化的原理或规律,我们将复杂网络的相关理论和方法引入到软件系统的结构演化和变化中。根据我们对网络模体的实验结果,我们发现模体的稳定性与其丰度呈正相关,具有高Z值的模体往往具有稳定的结构。这些发现意味着软件系统的进化是基于功能克隆以及结构复制,并趋于结构稳定。因此,本文的工作将有助于逆向工程中软件系统结构变化的分析。
2008-08-25 cs.SE
Towards a Structural Equation Model of Open Source Blockchain Software Health
本文通过探索性因子分析构建开源区块链软件健康度的结构方程模型,揭示兴趣、参与度与鲁棒性之间的正向影响关系。
2023-10-31 cs.SE
Using Structural and Semantic Information to Identify Software Components
基于组件的软件工程(CBSE)旨在通过在开发过程中使用现有的软件模块来促进软件的重用。然而,这种可重用组件的可用性不是立即的,并且是昂贵和耗时的。作为替代方案,可以考虑从预先存在的OO软件中提取。在这项工作中,我们评估了两个社区发现算法的软件组件识别任务。考虑“组件”作为“社区”,其目的是评估如何独立,但凝聚力,组件时,结构知情的算法提取。我们分析了412个Java系统,并使用四种文档表示技术来评估提取的社区的凝聚力。评估的目的是找出哪种算法提取的语义上最有凝聚力,但分离的社区。实验结果表明,两种算法都有较好的性能,但各有优势。Leiden提取的成分内聚性较低,但分离性更好,聚类性更好,更依赖于相似的成分。另一方面,Infomap创建了更有凝聚力的、稍微重叠的集群,这些集群不太可能依赖于其他语义相似的组件。
2021-02-09 cs.SE
GitHub Marketplace: Driving Automation and Fostering Innovation in Software Development
本研究针对学术与产业软件自动化实践脱节的问题,对2017年推出的GitHub Marketplace开展系统性分析,对比产业工具趋势与学术进展,明确学界可助力实际创新的方向。
2025-08-02 cs.SE
Stabilization Without Simplification: A Two-Dimensional Model of Software Evolution
University of Toyama(富山大学)
本文提出一个二维模型,探讨软件系统在不简化结构的情况下如何通过稳定化机制提升可预测性,引入基于图的概率框架分离结构负担与不确定性。
2026-07-01 cs.SE
Term Interrelations and Trends in Software Engineering
Ryerson University(瑞尔森大学)
软件工程(SE)社区是多产的,这使得专家跟上新论文的洪流和新手进入该领域具有挑战性。因此,我们认为,社区可能会受益于一个工具,提取术语和他们的相互关系,从SE社区的文本语料库和显示术语的趋势。在本文中,我们建立了一个原型工具,使用词嵌入技术。我们对SE知识体系手册和15,233篇研究论文的标题和摘要进行了嵌入训练。我们还创建了验证嵌入训练所需的测试用例。我们提供了有代表性的例子表明,嵌入可能有助于总结术语和发现知识库中的趋势。
2021-08-21 cs.IR cs.LG cs.SE
A Systematic Mapping on Software Fairness: Focus, Trends and Industrial Context
École de Technologie Supérieure(工程技术学院)
本文通过系统文献映射分析软件公平性研究的现状,指出其在方法和算法上的集中,以及在工业应用中的不足,呼吁加强学术与工业的合作。
2025-12-29 cs.CY cs.SE
Implementation of Function Point Analysis in Measuring The Volume Estimation of Software System in Object Oriented and Structural Model of Academic System
在软件开发中,需要在确定软件的大小或值时具有保真度和准确性,以适应执行的操作。各种计算方法已被广泛应用于估计规模,其中之一是使用功能点分析(FPA)方法。作者将该方法应用于一个学术信息系统的复杂性度量,分别采用面向对象和结构化建模方法。本文中的度量包括几个阶段,即描述将被构建到UML模型中并结构化的信息系统。然后通过计算粗功能点、相对复杂度调整因子对模型进行分析,进而计算其功能点。从使用FPA的计算结果到学术系统软件开发,面向对象模型的FP值为174,64,结构化模型的FP值为180,93。功能点的结果,开发人员将使用它来确定要构建的软件系统的价格和成本。
2013-09-10 cs.SE
A Dynamic Tracing Model for Agile Software Product Lines Domain Engineering from Features to Structural Elements: An Approach Based on Dynamic Routing
即使实施软件产品线的好处已经很好地建立起来,采用这样一个大型系统仍然是一个复杂的选择:很难实施,需要对市场增长有很好的了解,并对企业的长期目标有清晰的认识。因此,许多公司仍然不愿意采取这种做法,除非他们获得灵活性并获得担保。灵活性可以通过采用敏捷软件产品线方法来实现,以确保快速实施更改,并使产品适应市场发展。担保可以通过对要素及其关系的追溯而获得。然而,敏捷软件产品线环境中的跟踪仍然需要获得成熟度,因为它成本高昂,因此很少被采用。在本文中,我们讨论了敏捷软件产品线的可追溯性的附加值,并提出了我们的跟踪模型的灵感来自动态网络路由。
2018-12-13 cs.SE
The Diversity of Gamification Evaluation in the Software Engineering Education and Industry: Trends, Comparisons and Gaps
游戏化已被用于激励和吸引参与者参与软件工程教育和实践活动。有一个显着的需求,为了解游戏化的影响和功效的实证研究。然而,缺乏标准的程序和模型来评估游戏化是一个挑战的设计,比较和报告的结果有关的评估游戏化的方法及其效果。本研究的目的是确定模型和策略,在文献中报道的游戏化的评估。为了实现这一目标,我们进行了一个系统的映射研究,以调查在软件工程的背景下,游戏化的评估策略。我们选择了100项关于软件工程游戏化的初步研究(从2011年到2020年)。我们对这些研究进行了分类,包括评估游戏化的评估程序或模型的存在,评估的目的,使用的标准,数据类型,工具和数据分析程序。我们的研究结果表明,64项研究报告了游戏化评估程序。然而,只有三项研究实际上提出了游戏化的评估模型。我们观察到,对游戏化的评估集中在两个方面:对游戏化策略本身的评估,与用户体验和感知有关;以及对游戏化对其用户和环境的结果和影响的评估。最经常出现的评价标准是“成就”、“动机”、“满意度”和“业绩”。最后,游戏化的评估需要主观和客观的输入,以及定性和定量的数据分析方法。根据评价的重点(战略或成果),某一类型的数据和分析占主导地位。
2021-02-09 cs.SE
A Longitudinal Study of Static Analysis Warning Evolution and the Effects of PMD on Software Quality in Apache Open Source Projects
自动化静态分析工具(ASAT)已经成为软件开发工作流程的主要部分。根据生成的警告,即,更改警告中指示的代码,最迟应该是代码评审阶段的一部分。尽管这是软件开发中的最佳做法,但仍缺乏关于反卫星武器在野外使用的实证研究。在这项工作中,我们希望通过PMD作为ASAT及其在开源项目中的使用的例子来研究软件中的ASAT警告趋势。我们分析了54个项目的提交历史(总共112,266次提交),考虑了193个PMD规则和61个PMD版本。我们调查的趋势,反卫星武器警告超过17年的选定的研究对象有关的变化,警告类型,反卫星武器的使用的短期和长期的影响,并在警告的严重程度的变化。我们发现,ASAT警告的大规模全球变化主要是由于大括号和命名约定的编码风格变化。我们还发现,令人惊讶的是,项目构建过程中PMD的存在对每行代码中警告数量的警告删除趋势的影响很小,并且在统计上不显着。无论如何,如果我们考虑缺陷密度作为外部质量的代表,如果PMD存在于我们研究对象的构建配置中,我们会看到积极的影响。
2020-08-27 cs.SE
Rethinking Software Empirical Studies with Structural Causal Models
William & Mary(威廉玛丽学院)
提出CausalSE框架,利用结构因果模型(SCMs)解决混淆偏差,通过Galeras数据集和倾向得分匹配案例,揭示提示工程策略对代码生成的影响,强调因果分析可避免关联分析中的假阳性。
2026-05-27 cs.SE
Evolutionary Trends of Developer Coordination: A Network Approach
软件演化是一个基本的过程,它超越了技术工件的领域,渗透到软件项目的整个组织结构中。通过对18个大型开源项目的纵向实证研究,我们研究并讨论了管理开发人员协调的进化原则。通过应用网络分析方法,我们发现,开发人员协调的隐式和自组织结构是无处不在的非随机组织原则,无视传统的软件工程智慧。特别是,我们发现:(a)开发者形成无标度网络,其中大多数协调需求出现在极少数开发者之间,(b)开发者倾向于随着时间的推移与越来越多的开发者积累协调需求,这大概受到上限的限制,以及(c)最初开发者被分层地布置,但是随着时间的推移,形成混合结构,其中核心开发者被分层地安排而外围开发者没有。我们的研究结果表明,大型项目的组织结构受到限制,发展到一个平衡开发人员协调的成本和收益的状态,用于实现这种状态的机制取决于项目的规模。
2016-10-19 cs.SE
What You See Is What It Does: A Structural Pattern for Legible Software
针对LLM编码背景下软件不可读和模块化不足的问题,提出一种由独立服务、事件规则和同步领域特定语言组成的结构化模式,以提升增量性、完整性和透明性,并通过RealWorld基准验证其有效性。
2025-08-27 cs.SE
Reflecting on Recurring Failures in IoT Development
随着物联网系统被赋予更多的责任和自主权,它们提供了更大的好处,但也带来了更大的风险。我们相信这种趋势会重新提出软件工程的一个老挑战:如何在市场压力下安全可靠地开发高风险的软件密集型系统?作为第一步,我们对最近的物联网故障进行了系统分析,以确定工程挑战。我们收集并分析了22篇新闻报道,研究了物联网系统故障的来源、影响和修复策略。我们观察了应用程序域内部和跨应用程序域的故障趋势。我们还观察到,失败主题随着时间的推移而持续存在。为了缓解这些趋势,我们概述了针对物联网开发的故障感知软件开发生存周期的研究议程。我们提出了一个百科全书的故障和经验的基础上,系统事后分析,辅以适当的自动化工具。
2022-09-19 cs.SE
A Static Analysis Platform for Investigating Security Trends in Repositories
提出一个集成多种静态分析工具的分析平台,支持基于Git的代码仓库跨版本历史持续监控警告,并通过仪表板展示安全趋势与热点,同时可生成适用于机器学习的大规模安全警报数据库。
2023-04-04 cs.SE
Software Architectures for Robotics Systems: A Systematic Mapping Study
软件体系结构相关的问题是机器人系统的重要。二十多年来,以架构为中心的机器人系统软件开发和演化一直吸引着研究人员的关注。这项工作的目标是系统地识别,分类和整体映射现有的解决方案,研究进展和趋势,影响架构驱动的建模,开发和机器人软件的演变。我们进行了一项系统映射研究,以确定和分析基于56篇同行评审论文的相关文献。我们从选定的论文中提取和综合数据,对现有的研究进行分类,并系统地映射解决方案,框架,符号和评估方法,以突出软件架构在机器人系统中的作用。我们已经确定了八个不同的研究主题,支持架构解决方案,以实现机器人软件的操作,进化和开发特定活动。在这一领域的研究已经从面向对象的组件为基础,现在服务驱动的机器人代表不同的体系结构代。自2005年以来,报告的解决方案利用模型驱动,面向服务和逆向工程技术。一个新兴的趋势是云机器人技术,它利用服务驱动架构的基础来支持机器人互联网。该SMS的结果促进了知识转移,使研究人员和从业人员受益,重点是利用软件架构来建模,开发和发展机器人系统。
2017-01-19 cs.SE
Mathematical Principles in Software Quality Engineering
数学对于开发复杂的软件系统有许多有用的特性。一个是它可以准确地描述对象的物理情况或行为的结果。数学支持抽象,这是一个很好的建模媒介,因为它是一个精确的媒介,有一点模糊的可能性。本文表明,数学提供了一个高层次的验证时,它被用作软件媒介。它还概述了基于被测程序源代码的结构测试的显着特点。结构测试方法非常适合于严格的定义,数学分析和精确的测量。最后还讨论了功能测试和结构测试的争论,以使测试有完整的意识。任何程序都可以被认为是一个函数,因为程序输入形成了它的域,程序输出形成了它的范围。一般来说,离散数学更适用于功能测试,而图论更适用于结构测试。
2010-04-10 cs.SE
A Survey of Large Language Models for Code: Evolution, Benchmarking, and Future Trends
本文系统综述了Code LLM的类型、与通用LLM的性能差异及关系,分析了134项相关研究,并在多个主流基准上评估了不同软件工程任务的最佳LLM,为开发者和从业者提供了模型选择与改进方向的指导。
2024-01-08 cs.SE
Characterizing Structural Testability in JavaScript: An Empirical Study
Motorola Solutions(摩托罗拉解决方案);Simon Fraser University(西蒙菲莎大学)
本文针对 JavaScript 结构可测试性展开大规模实证研究,定义七维结构并汇总为 CTS,应用于 30 个开源项目,分析其分布等,发现结构有挑战的函数集中在少量文件且通过多种重复配置出现,为相关研究奠定基础。
2026-07-29 cs.SE
Structural and Connectivity Patterns in the Maven Central Software Dependency Network
本文利用网络科学方法分析Maven Central依赖图,基于Goblin框架采样构建包含130万节点和2,090万边的图,发现其具有无标度小世界拓扑,少数测试框架和通用工具库等基础设施枢纽支撑多数项目,同时也构成系统性风险。
2025-08-19 cs.SE
Ten Years of Software Engineering in Society
本研究通过映射ICSE的SEIS轨道十年间123篇文章,识别出可持续性、多样性与开源软件趋势,发现实际干预缺失及社会维度主导、环境维度被忽视的空白,旨在激发社区讨论与复制研究。
2025-05-23 cs.SE
Empirical Study for Structured Output Control in LLMs for Software Engineering
University of Luxembourg(卢森堡大学);Luxembourg Institute of Science and Technology(卢森堡科学与技术研究所);King Fahd University of Petroleum and Minerals, Saudi Arabia(沙特阿拉伯国王法赫德国立石油与矿产大学)
针对LLM在软件工程中输出格式不匹配问题,提出TTMG方法消除语法错误,但结构性和语义错误仍存在,表明核心瓶颈超越语法格式化。
2026-06-08 cs.SE
Application of Econometric Data Analysis Methods to Physics Software
我们报告的调查数据分析方法来自其他学科,我们适用于物理软件系统。它们涉及不平等分析、趋势分析和多样性分析。对不平等的分析利用了来自计量经济学的统计方法;趋势分析是经济学和环境科学的典型;对多样性的分析基于生态学的概念,并将软件视为生态系统。据我们所知,这是一个创新的探索,因为我们无法找到这些方法在IEEE核科学研讨会的范围内的实验物理领域的先前使用的跟踪。我们将这些方法应用于Geant 4物理验证和Geant 4可维护性评估的背景下。
2017-04-19 cs.SE physics.data-an
Identifying change patterns in software history
用于检测源代码中的差异的传统算法关注行之间的差异。因此,很少能够了解项目中随着时间的推移而发生的抽象更改。程序抽象语法树上的结构差异揭示了代码中语法级别的变化,这使我们能够进一步处理差异以理解它们的含义。我们建议,分组的变化由一些度量的相似性,然后通过反统一的模式提取将允许我们识别模式的变化在一个软件项目中包含的版本控制系统(VPS)的变化序列。诸如树编辑距离之类的树相似性度量可以用于对改变进行分组,以便标识可以表示单个改变类的分组(例如,向函数调用添加参数)。通过在每个群中应用反统一,我们能够从具体变化的族推广到结构变化的模式。在结构层面上研究变化模式,而不是逐行地研究,可以让我们深入了解软件的演变。
2013-07-05 cs.SE
A Benchmark Study on Sentiment Analysis for Software Engineering Research
最近的研究趋势是通过对协作开发环境中留下的通信痕迹的内容应用情感分析来识别开发人员的情感。为了克服使用现成的情感分析工具所带来的局限性,研究人员最近开始为软件工程领域开发自己的工具。在本文中,我们报告了一个基准研究,以评估专门为软件工程定制的三个情感分析工具的性能和可靠性。此外,我们提供了一个开放的挑战,因为它们出现在定性分析的错误分类文本的反思。
2018-03-17 cs.SE
Resist the Hype! Practical Recommendations to Cope With Résumé-Driven Development
本文基于对591名软件专业人员的实证研究,揭示招聘中过度追捧技术趋势的“简历驱动开发”现象,分析其有害的自我维持动态,并为招聘方和应聘方提出实用改进建议。
2023-07-06 cs.CY cs.SE
The professional's opinion: Suggestions for improving the corporate education training process in Software Engineering
CESAR School(CESAR学院)
研究探讨软件工程师对组织学习过程改进建议,通过分析174份开放性回答,发现需系统性干预以整合实践相关性、结构支持及有利的机构文化。
2026-03-12 cs.SE
Engineering Software Systems for Quantum Computing as a Service: A Mapping Study
量子系统已经开始成为一种颠覆性的技术,并使平台-利用量子力学的原理-在计算中实现量子霸权。学术研究、工业项目(例如,Amazon Braket)和“Quantum Flagship”等财团正在努力开发实用且商业上可行的量子计算(QC)系统和技术。量子计算即服务(QCaaS)被视为一种符合服务导向理念的解决方案,可以为没有量子计算机的个人和组织提供QC资源和平台,作为效用计算。为了了解量子服务开发生存周期并确定新兴趋势,我们使用基于证据的软件工程方法对能够实现或增强QCaaS的研究进行了系统的映射研究(SMS)。SMS过程共检索了55项研究,并根据其定性评估,我们选择了其中9项研究,以调查(i)功能方面,设计模型,模式,程序设计语言,部署平台,和(ii)QCaaS新兴研究的趋势。结果表明,三种建模符号和五种设计模式的目录架构QCaaS,而Python(本机代码或框架)和Amazon Braket是实施和部署QCaaS解决方案的主要解决方案。从量子软件工程(QSE)的角度来看,这个SMS提供了经验基础的发现,可以帮助获得过程,模式和参考架构,工程软件服务的质量控制。
2023-03-26 cs.SE
Rethinking Software Misconfigurations in the Real World: An Empirical Study and Literature Analysis
Nankai University(南开大学);Xi’an Jiaotong University(西安交通大学);Jilin University(吉林大学)
通过对772个真实软件配置问题的实证研究,提出新的根因分类(约束违反、资源不可用、组件集成错误、配置语义误解),并系统综述相关文献,发现研究目标从系统软件转向高级应用(如云服务),非崩溃配置错误研究显著增长,但多数研究因工具和数据集不可用而缺乏可重复性。
2026-07-15 cs.SE
Using Gray Literature to Influence Software Engineering Curricula
针对软件工程课程更新滞后问题,提出利用灰色文献补充传统学术文献,以跟踪行业趋势并指导课程设计,帮助教育者敏捷适应技术变化。
2023-12-27 cs.CY cs.SE
Evolution of statistical analysis in empirical software engineering research: Current state and steps forward
该研究通过人工审阅161篇论文并半自动分类2001—2015年5,196篇论文,分析实证软件工程统计分析实践与趋势,提出工作流概念模型并强调实际显著性报告。
2019-07-10 cs.SE
Automating Structural Analysis Across Multiple Software Platforms Using Large Language Models
University of Miami(迈阿密大学);HBC Engineering Company(HBC工程公司);Hunan University(湖南大学);Lehigh University(里海大学)
本文提出一种多软件平台结构分析自动化方法,通过两阶段多智能体架构实现跨平台建模与分析,实验表明其在多个主流软件中均达到90%以上的准确率。
2026-04-10 cs.AI cs.SE
Towards Using Package Centrality Trend to Identify Packages in Decline
由于其日益增加的复杂性,今天的软件系统经常通过利用库和包形式的可重用代码来构建。软件生态系统(例如,npm)是这种代码重用的主要推动者,为开发人员提供了一个共享自己代码和使用他人代码的平台。这些生态系统发展迅速:开发人员每天都添加新的软件包来解决新的问题或提供替代的解决方案,导致过时的软件包对社区的重要性下降。开发人员应该避免依赖于下降的包,因为随着时间的推移,这些包的重用率越来越低,维护频率也越来越低。然而,当前流行度度量(例如,Stars和Downloads)不适合向开发人员提供这些信息,因为它们的语义不能恰当地捕捉社区兴趣的变化。在本文中,我们提出了一种可扩展的方法,使用包在生态系统中的中心地位来识别下降的包。我们使用npm生态系统评估了我们的方法,并表明随着时间的推移,中心性的趋势可以正确区分ROC-AUC为0.9的软件包。该方法可以捕获87%的软件包下降,平均18个月前的趋势显示在目前使用的软件包流行度指标。我们在一个工具中实现了这种方法,该工具可用于增强npm指标,并帮助开发人员在重用npm中的包时避免包下降。
2021-10-19 cs.SE
A Survey and Comparison of Industrial and Academic Research on the Evolution of Software Product Lines
过去对软件产品线的研究主要集中在可重用资产的初始开发和相关的挑战,如成本估计和实现问题。当然,随着软件产品线在整个行业中越来越多地被采用,它们的持续维护和发展也越来越受到关注。然而,目前尚不清楚研究在多大程度上遵循这一趋势,以及该行业的利益和需求在哪里。在这份技术报告中,我们提供了一个调查和比较选定的出版物在软件产品线维护和发展SPLC。特别是,我们分析和讨论这些文件的异同方面,他们与工业界和学术界的联系。从这一点,我们推断未来的研究方向,铺平了道路,系统和有组织的软件产品线的演变,工业界也可能从中受益。
2022-12-12 cs.SE
Enablers and Impediments for Collaborative Research in Software Testing: An Empirical Exploration
当涉及到工业组织时,当前在软件工程研究中的协作努力通常保持在内部,剥夺了这些组织建立独立协作研究所需的技能。目前的趋势,经验软件工程研究,需要建立一定的标准,这将指导这些合作努力,建立一个强大的伙伴关系,促进独立的,以证据为基础的,软件工程研究。本文探讨了在软件测试领域中有效和高效的行业-学术界合作的关键因素。该研究的一个主要发现是,虽然技术是更好合作的强大推动力,但必须辅之以行业开放性,以披露研究结果和使用专用工具平台。我们使用自动化测试生成方法作为一个例子,该方法是在过去两年中与瑞典的庞巴迪运输公司合作开发的。
2015-03-10 cs.SE
The Future of AI-Driven Software Engineering
The University of Auckland(奥克兰大学)
本文探讨AI驱动软件工程的未来趋势,强调人类开发者与AI的协同合作,并指出需解决的关键挑战以实现这一愿景。
2026-03-26 cs.AI cs.LG cs.PL
Thing/Machine-s (Thimacs) Applied to Structural Description in Software Engineering
我们正在追求一种建模方法,将世界视为事物的领域。事物被定义为可以被创建、处理、释放、转移和接收的东西。此外,在这种建模方法中,事物是一个五维结构,称为事物(抽象)机器。另一方面,机器是被操作的东西;也就是说,它们被创造、加工、释放、转移和接收。与世界的交织是通过整合实体存在的两种模式来实现的:作为一个流经机器的东西和作为一个处理东西的机器。本文进一步丰富了这些概念的东西和机器。我们提出了进一步的探索,通过引入一个新的概念,称为物/机(thimac)作为一个标签的统一的东西/机器模型。Thimacs用创建、处理、释放、传输和接收以及流和触发这两个链接概念取代了传统的分类、属性和行为。本文讨论了thimacs的概念与例子,并侧重于结构的概念,因为它适用于各种图形建模方法。
2019-09-03 cs.SE
Artifact: Measuring and Mitigating Gaps in Structural Testing
本文介绍了用于评估《测量与缓解结构测试中的差距》实验结果的开源 Artifact,包含数据、工具、脚本及 VirtualBox 虚拟机镜像,支持用户复现实验结果。
2023-08-01 cs.SE
LLM-Assisted Workflow for Structural Difference Visualization in Evolving Software Requirements
Charleston Southern University(查尔斯顿南方大学)
提出LLM辅助工作流,在OntologyWeb中构建语义图并并排比较,以可视化演化软件需求的结构差异。
2026-09-24 cs.HC cs.IR cs.SE
Maintaining the Heterogeneity in the Organization of Software Engineering Research
California State University, San Marcos(圣马科斯加州州立大学);Beijing University of Posts and Telecommunications(北京邮电大学)
本文呼吁维持软件工程研究组织的异质性,探讨其必要性、当前趋势及未来影响。
2026-02-03 cs.SE
Qualities of Quality: A Tertiary Review of Software Quality Measurement Research
本文对软件质量度量研究进行了第三次回顾。为了进行这篇综述,我们检查了7,811篇文章的初始数据集,发现了75个软件质量研究的相关和高质量的二次分析。综合这些工作,我们提供了一个视角,测量方法和趋势的概述。我们确定了五个不同的角度,概念化的启发式质量,可维护性,作为一个整体的概念,作为软件的结构特征,和可靠性。我们还确定了三个关键挑战。首先,我们发现了普遍的证据,有效性问题的共同措施。第二,我们观察机器学习方法的应用,但没有进行充分的评估。第三,我们观察老化数据集的使用。最后,从这些观察,我们勾勒出一个理论框架,这将使软件工程研究人员系统地面对这些弱点,同时仍然扎根于开发人员的经验和代码最终部署的现实世界。
2021-07-29 cs.SE
Deep Learning Anti-patterns from Code Metrics History
反模式对于反复出现的设计问题来说是一个糟糕的解决方案。大量的实证研究强调了反模式对软件维护的负面影响,这促使了各种检测技术的发展。这些方法中的大多数依赖于软件系统的结构度量来识别受影响的组件,而其他方法则通过分析代码组件之间发生的共同变化来利用历史信息。通过仅仅依赖于软件系统的一个方面(即,结构的或历史的),现有的方法错过了一些宝贵的信息,这限制了它们的性能。在本文中,我们提出了CAME(代码卷积分析演化),这是一种基于深度学习的方法,它依赖于结构和历史信息来检测反模式。我们的方法利用从版本控制系统中挖掘的结构代码度量的历史值,并使用卷积神经网络分类器从这些信息中推断反模式的存在。我们实验我们的方法,广为人知的上帝类反模式,并评估其性能的三个软件系统。通过我们的研究结果,我们表明:(1)使用源代码指标的历史值可以提高精度;(2)CAME优于现有的静态机器学习分类器;(3)CAME优于现有的检测工具。
2019-10-17 cs.SE
Dissecting Software Graphs: Structural Insights for Driver-Guided Fuzzing
Utah State University(杨百瑞州立大学);University of Michigan(密歇根大学);Zhejiang Gongshang University(浙江工商大学);University at Buffalo, SUNY(纽约州立大学布法罗分校)
该研究针对多驱动程序模糊测试下的软件结构开展实证研究,提出结构抽象方法,经27个OSS-Fuzz项目验证,多驱动程序模糊测试在相同预算下性能优于单驱动程序,可提升覆盖率并发现更多独特漏洞。
2026-08-14 cs.CR cs.SE
Leveraging Structural Properties of Source Code Graphs for Just-In-Time Bug Prediction
University of Saskatchewan(萨斯喀彻温大学)
数据可视化最常见的用途是最大限度地减少正确理解的复杂性。图是理解关系数据最常用的表示之一。它产生了一种简化的数据表示,如果以文本格式保存,则很难理解。在这项研究中,我们提出了一种方法来利用源代码的关系属性的形式的图形,以确定在不同版本的软件演化和维护的软件系统中的即时(JIT)错误预测。提出了一种将提交补丁的源代码转换为等价图表示的方法,并将其命名为源代码图(SCG)。为了理解和比较多个源代码图,我们提取了这些图的几个结构属性,如密度,周期数,节点,边缘等,然后我们利用这些SCG的属性值来可视化和检测错误的软件提交。我们处理超过246K的软件提交从12个主题系统在本次调查中。我们对这12个用C++和Java程序设计语言编写的开源软件项目的调查表明,如果我们将SCG的特征与类似研究中使用的传统特征相结合,我们将获得基于机器学习(ML)的错误提交检测模型的性能提高。使用Wilcoxon符号秩检验,我们还发现在预测有缺陷和无缺陷提交时F1分数的增加具有统计学显著性。由于基于SCG的特征值代表了软件系统中源代码更新或更改的风格或结构属性,因此它表明了仔细维护源代码风格或结构以保持软件系统无错误的重要性。
2022-01-25 cs.LG cs.SE