Semi-Automatically Extracting FAQs to Improve Accessibility of Software Development Knowledge
Technische Universität Darmstadt(达姆施塔特工业大学);University of Lille(里尔大学);INRIA(法国国家信息与自动化研究所)
常见问题(FAQ)是记录软件开发知识的一种流行方式。由于创建这样的文档是昂贵的,本文提出了一种方法,自动提取FAQ的软件开发讨论的来源,如邮件列表和互联网论坛,通过结合文本挖掘和自然语言处理技术。我们将这种方法应用到流行的邮件列表中,并在软件开发人员中进行了一项调查,以表明它能够提取高质量的FAQ,这些FAQ可以由专家进一步改进。
2012-03-23 cs.CL cs.IR cs.SE
An Empirical Study on the Procedure to Derive Software Quality Estimation Models
软件质量保证一直是一个热门话题几十年。如果能够识别出影响软件质量的因素,它们可能会为更好的软件开发管理提供更多的见解。在项目的早期阶段,根据准确的质量评估来使用资源,可以实现更精确的质量保证。在本文中,提出了一个通用的程序来推导软件质量评估模型和各种技术,以完成在各个步骤的任务。利用多种统计技术和机器学习方法来验证软件度量的有效性。此外,采用神经模糊方法来提高估计模型的精度。该程序是根据ISBSG储存库中的数据进行的,以展示其经验值。
2015-07-24 cs.SE
Automatically Extracting Instances of Code Change Patterns with AST Analysis
代码更改模式代表软件中的一种经常性修改。例如,已知的代码改变模式包括if语句的条件表达式的改变。以前的工作已经确定了不同的变化模式。作为对变化模式识别和定义的补充,模式实例的自动提取对于衡量其经验重要性至关重要。例如,它使人们能够计算和比较不同项目历史中条件表达式更改的数量。在本文中,我们提出了一种新的方法,搜索模式的实例,从软件历史。我们的技术是基于对给定提交中的抽象树(AST)文件的分析。我们验证了我们的方法,计数实例的18个变化模式在6个开源Java项目。
2013-09-15 cs.SE
An experience in automatically extracting CAPAs from code repositories
TOM(Theoretically Objective Measurements of Software Development Projects,软件开发项目理论上客观的度量)是一组服务,负责帮助开发人员或团队识别软件开发过程中的异常,并提供对过程产生积极影响的预防或纠正措施(又名CAPAS)列表。并以此方式改进最终产品的质量及其开发过程。为了获得TOM的帮助,只需将我们的机器人(@0capa)添加到您的存储库中的协作者列表中即可,这样我们的机器人将自动负责从您的存储库中获取不同的指标,以便建议在您未来的更新中考虑到识别的异常不会重复的操作。本文介绍了这一想法的基础研究。
2022-12-19 cs.SE
Business Rule Mining from Spreadsheets
业务规则表示指导业务组织操作的知识。它们在组织使用的软件应用程序中实现,从软件中提取它们的活动称为业务规则挖掘。它有各种用途,其中迁移和生成文档是最常见的。然而,除了传统的软件,组织也使用电子表格的大部分业务和决策活动。因此,我们认为电子表格也有丰富的业务规则。因此,我们建议开发一个自动化的系统,从电子表格中提取业务规则,在人类可理解的自然语言格式。这份立场书描述了我们的动机、问题描述、相关工作以及我们预见的挑战。
2015-03-19 cs.SE
On the evaluation of research software: the CDUR procedure
背景资料:评价研究软件的质量是一个具有挑战性和相关性的问题,科学界尚未充分解决。研究方法:我们的贡献首先定义,准确但足够广泛,研究软件的概念,其作者随后的评价问题的研究,作为一个健全的评估协议的建议的基础:CDUR程序。结果如下:CDUR包括四个步骤,介绍如下:引用,处理正确的RS识别,传播,衡量良好的传播实践,使用,致力于可用性方面的评估,研究,评估科学工作的影响。结论:最后给出了一些结论和建议。研究评价是促进开放科学政策和实践发展的关键。这是我们的信念,研究软件评估是一个基本的步骤,以诱导更好的研究软件的做法,因此,一个更有效的科学的一步。
2021-08-13 cs.SE
Extracting Formal Specifications from Documents Using LLMs for Automated Testing
针对从软件文档中人工提取形式化规约耗时易错的问题,本研究评估了GPT-4o等LLMs的端到端提取能力,并提出“先标注后转换”的两阶段方法,使正确提取数量增加29.2%,最高准确率达71.6%。
2025-04-02 cs.SE
Extracting Conceptual Knowledge to Locate Software Issues
本文提出 RepoLens,通过从仓库提取并重组概念性关注点,结合提示增强辅助 LLM 智能体定位缺陷,在 SWE-Lancer-Loc 上显著提升三种现有工具与多类模型的定位性能。
2025-10-04 cs.SE
Quantum Software Models: The Density Matrix for Classical and Quantum Software Systems Design
线性软件模型使严格的线性代数程序的模块化设计的经典软件系统。这些程序将谱方法应用于软件系统的矩阵表示-例如拉普拉斯算子。最近对量子计算机的密集研究工作增加了人们的期望,即量子计算可以在适当的时候实现为经典计算的实用替代方案。合理的做法是询问量子软件所需的特性,并为量子软件系统预先准备模块化设计过程。然而,对于模块化设计,有两个完全独立的过程是没有意义的,一个用于经典软件系统,另一个用于量子软件系统。本文认为,对于经典和量子软件系统,应该只有一个统一而严格的设计过程。我们对经典和量子软件系统的共同设计过程起点是冯·诺依曼密度算子的量子概念及其密度矩阵表示。本文阐述和证明模块化设计的投影算子从一个设计密度矩阵,并显示其等价的线性软件模型的结果的拉普拉斯矩阵谱的经典情况。经典和量子软件的设计过程在实践中的应用说明了案例研究。
2021-03-25 cs.SE quant-ph
A Procedure and Guidelines for Analyzing Groups of Software Engineering Replications
背景:来自不同团体和机构的研究人员正在通过复制的方式合作建立实验组(即,进行分组复制)。不同的聚合技术被应用于分析组的复制。应用不合适的技术来聚合复制结果可能会破坏复制组从实验结果中提供深入见解的潜力。目标:提供一个包含一组嵌入式指南的分析过程,以聚合软件工程(SE)复制结果。方法:比较SE与医学、药理学等其他成熟实验学科的重复组特征。鉴于他们的差异,限制与联合数据分析的SE复制组和成熟的实验学科提供的指导方针,以分析组的复制,我们建立了一个分析程序与一组嵌入式的指导方针,专门为分析组的SE复制。我们提出的分析程序,以说明其使用的一组代表性的SE复制。结果:在聚合复制结果期间,应利用原始数据中包含的所有信息。我们提出的分析程序,鼓励使用分层的个人参与者数据和聚合数据串联分析组的SE复制。结论:用于分析重复组的聚合技术在研究文章中应该是合理的。这将提高联合成果的可靠性和透明度。拟议中的指导方针应该会减轻这一努力。
2020-04-11 cs.SE
Extracting Knowledge Graphs from User Stories using LangChain
Brandenburg Technical University Cottbus(科特布斯勃兰登堡工业大学)
本研究提出基于LangChain框架和大语言模型的用户故事知识图谱自动提取方法,开发专用模块与自动化评估脚本,提升用户需求可视化与理解度,助力以用户为中心的软件开发。
2025-05-14 cs.AI cs.SE
Reducing Certification Granularity to Increase Adaptability of Avionics Software
需要一个强有力的认证过程来确保飞机的安全性,更具体地说是航空电子应用的鲁棒性。为了实现这一过程,航空电子软件的开发必须遵循漫长而昂贵的程序。每次修改软件时,这些程序中的大多数都必须重新执行。在本文中,我们提出了一个框架,以减少软件修改的成本和时间的影响。通过这种新方法,可能发生更改的软件部分与应用程序的其余部分隔离,因此可以独立进行认证。这有助于系统集成商使航空电子应用适应目标飞机的特殊性,而不需要对应用进行新的认证。
2017-11-06 cs.SE
Extracting Build Changes with BUILDDIFF
构建系统是现代软件工程项目的重要组成部分。随着软件项目的不断变化,理解构建系统如何变化是至关重要的,因为忽视其维护可能导致昂贵的构建中断。最近的研究已经调查了构建配置的(共同)进化和构建断裂的原因,但他们只是在粗粒度的水平上这样做。在本文中,我们提出了BUILDDIFF,从MAVEN构建文件中提取详细的构建更改并将其分类为95种更改类型的方法。在对400个构建变更提交的手动评估中,我们表明BUILDIFF可以分别以0.96和0.98的平均精度和召回率提取和分类构建变更。然后,我们提出了两项研究,使用从30个开源Java项目中提取的构建更改来研究构建更改的频率和时间。结果显示,前10个最频繁的变更类型占构建变更的73%。其中,对项目的版本号和依赖关系的更改发生得最频繁。此外,我们的研究结果表明,构建更改经常发生在发布前后。有了这些结果,我们为进一步的研究提供了基础,例如分析构建文件与其他工件的(共同)进化或改进工作量估计方法。此外,我们详细的更改信息可以改进构建配置的重构方法,并改进模型以识别易于出错的构建文件。
2017-03-24 cs.SE
Logzip: Extracting Hidden Structures via Iterative Clustering for Log Compression
系统日志记录了软件系统运行时的详细信息,并被用作围绕软件工程的许多任务的主要数据源。随着现代软件系统向大规模和复杂结构发展,日志已成为工业中快速增长的大数据类型之一。特别地,这种日志在实践中经常需要存储很长时间(例如,一年),以便分析经常出现的问题或跟踪安全问题。然而,归档日志会消耗大量的存储空间和计算资源,这反过来又会带来很高的运营成本。数据压缩对于降低日志存储成本至关重要。传统的压缩工具(例如,gzip)对于一般文本工作得很好,但是对于系统日志不太好。在本文中,我们提出了一种新颖的和有效的日志压缩方法,即logzip。Logzip能够通过快速迭代聚类从原始日志中提取隐藏结构,并进一步生成一致的中间表示,从而实现更有效的压缩。我们在五个不同系统类型的大型日志数据集上评估logzip,总大小为63.6 GB。结果表明,logzip可以节省约一半的存储空间,平均比传统的压缩工具。同时,logzip的设计是高度并行的,只会产生微不足道的开销。此外,我们还分享了我们将logzip应用于华为实际产品的行业经验。
2019-09-24 cs.DB cs.SE
Justiça Algorítmica: Instrumentalização, Limites Conceituais e Desafios na Engenharia de Software
本文通过系统映射研究软件工程中算法正义的概念、度量与工具化方式,分析其概念局限及计算思维抽象化的影响,并探讨超越现有算法正义边界的可能路径。
2025-05-11 cs.SE
Development of formal models, algorithms, procedures, engineering and functioning of the software system "Instrumental complex for ontological engineering purpose"
给出了一个软件系统“Instrumental Complex for Ontological Engineering Purpose”的广义模型表示。代表了完整的软件系统开发过程。建立了“本体工程仪器综合体”软件系统的形式化模型,包括数学表达式、UML图等,并描述了“本体工程仪器综合体”软件系统在客户机-服务器环境下的三层体系结构。
2022-01-01 cs.AI cs.SE
Nirjas: An open source framework for extracting metadata from the source code
本文提出了基于Python的开源框架Nirjas,利用Regex准确提取并结构化分离源代码中的元数据与各类注释,解决边缘情况噪声问题。
2024-09-22 cs.IR cs.SE
iMER: Iterative Process of Entity Relationship and Business Proces Models Extraction from the Requirements
提取概念模型,例如,实体关系模型或业务过程模型是软件开发生存周期中的一项重要任务。业务流程模型清晰地描述了所需的系统功能。业务流程模型中的操作与所消耗的数据实体一起,帮助软件开发人员理解数据库设计和要实现的操作。研究人员一直致力于从需求文档中自动提取这些伪影。在本文中,我们提出了一种自动化的方法来提取实体关系和业务流程模型的需求,这可能是在不同的格式,如一般的需求,用例规范和用户故事。我们的方法是基于有效的自然语言处理技术。
2020-08-06 cs.SE
When Regression Verification Meets CEGAR
软件系统在其生存周期中不断演化。许多修订是随着时间的推移而产生的。对软件的每个修订版本进行模型检验是不切实际的。回归验证建议重复使用先前验证运行的中间结果。本文提出了一种全自动的回归验证技术的背景下CEGAR。过程摘要描述了过程的输入/输出行为,被建议作为中间结果进行重用。过程摘要存储起来相当小,在技术上易于处理,并且不需要太多额外的计算工作就可以重用。重复使用过程摘要可以节省对相应过程的大量分析工作。通过结合回归验证和CEGAR,我们提出了一种技术,能够重用过程摘要在不同的抽象精度和不同的程序修订。我们对大量的工业程序(89个Linux内核设备驱动程序的534个版本)进行了广泛的实验。实验结果表明,该方法可以显著提高回归验证的性能.
2018-06-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
Extracting Overlapping Microservices from Monolithic Code via Deep Semantic Embeddings and Graph Neural Network-Based Soft Clustering
提出Mo2oM框架,将微服务提取建模为软聚类问题,结合深度语义嵌入与方法调用图的结构依赖,利用图神经网络生成重叠微服务,在多个基准上显著提升模块化、降低通信开销并平衡服务规模。
2025-08-10 cs.AI cs.CV cs.SE
Negative Results for Software Effort Estimation
背景:超过一半的软件工作量估算(SEE)的文献都集中在新估算方法的比较上。令人惊讶的是,没有研究将最先进的方法与几十年前的方法进行比较。目的:检查新的SEE方法是否比旧方法产生更好的估计值。方法:首先,收集从“经典”COCOMO(对预定属性集的参数估计)到“现代”(通过使用基于谱的聚类加上实例和特征选择的类比推理,以及最近在ACM Transactions on软件工程中提出的“基线方法”)。其次,对导致后COCOMO估计方法发展的异议列表进行编目。第三,第四,使用四个COCOMO风格的数据集,(从1991年,2000年,2005年,2010年),并运行这些比较实验。使用Scott-Knott程序比较不同估计量的性能,使用(i)A12效应量排除“小”差异,(ii)99%置信bootstrap程序,以检查统计学上不同的治疗分组)。结果如下:本文的主要负面结果是,对于COCOMO数据集,我们所研究的没有比Boehm的原始程序更好。结论:当COCOMO风格的属性可用时,我们强烈建议(i)使用该数据和(ii)使用COCOMO生成预测。我们这样说是因为本文的实验表明,至少对于努力估计,数据是如何收集的比什么学习者应用于该数据更重要。
2016-09-29 cs.SE
Metrics for Software Process Simulation Modeling
背景:软件过程仿真(SPS)已经成为软件过程管理和改进的有效工具。然而,由于测量成本的负担和对领域知识的高需求,它在工业中的采用低于研究界的预期。从过程制定中提取具有真实数据的适当度量的困难是最大的挑战之一。目的:为软件过程(仿真)建模提供基于证据的过程度量支持。方法:一个系统的文献综述进行了扩展我们以前的审查系列,以得出一个全面的理解的过程建模的度量本体的元模型的度量在SPS。结果:我们确定了145个过程建模研究,共同涉及2130个指标,并使用编码技术进行分类。两个图表,说明指标之间使用的高频因果关系提出了两个层次的建模目的。我们重新审视了SPS数据准备阶段遇到的数据问题,并确定了相应的策略。结论:本研究的结果提供了一个基于证据的参考识别和SPS建模中的度量过程建模,并进一步有助于开发的知识体系的软件度量过程建模的背景下。此外,这项研究不仅限于过程模拟,但可以扩展到软件过程建模,一般。将仿真度量作为标准和参考,可以进一步激励和指导软件开发人员在实践中改进过程数据的收集、治理和应用。
2023-01-16 cs.SE
Development Effort Estimation in Free/Open Source Software from Activity in Version Control Systems
工作量估计模型是软件管理中的一个基本工具,用于预测与软件开发相关的资源、约束和成本。对于自由/开放源码软件(FOSS)项目,工作量估算尤其复杂:专业开发人员与偶尔的志愿开发人员一起工作,因此整体工作量(以人月计)变得非常难以确定。这项工作的目标是根据开发人员工作的历史数据,为自由和开放源码软件项目开发一个简单的工作估算模型。该模型由开发人员直接反馈,以确保其准确性。在从6个大型FOSS项目中提取了数千名开发人员的个人发展概况之后,我们要求他们填写一份问卷,以确定他们是否应该被视为他们所工作的项目的全职开发人员。他们的反馈被用来微调工作阈值的值,超过该阈值的开发人员可以被视为全职。在收到的1,000多份调查问卷的帮助下,我们能够确定样本中每个项目的提交阈值,该阈值将全职开发人员与非全职开发人员区分开来。并且最小化I型和II型错误。我们最终提供了将我们的模型应用于使用版本控制系统的FOSS项目的指南和工具。
2022-03-18 cs.SE
Exploring the extent of similarities in software failures across industries using LLMs
University of New Mexico(新墨西哥大学)
本文利用大语言模型对软件故障新闻文章进行行业和故障类型分类,并可视化分析跨行业故障相似性,为识别常见漏洞和预防风险提供资源。
2024-08-08 cs.AI cs.SE
Convolutional Neural Networks over Control Flow Graphs for Software Defect Prediction
Japan Advanced Institute of Information Technology(日本信息学研究所);Le Quy Don Technical University(黎魁东技术大学)
软件构件中存在的缺陷是不可避免的,不仅浪费时间和金钱,而且会导致许多严重的后果。为了建立预测模型,以前的研究集中在手动提取特征或使用程序的树表示,并利用不同的机器学习算法。然而,由于现有的特征和树结构往往无法捕捉程序的语义,模型的性能并不高。为了深入研究程序的语义,本文提出利用精确的图表示程序执行流程,并利用深度神经网络自动学习缺陷特征。首先,控制流图的编译源代码获得的汇编指令构造,然后我们应用多视图多层有向图为基础的卷积神经网络(DGCNN)学习语义特征。在四个真实世界数据集上的实验表明,我们的方法显着优于基线,包括其他几种深度学习方法。
2018-02-14 cs.LG cs.NE cs.SE