What really changes when developers intend to improve their source code: a commit-level study of static metric value and static analysis warning changes
许多软件度量被设计用来度量那些被认为与软件质量相关的方面。静态软件度量,例如,规模、复杂性和耦合性被用于缺陷预测研究以及软件质量模型来评估软件质量。虽然这表明了质量和软件度量之间的关系,但它的程度还没有得到很好的理解。此外,最近的研究发现,复杂性度量可能是源代码可理解性的不可靠指标。为了探索这种关系,我们利用开发人员的意图,即什么构成了他们自己代码库的质量改进。我们通过检查提交消息,将来自54个Java开源项目的2,533个提交的随机样本手动分类为质量改进,这取决于开发人员的意图。我们通过预定义的指导方针区分完美和纠正性维护,并将这些数据用作基础事实,用于微调自然语言处理的最先进的深度学习模型。我们使用该模型将数据集增加到125,482次提交。基于由此产生的数据集,我们调查的差异大小和14静态源代码指标之间的变化,提高质量,由开发人员表示,和其他变化。我们发现,质量改善提交比其他提交更小。完美的更改对静态源代码指标有积极的影响,而纠正性更改则倾向于增加复杂性。此外,我们发现,文件的目标是完善的维护已经有一个较低的中位数比其他文件的复杂性。我们的研究结果提供了经验证据,静态源代码度量捕获质量改进从开发人员的角度来看。这对程序理解以及代码气味检测和推荐系统都有影响。
2022-05-30 cs.SE
Variance of ML-based software fault predictors: are we really improving fault prediction?
Paluno, University of Duisburg-Essen(杜伊斯堡-埃森大学帕鲁诺研究所);University of Duisburg-Essen(杜伊斯堡-埃森大学)
本文实验分析了机器学习软件缺陷预测中随机因素导致的方差问题,发现最大方差达10.10%,并讨论了应对方法,以提升实际应用中的可靠性。
2023-10-26 cs.LG cs.SE
Explainable Software Analytics
软件分析一直是最近相当关注的主题,但尚未获得显着的行业牵引力。其中一个关键原因是,软件从业者不愿意在不了解这些预测的基本原理的情况下信任分析机器产生的预测。虽然复杂的模型(如深度学习和集成方法)可以提高预测性能,但它们的可解释性有限。在本文中,我们认为,软件分析模型解释软件从业者是\emph{important}实现准确的预测。因此,可解释性应该是评估软件分析模型的关键指标。我们设想,可解释性将是开发在实践中有用的软件分析模型的关键驱动力。我们概述了这个空间的研究路线图,建立在社会科学,可解释的人工智能和软件工程。
2018-02-02 cs.SE
Towards Understanding Analytics in Software Startups
分析在现代企业的数据知情决策过程中发挥着至关重要的作用。与成熟的软件公司不同,软件初创公司并没有利用分析的潜力,尽管初创过程应该主要是数据驱动的。文献中对软件初创公司的分析几乎没有了解。这项研究旨在通过探索如何在软件创业公司的背景下理解分析来解决知识差距。为此,我们从多个来源收集了初创公司主要使用的三个分析平台的定性数据。我们涵盖了平台文档以及使用这些平台的软件初创公司的经验报告。使用内容分析技术对数据进行分析。确定了四个高级概念,这些概念包含了软件创业公司对分析的真正理解,包括分析工具,实验,诊断分析和获得见解。第一个概念描述了初创公司如何设置分析,后三个概念说明了分析的使用场景。这项研究是在软件创业环境中理解分析的第一步。所确定的概念可以指导在此背景下对分析的进一步调查。它还为软件初创公司提供了一些见解,以建立数据知情决策的分析。考虑到研究中使用的数据的局限性,下一步是通过与软件初创公司直接互动,使用原始数据来验证所获得的理解。
2022-04-11 cs.SE
Bad Smells in Software Analytics Papers
背景:使用数据分析来支持基于证据的软件工程已经有了快速的增长。然而,复杂的技术、多样的报告标准和对基本现象的了解不足,这些因素结合在一起,使人们对研究的可靠性产生了一些担忧。目的:我们的目标是为软件分析研究(计算实验和相关性研究)的生产者和消费者提供指导。方法:我们建议使用“难闻的气味”,即,更深层次的问题的表面迹象和流行的敏捷软件社区,并考虑如何在软件分析研究中表现出来。结果:我们列出了软件分析论文中的12种“不好的气味”(并通过例子展示了它们的影响)。结论:我们相信臭味的比喻是一种有用的手段。因此,我们鼓励更多的讨论是什么有助于软件分析研究的有效性(所以我们希望我们的列表会随着时间的推移而成熟)。
2019-04-13 cs.SE
More Software Analytics Patterns: Broad-Spectrum Diagnostic and Embedded Improvements
软件分析是一种数据驱动的决策方法,它允许软件从业者利用有关软件的数据中的宝贵见解,以实现更高的开发过程生产力,并提高软件质量的各个方面。在以前的工作中,通过文献回顾确定了一组采用精益软件分析过程的模式。本文提出了两种模式添加到原来的设置,形成一个模式语言,采用软件分析的做法,旨在通知决策活动的软件从业者。这两个模式的写作是由两个案例研究的软件分析实践的背景下采用的解决方案,并通过搜索它们在文献中的出现进一步验证的模式。当团队没有专业知识来理解软件分析可以帮助解决的问题时,广谱诊断模式建议基于通用指标进行更广泛的分析;嵌入式改进模式建议将改进任务作为其他日常活动的一部分。
2022-01-10 cs.SE
Software Engineering Data Analytics: A Framework Based on a Multi-Layered Abstraction Mechanism
本文提出一个基于多层抽象机制的领域特定框架,用于查询、建模和集成异构软件仓库,并通过案例研究验证其潜力。
2025-09-26 cs.SE
Practical experiences and value of applying software analytics to manage quality
背景资料:尽管软件分析平台在行业中的使用越来越多,但关于从业者面临的挑战以及这些平台提供的价值,几乎没有经验证据。目的:本研究的目标是探索使用软件分析平台管理质量的从业者的好处。方法:在一个技术转让项目中,学术界和工业界合作伙伴逐步开发了一个软件分析平台,以解决他们的软件质量问题。本文重点探讨了这个软件分析平台在两个试点项目中提供的价值。结果如下:从业人员强调了主要的好处,包括提高产品质量和工艺性能,以及提高对产品就绪性的认识。他们特别认为软件分析平台生成质量需求的半自动化功能对他们来说是最具影响力和最具新颖价值的好处。结论:从业者可以从现代软件分析平台中受益,特别是如果他们有时间仔细采用这样的平台并将其集成到质量保证活动中。
2019-10-24 cs.SE
Quantum Software Analytics: Opportunities and Challenges
本文梳理经典软件开发生命周期中可应用于量子软件开发的软件分析主题与技术,为相关研究者和从业者理解量子软件领域的新兴开发活动、挑战与机遇提供参考。
2023-07-21 cs.SE
Towards Automated Data Integration in Software Analytics
软件组织希望能够根据最新的可用数据集以及从中获得的实时分析做出决策。为了支持软件组织的“实时企业”,并为不同的利益相关者提供信息透明性,我们整合了关于软件分析的异构数据源,如静态代码分析、测试结果、问题跟踪系统、网络监控系统等,以处理底层数据源的异构性,我们在本文中遵循基于本体的数据集成方法,并定义了一个本体,该本体捕获用于软件分析的相关数据的语义。此外,我们专注于这样的数据源的集成,提出了两种方法:静态和动态的。我们首先讨论了当前的静态方法与一组预定义的分析视图表示软件质量因素,并进一步设想如何将此过程自动化,以动态构建自定义用户分析使用半自动平台管理的分析基础设施的生命周期。
2018-08-16 cs.SE
Selection of Architecture Styles using Analytic Network Process for the Optimization of Software Architecture
随着软件系统规模和复杂性的不断扩大,系统设计对软件生产至关重要。因此,软件架构在软件开发中的作用非常重要。它作为软件开发和软件评估的评估和实施计划。因此,选择正确的体系结构是软件工程领域的一个关键问题。此外,软件体系结构选择是一个多准则决策问题,其中必须考虑不同的目标和目的。本文利用ANP推理方法,为软件架构师提供更精确、更合适的架构风格选择决策支持,以最佳方式利用风格属性优化软件架构设计。
2010-05-24 cs.SE
Requirements Intelligence with OpenReq Analytics
随着Twitter等社交媒体和应用商店等分发平台的兴起,用户有各种方式表达他们对软件产品的看法。受欢迎的软件供应商每天都能收到数千倍的用户反馈。研究表明,这样的反馈包含了对软件开发团队有价值的信息。然而,对用户反馈的手动分析是麻烦的并且难以管理。我们提出OpenReq Analytics,一个软件需求智能服务,收集,处理,分析和可视化用户反馈。
2019-09-12 cs.SE
Software Space Analytics: Towards Visualization and Statistics of Internal Software Execution
NTT, Inc.(日本电报电话公司)
本文通过空间统计方法分析软件内部执行数据,定义软件空间数据集,可视化空间聚类并进行统计检验,探讨空间统计在软件工程中的应用与挑战。
2026-03-21 cs.SE
Software Analytics to Software Domains: A Systematic Literature Review
软件分析(SA)是最近出现的大数据分析的一个新分支(2011年)。SA与直接软件分析的区别在于,它将从许多不同软件工件中挖掘的数据链接起来,以获得有价值的见解。这些见解对于贯穿软件生命周期的不同阶段的决策过程是有用的。由于SA是目前一个热门和有前途的话题,我们进行了系统的文献综述,在本文中提出,以确定在SA的知识和开放的研究领域的差距。由于许多研究人员仍然对SA的真正潜力感到困惑,我们不得不筛选出可用的研究论文,以获得与SA最相关的工作供我们审查。在135项研究中,筛选出19项研究。我们的系统评价基于四个主要因素:软件从业者SA的目标,SA所涵盖的领域,SA提取的工件,以及这些工件是否有联系。我们的审查结果表明,大部分可用的SA研究只服务于开发人员的需求。此外,许多可用的研究只使用一个工件,这反过来意味着工件之间的联系更少,见解更少。这表明,现有的SA研究工作仍然是胚胎留下了大量的空间,为未来的研究在SA领域。
2015-11-12 cs.SE
Towards Base Rates in Software Analytics
如今,大量且不断增长的开源软件(OSS)项目数据在互联网上公开。尽管有这些公开的项目数据,但软件分析领域还没有建立一个坚实的量化基础来衡量基本属性,如代码大小、增长、团队规模、活动和项目失败。缺少的是对这些属性的基本速率的量化,而其他领域(如医学)通常依赖于基本速率进行决策和评估实验结果。缺乏这方面的知识,削弱了软件分析领域的研究活动和一般软件项目的决策。本文贡献了我们的研究的初步结果,对获得基本利率使用的数据在Ohloh(OSS项目的大规模索引)。放大古老的“代码行”度量代码大小和增长,我们提出并讨论摘要统计数据,并确定进一步的研究挑战。
2013-10-01 cs.SE
Investigating Adversarial Attacks in Software Analytics via Machine Learning Explainability
本研究通过机器学习可解释性探索软件分析中的对抗攻击,提出基于特征空间扰动的方法,仅修改前1-3个重要特征即可使模型预测失败率达86.6%,揭示了模型鲁棒性不足的问题。
2025-07-14 cs.SE
Software analytics for software engineering: A tertiary review
本文对五项关于软件分析支持软件工程的二次研究进行了三次综述,发现各研究间原始文献重叠极少且结论碎片化,强调整合文献以提供更全面概述的必要性。
2024-10-08 cs.SE
Simpler Hyperparameter Optimization for Software Analytics: Why, How, When?
如何让软件分析更简单、更快速?一种方法是将分析的复杂性与正在探索的数据的内在复杂性相匹配。例如,超参数优化器为数据挖掘器找到控制设置,以改进通过软件分析生成的预测。有时候,非常快速的超参数优化可以通过避开以前尝试过的东西来实现。但是什么时候使用DODGE是明智的,什么时候我们必须使用更复杂(和更慢)的优化器?为了回答这个问题,我们对120个SE数据集应用了超参数优化,这些数据集探索了异味检测、预测Github ssue关闭时间、bug报告分析、缺陷预测和其他数十个非SE问题。我们发现,DODGE最适合低“内在维度”(D = 3)的数据集,而对于高维数据(D超过8)则非常差。这里看到的几乎所有SE数据本质上都是低维的,这表明DODGE适用于许多SE分析任务。
2021-04-23 cs.SE
Software Engineering for IoT-Driven Data Analytics Applications
物联网驱动的数据分析(IoT-DA)有潜力超越智能环境的数据驱动运营。然而,关于如何在软件和系统工程生命周期的背景下设计,实施,运营和发展IoT-DA应用程序的研究有限。本文根据经验推导出一个框架,可用于系统地研究软件工程(SE)流程及其底层实践在设计IoT-DA应用程序中的作用。首先,使用现有的框架和分类法,我们开发了一个评估框架来评估软件过程,方法和其他人工制品的SE为物联网-DA。其次,我们进行了系统的映射研究,定性地选择16个过程(从学术研究和工业解决方案)的SE为物联网-DA。过程活动),对16个SE过程中的每一个进行细粒度的调查。第四,我们将我们提出的框架应用于案例研究,以展示IoT-DA医疗保健应用程序的开发。最后,我们强调了关键的挑战,建议的做法,并吸取了经验教训的基础上框架的支持,以过程为中心的软件工程的物联网-DA。这项研究的结果可以促进研究人员和从业人员工程新兴的和下一代的物联网-DA软件应用程序。
2021-03-20 cs.SE
An Analytical Approach for Project Managers in Effective Defect Management in Software Process
在任何软件行业中,缺陷估计和预测都是软件项目成功的主要调节因素。项目经理在有效预测和评估资源能力方面的成熟度和能力是产生高质量软件的战略驱动力之一。目前,还没有通过实证分析开发的评估技术来评估项目经理对有效缺陷管理的资源分配的决策能力。本文提出了一个基于产品的软件组织中进行的实证研究。通过对几个项目的深入调查,揭示了项目经理决策能力对实现上述目标的影响。本文使项目管理人员进一步认识到预测定位在资源分配中的重要性,以开发高质量的无缺陷软件产品。它还提高了公司的成熟度和在竞争环境中的持久性。
2012-03-29 cs.SE
Large Language Models as Robust Data Generators in Software Analytics: Are We There Yet?
本文系统评估了LLM生成数据与人类编写数据在微调预训练模型应对对抗性攻击时的稳健性差异,发现LLM生成数据虽性能相当但稳健性不足,呼吁提升其训练数据质量。
2025-05-05 cs.SE
Learning Actionable Analytics from Multiple Software Projects
当前一代的软件分析工具主要是预测算法(例如,支持向量机、朴素贝叶斯、逻辑回归等)。虽然预测是有用的,但在预测之后,计划采取什么行动来提高质量。本研究寻求的方法,产生明显有用的指导“做什么”的背景下,一个特定的软件项目。具体来说,我们提出了Xtree(用于项目内规划)和BELLTREE(用于跨项目规划)来生成可以提高软件质量的计划。每一个这样的计划都有这样的特性,如果遵循,它会减少未来缺陷报告的预期数量。为了找到这个预期的数字,首先将规划应用于来自版本X的数据。接下来,我们寻找x+1版本中符合我们计划的更改。该程序适用于使用一系列的规划师从文献中,以及Xtree。在10个开源JAVA系统中,符合Xtree计划的代码部分减少了数百个缺陷。此外,与其他规划者相比,Xtree的计划更容易实施(因为它们更短),并且在减少预期缺陷数量方面更有效。
2020-01-24 cs.SE
EvaluateXAI: A Framework to Evaluate the Reliability and Consistency of Rule-based XAI Techniques for Software Analytics Tasks
针对软件分析任务中基于规则的XAI技术(如PyExplainer和LIME)生成解释的可靠性和一致性问题,提出EvaluateXAI框架及细粒度评估指标,实验表明现有技术解释不可靠且不一致,需进一步研究。
2024-07-18 cs.SE
Software Development Analytics in Practice: A Systematic Literature Review
Iscte - Instituto Universitário de Lisboa(里斯本伊塞特大学);University of Coimbra(科英布拉大学);Huawei Munich Research Center(华为慕尼黑研究中心);Federal University of Rio de Janeiro(里约热内卢联邦大学)
本系统文献综述分析了过去十年软件开发分析在实际环境中的应用,发现其数据源、挖掘方法多集中于质量维度,但在过程挖掘、时间与成本控制及风险管理方面仍存在较大改进空间。
2022-03-29 cs.SE
A Quality Model for Actionable Analytics in Rapid Software Development
背景资料:在快速软件开发(RSD)中,收集有关软件产品、过程和使用前景的相关数据,以及集成和分析这些数据,对于获得可靠和及时的可操作见解至关重要,这些见解旨在持续管理软件质量。在这种情况下,近年来开发了一些软件分析工具。然而,缺乏软件从业者信任的可解释的软件分析。目的:我们的目标是创建一个质量模型(称为Q-Rapids质量模型),用于RSD中的可操作分析,实施它,并评估其可理解性和相关性。方法:我们在四家公司进行了研讨会,以确定相关指标以及产品和工艺因素。我们还引出了这些指标和因素是如何使用和解释从业者在RSD决策时。我们通过比较和整合四个研讨会的结果来指定Q-Rapids质量模型。然后,我们实施了Q-Rapids工具,以支持Q-Rapids质量模型的使用以及所需数据的收集、集成和分析。之后,我们在四家公司安装了Q-Rapids工具,并与八位产品所有者进行了半结构化访谈,以评估Q-Rapids质量模型的可理解性和相关性。结果如下:评价参与者认为Q-Rapids质量模型的指标以及产品和过程因素是可以理解的。此外,他们认为Q-Rapids质量模型与识别产品和过程缺陷(例如,阻塞代码情况)。结论:通过异构数据源,Q-Rapids质量模型能够检测需要花费更多时间手动查找的问题,并增加系统、流程和使用方面的透明度。
2018-06-22 cs.SE
QFL: Data-Driven Feedback Loop to Manage Quality in Agile Development
背景:质量需求(QR)描述了期望的系统质量,在软件项目的成功中起着重要的作用。在敏捷软件开发(ASD)的背景下,主要目标是快速交付功能,QR通常定义不清,并且在开发过程中没有很好地解决。软件分析工具通过度量与质量相关的软件方面来帮助控制质量,以支持QR管理过程中的决策者。目的:本研究的目标是探索集成一个具体的软件分析工具,Q-Rapids工具,以评估软件质量和支持QR管理过程的好处。方法:在技术转让项目的背景下,Softeam公司在其开发过程中集成了Q-Rapids工具。我们举办了一系列研讨会,邀请了Modelio产品开发部门的Softeam成员参加。结果如下:我们提出的质量反馈环(QFL)过程中集成在软件开发过程中,以控制完整的QR生命周期,从启发到验证。由于在Softeam中实施了QFL,Modelio的团队成员强调了将数据分析工具与项目规划工具集成的好处,以及项目经理可以控制整个过程以做出最终决策的事实。结论:从业者可以从软件分析工具的集成中受益,作为其软件开发工具链的一部分,以控制软件质量。QFL的实施提高了组织的质量,软件分析和项目规划工具的集成也改善了团队之间的沟通。
2021-02-11 cs.SE
MOVis: A Visual Analytics Tool for Surfacing Missed Patches Across Software Variants
University of Nevada Las Vegas(内华达大学拉斯维加斯分校)
MOVis通过可视化展示软件变体间遗漏补丁,帮助开发者快速定位缺失修复并理解所需调整,提升变体一致性维护效率。
2026-04-02 cs.SE
Nalanda: A Socio-Technical Graph for Building Software Analytics Tools at Enterprise Scale
软件开发是信息密集的知识工作,需要与其他开发人员协作,并了解工件,如工作项、拉取请求和文件。随着信息技术的飞速发展,信息过载对系统的开发和维护提出了挑战。对于软件工程师来说,寻找信息和人员是很困难的,特别是当他们在大型软件系统中工作或刚刚加入一个项目时。本文构建了一个大规模数据平台纳兰达平台,该平台包含两个子系统:1。一个大规模的社会技术图形系统,命名为Nalanda图形系统2。一个大规模的推荐系统,名为Nalanda索引系统,旨在满足软件开发人员的信息需求。Nalanda图是一个企业规模的图,数据来自6,500个存储库,有37,410,706个节点和128,745,590条边。在Nalanda图形系统之上,我们构建了软件分析应用程序,包括名为MyNalanda的新闻源,仅基于有机增长,它的日活跃用户(DAU)为290,月活跃用户(MAU)为590。一项初步的用户研究表明,74%的开发人员和工程经理都赞成继续使用该平台进行信息发现。纳兰德指标体系由人工指标和专家指标两部分组成。它使用社会技术图(Nalanda图系统)对结果进行排名,并为软件开发人员提供更好的建议。大规模的定量评价表明,纳兰德指数系统对前三名的推荐准确率为78%。
2022-09-19 cs.SE
How to Improve Deep Learning for Software Analytics (a case study with code smell detection)
为了减少技术债务并使代码更易于维护,能够警告程序员代码气味是很重要的。最先进的代码小型检测器使用深度学习器,而没有在该技术中探索替代方案。软件分析和深度学习的一个有前途的替代方案是GHOST(来自TSE'21),它依赖于前馈神经网络的超参数优化和一种新的过采样技术来处理类不平衡。之前的研究从TSE'21提出了这种新的“模糊采样”是有点有限的,因为该方法进行了测试的缺陷预测,但没有别的。与缺陷预测一样,代码气味检测数据集也具有类不平衡性(这激发了“模糊采样”)。因此,在这项工作中,我们测试,如果模糊采样是有用的代码气味检测。本文的结果表明,我们可以达到比国家的最先进的结果代码气味检测模糊过采样。例如,对于“特征嫉妒”,我们能够在所有数据集上实现99+\%的AUC,并且在8/10的数据集上实现“错位类”。虽然我们的具体结果涉及代码气味检测,但它们确实为其他类型的分析提供了其他经验教训。举例来说:(a)在尝试复杂学习器之前尝试更好的预处理(b)将更简单的学习器作为软件分析的基线(c)尝试“模糊采样”作为这样的基线。
2022-03-27 cs.SE
Learning Effective Changes for Software Projects
大部分软件分析的主要动机是决策。如何做出这些决定?一个人是否应该根据从一个特定项目中得出的经验教训来做决定?还是应该从多个项目中产生这些决策?本文试图回答这些问题。我们的工作是由一个认识到,目前的软件分析工具主要集中在预测。事实上,预测是一项有用的任务,但它通常是关于需要采取什么行动的“计划”。这项研究旨在通过寻求支持可操作分析的方法来解决规划任务,这些分析提供了明确的指导。具体来说,我们提出了XTREE和BELLTREE算法,用于在项目内和项目间生成一组可操作的计划。如果遵循这些计划中的每一个,将提高软件项目的质量。
2017-11-13 cs.SE
Better Software Analytics via "DUO": Data Mining Algorithms Using/Used-by Optimizers
本文认为,一个新的领域的实证软件工程的研究和实践正在出现:数据采掘使用/使用优化器的实证研究或DUO。例如,数据挖掘器可以生成由优化器探索的模型。此外,优化器可以建议如何最好地调整数据挖掘机的控制参数。这种综合方法就像一个探员靠在分析师的肩膀上,建议“接下来问这个问题”或“忽略那个问题,它与你的目标无关”。此外,这些代理可以帮助我们构建“更好”的预测模型,其中“更好”可以是更高的预测准确性或更快的建模时间(这反过来又可以探索更广泛的选择)。我们还警告说,仅仅使用数据挖掘机的论文时代即将结束。从未优化的数据挖掘器中获得的结果可以很快被反驳,只需应用优化器来生成不同的(并且性能更好的)模型。因此,我们的结论是,对于软件分析来说,使用DUO将数据采掘和优化结合起来是可能的、有用的和必要的。
2019-12-13 cs.SE
Towards Software Analytics: Modeling Maintenance Activities
雷曼定律告诉我们,随着时间的推移,软件系统将越来越不令用户满意,除非它不断地适应新的需求。了解软件维护可以潜在地减轻行业从业者目前经历的许多痛苦,并有助于减少不确定性、提高成本效益、可靠性等。研究界将软件维护分为3个主要活动:纠正:故障修复;完善:系统改进;适应:新功能引入。在这项工作中,我们试图模拟软件维护活动和设计一个提交分类方法能够产生一个高质量的分类模型。我们对我们的方法和现有技术进行了比较分析,基于11个流行的开源项目,我们手动分类了1151个提交,每个研究项目中有超过100个提交。我们设计的模型能够为测试数据集实现76%的准确度和63%的Kappa(在此上下文中被认为是“良好”),提高了20个百分点以上,在跨项目分类的背景下相对提高了约40%。然后,我们利用我们的提交分类方法来演示两个应用程序:(1)一个工具,旨在提供一个直观的可视化软件维护活动随着时间的推移,(2)深入分析维护活动和单元测试之间的关系。
2019-03-09 cs.SE
Applications of Psychological Science for Actionable Analytics
可操作的分析是人类可以理解和操作的分析。什么样的数据采掘模型可以生成这样的可操作分析?根据心理科学家的说法,人类理解的模型最符合他们自己的内部模型,他们将其描述为“启发式”列表(即,非常简洁的规则列表)。一个这样的启发式规则生成器是心理科学家喜欢的快速节俭树(FFT)。尽管FFT在许多应用领域都取得了成功,但它还没有应用于软件分析。因此,本文评估软件分析的FFT。我们发现,FFT是非常有效的。他们的模型非常简洁(5行或更少的代码描述了一个二叉决策树)。这些简洁的模型优于Ghortra等人在ICSE'15上定义的最先进的缺陷预测算法。此外,当我们将训练数据限制为操作属性(即,这些属性经常被开发人员改变),FFT的性能比标准学习器好得多。我们的结论是双重的。首先,软件分析社区可以从心理科学中学到很多东西。其次,复杂方法的支持者应始终将这些方法与较简单的替代方法进行比较。例如,FFT可以用作标准基线学习器,与其他软件分析工具进行比较。
2018-03-13 cs.SE
Hyperparameter Optimization for Effort Estimation
软件分析在软件工程中被广泛用于许多任务,例如生成软件项目的工作量估计。软件分析的“黑魔法”之一是调整控制数据采掘算法的参数。这种超参数优化在其他软件分析领域(例如,缺陷预测和文本挖掘)中已经得到了广泛的研究,但到目前为止,还没有被广泛探索的努力估计。因此,本文寻求简单,自动化,有效和快速的方法来找到良好的自动软件工作量估计调优。我们介绍了一个超参数优化架构称为OIL(优化归纳学习)。我们使用来自945个软件项目的数据在各种超参数优化器上测试OIL。在调整之后,观察到工作量估计准确性的大幅改善(以标准化准确性衡量)。从这些结果中,我们建议使用回归树(CART)调整不同的进化结合默认的基于类比的估计。这种学习器和优化器的特殊组合通常在几个小时内实现其他优化器需要几天到几周的CPU时间才能完成的任务。这种分析的一个重要部分是它的可重复性和可反驳性。我们所有的脚本和数据都在线。希望本文将促进和使更多的研究更好的方法来调整软件工作量估计。
2019-01-31 cs.SE
On the Costs and Benefits of Adopting Lifelong Learning for Software Analytics -- Empirical Study on Brown Build and Risk Prediction
本文实证评估了在育碧工业场景中采用终身学习持续更新软件分析模型的效果,证明其相比从头再训练可在保持性能的同时大幅降低计算成本。
2024-02-12 cs.SE
Guiding Software Developers by Social Networking Application Plug-in using the Multiple Bridge Source Repository through a Data Mining Integrated Approach
在当今世界,社交网络是一个重要的(充满力量的)大众传播媒介。几乎所有阶层的人都在通过使用不同社交网站中的大量用户友好应用程序相互交流并分享他们的观点,时刻和想法。找到一个从来没有听说过社交网络的人真是难以置信。可用的社交网站通常使其用户能够通过特定的模板和嵌入式代码源开发各种定制应用程序。具有一般开发知识的用户经常遇到重用这些资源的困难,最终缺乏指导方针和必要的API建议。在我们的工作中,我们提出了一个框架和模型,以帮助这些应用程序开发人员通过用户辅助插件工具,能够提供相同的API使用模式和序列,以响应特定的用户查询。我们将我们的系统命名为社交网络应用程序插件(SNAP)。我们搜索社交网络应用程序存储库,其中多个存储被桥接,并应用相应的挖掘算法,以找到相关的序列,以满足用户的需求。它提供了类似的、最相关的、功能性的API使用场景,并提供了一个选择、重用和修改推荐源的选项。从我们曾经做过的调查,我们的SNAP方法是能够推荐用户的无错误,可理解的,和最小的API模式。
2020-06-24 cs.SE
ACCORDANT: A Domain Specific Model and DevOpsApproach for Big Data Analytics Architectures
大数据分析(BDA)应用程序使用机器学习算法从大型、快速和异构的数据源中提取有价值的见解。BDA应用程序的新软件工程挑战包括即使在存在大数据量、速度和多样性(3V)的情况下也要确保数据驱动算法的性能水平。BDA软件的复杂性经常导致延迟部署、更长的开发周期和具有挑战性的性能评估。本文提出了一种特定于域的模型(DSM)和DevOps实践来设计,部署和监控BDA应用程序中的性能指标。我们的建议包括一个设计过程,和一个框架,以定义架构输入,软件组件,并通过集成的高层次抽象部署策略,使QS监控。我们用来自不同领域的四个用例来评估我们的方法,以证明高水平的泛化能力。我们的结果表明,与类似的方法相比,部署和监控时间更短,每次迭代的增益系数更高。
2020-11-16 cs.SE
Can Causality Cure Confusion Caused By Correlation (in Software Analytics)?
North Carolina State University(北卡罗来纳州立大学)
本研究探讨在符号模型中引入因果意识分割标准是否能提升稳定性与鲁棒性,并比较人类与自动化模型的稳定性差异。
2026-02-17 cs.SE
A Methodology for Using GitLab for Software Engineering Learning Analytics
为了弥合数字技能差距,我们需要训练更多的软件工程技术人员。本文报告了一个项目,探索学生使用协作开发平台和版本控制系统(如GitLab)解决任务的方式,以找到可用于改进课程内容的模式和评估指标,并反映学生面临的最常见问题。在本文中,我们探讨了可以与GitLab和类似工具一起使用的学习分析方法,并讨论了在软件工程教育中应用这些方法时所面临的挑战,目的是构建一个支持从数据提取到数据分析的完整学习分析周期的管道。我们特别关注拟议管道中的数据匿名化步骤,以探索在学术环境中处理个人信息用于研究目的时满足数据保护要求的可用替代方案。
2019-03-15 cs.CY cs.SE
Cluster-guided LLM-Based Anonymization of Software Analytics Data: Studying Privacy-Utility Trade-offs in JIT Defect Prediction
SFG Lab, Lahore University of Management Sciences(拉合尔管理科学大学 SFG 实验室);National University of Computer and Emerging Sciences (FAST)(国家计算机与新兴大学 (FAST))
本文提出基于LLM的聚类引导去标识化方法,用于JIT缺陷预测中的隐私-效用权衡研究,通过上下文感知参数配置提升隐私保护水平。
2025-12-13 cs.CR cs.SE
The Types, Roles, and Practices of Documentation in Data Analytics Open Source Software Libraries: A Collaborative Ethnography of Documentation Work
计算研究和数据分析越来越依赖于开源软件(OSS)“库”的复杂生态系统-程序员导入以执行特定任务的可重用代码的精心收集。这些库的软件文档对于帮助程序员/分析师了解哪些库可用以及如何使用它们至关重要。然而,开源软件库的文档被广泛认为质量低。本文是CSCW研究人员和数据分析OSS库的贡献者之间的合作,基于人种学实地考察和定性访谈。我们研究了围绕这些主要基于志愿者的项目中文档的格式,实践和挑战的几个问题。有许多不同类型和格式的文件存在于这些图书馆,发挥着各种教育,宣传和组织的作用。文档背后的工作同样是多方面的,包括编写、审查、维护和组织文档。文件工作的不同方面要求贡献者拥有不同的技能,并克服各种社会和技术障碍。最后,我们的大多数受访者并没有报告做文档工作的内在乐趣(与编写代码相比)。他们的动机受到个人和项目特定因素的影响,例如,做文档工作与添加新功能或修复bug等更具“技术性”的任务相比,所感知的信用级别。在研究数据分析OSS库的文档工作时,我们获得了一个新的窗口,可以了解数据密集型研究不断变化的实践,并帮助从业者更好地了解如何在他们的项目中支持这种通常看不见的基础设施工作。
2018-05-31 cs.CY cs.SE
Simpler Hyperparameter Optimization for Software Analytics: Why, How, When?
Wayfair;North Carolina State University(北卡罗来纳州立大学)
如何让软件分析更简单、更快速?一种方法是将分析的复杂性与正在探索的数据的内在复杂性相匹配。例如,超参数优化器为数据挖掘器找到控制设置,以改进通过软件分析生成的预测。有时,非常快速的超参数优化可以通过“躲避”来实现;即,简单地从导致类似结论的设置转向。但是,什么时候使用这种简单的方法是明智的,什么时候我们必须使用更复杂(和更慢)的优化器?为了回答这个问题,我们对120个SE数据集应用了超参数优化,这些数据集探索了异味检测、预测Github问题关闭时间、bug报告分析、缺陷预测和其他数十个非SE问题。我们发现,简单的DODGE工程最好的数据集与低的“内在维数”(u ~ 3)和非常差的高维数据(u > 8)。这里看到的几乎所有SE数据本质上都是低维的,这表明DODGE适用于许多SE分析任务。
2021-04-22 cs.AI cs.LG cs.SE
Call Graph Evolution Analytics over a Version Series of an Evolving Software System
Indian Institute of Information Technology (IIIT), Dharwad(达尔瓦德印度信息技术学院)
本文提出基于调用图演化规则和演化子图的调用图演化分析方法,从软件版本序列中挖掘依赖共现与模式演化,以识别潜在受影响依赖,并在10个大型系统上验证其有效性。
2022-10-15 cs.AI cs.LG cs.SE
A Meta-analytical Comparison of Naive Bayes and Random Forest for Software Defect Prediction
Innopolis University(因诺波利斯大学);Università di Bologna(博洛尼亚大学)
通过系统文献综述和元分析,比较朴素贝叶斯和随机森林在召回率、F-measure和精确度上的统计差异,发现两者无显著差异。
2023-06-27 cs.LG cs.SE
Data Quality Antipatterns for Software Analytics
Centre for Software Excellence, Huawei Canada(华为加拿大软件卓越中心)
本研究开发了针对机器学习的数据质量反模式分类法,并通过软件缺陷预测实验发现反模式的清洗顺序显著影响模型性能与解释一致性。
2024-08-22 cs.AI cs.SE
Beyond words and actions: Exploring Multimodal Analytics and Collaboration in the Digital Age
本研究将多模态分析用于敏捷软件开发的沟通评估,通过视听数据分析发现规划扑克虽不改变总发言与注意力时长,但能均衡发言分布、提升团队公平参与度,为优化团队协作与相关教育提供参考。
2024-06-23 cs.ET cs.SE
How to "DODGE" Complex Software Analytics?
Wayfair(Wayfair公司);Facebook(脸书);NC State(北卡罗来纳州立大学)
应用于软件工程任务的机器学习技术可以通过超参数优化来改进,即,自动工具,为学习者的控制参数找到好的设置。我们表明,这种超参数优化可能是不必要的慢,特别是当优化器浪费时间探索“冗余调谐”,即,成对的调谐导致难以区分的结果。通过忽略冗余的调优,DODGE,一个调优工具,运行速度快了几个数量级,同时也生成了比现有技术方法更准确的预测的学习器。
2019-12-01 cs.AI cs.LG cs.NE
FRUGAL: Unlocking SSL for Software Analytics
Com Sci, NCState, USA(北卡罗来纳州立大学计算机科学系)
标准的软件分析通常涉及大量带有标签的数据,以便以可接受的性能委托模型。然而,之前的工作表明,此类要求可能成本高昂,需要数周时间来标记数千个提交,并且在穿越新的研究问题和领域时并不总是可用。无监督学习是一个很有前途的方向,学习隐藏在未标记数据中的模式,这只在缺陷预测中得到了广泛的研究。然而,无监督学习本身可能是无效的,并且尚未在其他领域(例如,静态分析和发行关闭时间)。出于这种文献空白和技术限制的动机,我们提出了FRUGAL,一种基于简单优化方案的调优半监督方法,该方法不需要复杂的(例如,深度学习器)和昂贵的(例如,100%手动标记数据)方法。FRUGAL优化了无监督学习器的配置(通过简单的网格搜索),同时验证了我们在预测前仅标记2.5%数据的设计决策。本文的实验结果表明,FRUGAL的性能优于最先进的可采用的静态代码警告识别器和问题关闭时间预测器,同时将标签成本降低了40倍(从100%降低到2.5%)。因此,我们断言,FRUGAL可以节省相当大的努力,在数据标记,特别是在验证以前的工作或研究新的问题。基于这项工作,我们建议复杂和昂贵的方法的支持者应该始终将这些方法与更简单,更便宜的替代品进行比较。例如,像FRUGAL这样的半监督学习器可以作为最先进的软件分析的基线。
2021-08-22 cs.LG cs.SE
DeepSoft: A vision for a deep model of software
虽然软件分析作为一个研究领域已经经历了快速的增长,但它尚未充分发挥其广泛的工业应用潜力。软件分析中的大多数现有工作仍然严重依赖于昂贵的手动特征工程过程,并且它们主要解决传统的分类问题,而不是预测未来事件。我们提出了一个\emph{DeepSoft}的愿景,一个\emph{end-to-end}通用框架,用于建模软件及其开发过程,以预测未来的风险并推荐干预措施。DeepSoft部分受到人类记忆的启发,建立在强大的基于深度学习的长短期记忆架构之上,该架构能够学习软件进化中发生的长期时间依赖性。这种深度学习的软件模式可用于解决一系列具有挑战性的问题,例如代码和任务推荐和预测。DeepSoft为研究源代码建模、风险预测和缓解、开发人员建模以及从错误报告自动生成代码补丁提供了一种新方法。
2016-07-30 cs.SE stat.ML
Old but Gold: Reconsidering the value of feedforward learners for software analytics
North Carolina State University(北卡罗来纳州立大学)
人们对使用深度学习方法进行软件分析任务的兴趣越来越大。最先进的技术利用现代深度学习技术,如LSTM,产生有竞争力的性能,尽管代价是更长的训练时间。最近,Galke和Scherp [18]表明,至少对于图像识别,几十年前的前馈神经网络可以与现代深度学习技术的性能相匹配。这促使我们在SE文献中尝试相同的方法。具体来说,在本文中,我们将前馈网络与一些预处理应用于两个分析任务:问题关闭时间预测和漏洞检测。我们测试了Galke和Scherp [18]提出的假设,即前馈网络足以完成这两个任务的许多分析任务(我们称之为“老而金”假设)。对于来自这些任务的五个数据集中的三个,我们实现了新的高水位线结果(优于先前的最先进的结果),对于第四个数据集,旧的但黄金的表现以及最新的最先进的结果。此外,旧的但黄金的结果比先前的工作快了几个数量级。例如,对于问题关闭时间,旧的但黄金在90秒内找到了好的预测器(而新的方法需要6个小时才能运行)。我们的研究结果支持“古老但黄金”的假设,并导致以下建议:尝试更复杂的方法之前,简单的替代品。至少,这将产生一个基线结果,研究人员可以比较其他一些据说更复杂的方法。在最好的情况下,他们将获得有用的结果,与其他任何东西一样好,在一小部分的努力。为了支持开放科学,我们所有的脚本和数据都可以在https://github.com/fastidiouschipmunk/simple上…
2022-02-05 cs.AI cs.SE
Less, but Stronger: On the Value of Strong Heuristics in Semi-supervised Learning for Software Analytics
North Carolina State University(北卡罗来纳州立大学)
在许多领域中,有许多示例,而这些示例的标签却少得多;例如,我们可以访问数百万行源代码,但只能访问有关该代码的少数警告。在这些领域中,半监督学习器(SSL)可以将标签从少量示例外推到其余数据。标准SSL算法使用“弱”知识(即那些不基于特定SE知识的知识),例如(例如)共同训练两个学习器,并使用一个学习器的良好标签来训练另一个学习器。SSL在软件分析中的另一种方法是潜在地使用使用SE知识的“强”知识。例如,SE中经常使用的启发式方法是,异常大的工件包含不期望的属性(例如,更多的bug)。本文认为,这样的“强”算法比那些标准的,较弱的,SSL算法的性能更好。我们通过从使用弱SSL或我们的“更强”FRUGAL算法生成的标签中学习模型来证明这一点。在四个领域(区分与安全相关的错误报告;减轻决策中的偏见;预测问题关闭时间;以及(减少静态代码警告中的错误警报),FRUGAL只需要标记2.5%的数据,但性能优于依赖于(例如)的标准半监督学习器。一些独立于领域的图论概念。因此,对于未来的工作,我们强烈建议使用强大的算法来进行SE应用程序的半监督学习。为了更好地支持其他研究人员,我们的脚本和数据在https://github.com/HuyTu7/FRUGAL上在线。
2023-02-03 cs.AI cs.SE
Punctuated Equilibrium in Software Evolution
提出了一种基于自组织临界性范式的软件演化的实验研究和理论建模方法。使用来自版本控制系统的数据研究了三个自由开源程序Mozilla、Free-BSD和Emacs的修改动态。发现了自组织临界性的标度律,提出了体现自然选择原理的软件演化模型。给出了模型的数值和分析结果。他们是在一个很好的协议,为现实世界的软件收集的数据。
2003-07-09 cond-mat.stat-mech cs.SE
GateLens: A Reasoning-Enhanced LLM Agent for Automotive Software Release Analytics
GateLens是一种基于LLM的代理,通过引入关系代数作为中间表示,提升复杂表格数据分析的效率与准确性,适用于汽车软件发布分析领域。
2026-03-10 cs.AI cs.CL cs.MA