On the Pragmatic Design of Literature Studies in Software Engineering: An Experience-based Guideline
系统的文献研究是近年来经验软件工程领域的研究热点。它们已成为以系统性和可复制的方式收集和构建报告知识的强大工具。我们区分系统性文献综述,以系统地分析报告的证据,深入,和系统的映射研究,以更广泛的,通常是量化的方式结构感兴趣的领域。由于软件工程知识体系的快速增长,想要获取某个领域中已发表作品的研究人员通常会面临大量的出版物,这些出版物需要进行筛选、相关性评级、分类和最终分析。虽然有几个准则进行文献研究,他们还没有帮助研究人员应对在实际应用中遇到的具体困难,这些准则。在这篇文章中,我们提出了一个基于经验的指导方针,以帮助研究人员设计系统的文献研究,特别强调数据汇集和选择程序。我们的指南旨在通过大量当前可用的实践和可交付成果提供一个实用和务实的路径蓝图,以捕获单步的之间的依赖关系。该指南来自作者进行的各种绘图研究和文献综述,并为一般研究设计、数据汇集和研究选择程序提供了建议。最后,我们分享我们在应用拟议准则的不同做法方面的经验和教训。
2016-12-12 cs.SE
Awareness of Secure Coding Guidelines in the Industry -- A first data analysis
软件需要安全,特别是在部署到关键基础设施时。安全编码指南捕获工业软件工程中的实践,以确保代码的安全性。本研究旨在评估工业软件工程中安全编码的意识水平,软件开发人员发现软件代码中的弱点的技能,避免它们,以及组织支持坚持编码指南。该方法借鉴了完善的理论,政策的遵从性,中立化理论,和安全相关的压力和作者的多年经验,在工业软件工程和经验教训,从培训安全编码的行业。本文介绍了在线调查的问卷设计和初步分析的数据从试点研究。
2021-01-06 cs.SE
Guidelines for the Search Strategy to Update Systematic Literature Reviews in Software Engineering
内容:系统性文献综述(SLR)在软件工程(SE)中已被采用十多年,以提供关于几个主题的有意义的证据摘要。这些SLR中的许多现在可能不是完全最新的,并且没有关于如何在SE中更新SLR的标准建议。目的:本文的目的是提出如何最好地搜索证据时,在SE更新SLR的指南,并评估这些指南使用的SLR,没有在制定指南。方法:为了提出我们的指导方针,我们比较和讨论的结果,从应用不同的搜索策略,以确定在已发表的SLR,SLR更新的主要研究,并在该地区的努力估计两个副本。这些准则,然后使用SLR在软件生态系统,其更新和复制领域进行评估。结果如下:在更新SLR时,使用Google Scholar的单次迭代向前滚雪球,并将原始SLR及其主要研究用作种子集,是搜索新证据的最具成本效益的方法。此外,在应用纳入和排除标准时,有一个以上的研究人员参与选择论文的重要性通过结果突出显示。结论:我们提出的准则制定的基础上的努力估计SLR,其更新和两个复制,支持使用SLR在该地区的软件生态系统,其更新和复制。因此,我们提出,我们的指导方针,应采用更新的SLR在SE。
2020-06-09 cs.SE
Raising Secure Coding Awareness for Software Developers in the Industry
许多工业IT安全标准和政策要求在软件开发过程中使用安全编码方法。这意味着两个不同的方面:第一,安全编码必须基于一组安全编码指南,第二,软件开发人员必须了解这些安全编码实践。一方面,安全编码指南看起来有点像魔法:虽然存在被广泛接受的抽象指南,但用于不同程序设计语言的低级安全编码指南却很少。另一方面,一旦选择了一套安全编码指南,就需要一种好的方法来让应该使用它们的人(即软件开发人员)了解它们。出于行业标准的安全编码要求和全球行业倡议“信任宪章”对IT安全训练人员的要求,本文概述了如何选择安全编码指南和如何提高软件开发人员使用严肃游戏进行安全编码的意识等重要研究问题。
2021-02-20 cs.SE
Towards Guidelines for Preventing Critical Requirements Engineering Problems
需求工程(RE)中的问题会在软件开发生命周期中导致严重的后果。[目标]本文的目标是提出基于实践的指导方针,可供不同类型的组织根据其规模(小型,中型或大型)和流程模型(敏捷或计划驱动)使用,以帮助他们预防此类问题。[方法]我们分析了来自10个不同国家的228个组织回答的关于RE问题的调查数据。【结果】通过对数据的大小和过程模型的聚类分析,确定了最关键的RE问题、原因和缓解措施。最后,我们分析了每个集群的关键问题的原因和缓解行动,以进一步了解如何预防这些问题。[结论]根据我们的研究结果,我们提出了预防关键RE问题的初步指导方针,以应对公司的背景特征。
2016-11-27 cs.SE
Integration of Security Modules in Software Development Lifecycle Phases
信息保护正在成为在高度集成的技术环境中设计、创建和实施软件应用程序的焦点。许多工业IT安全标准和政策都要求在软件开发过程中使用安全编码技术。尽管目前的网络保护措施和最佳实践,漏洞仍然很强,并成为每个开发软件的巨大威胁。了解安全软件开发在安全管理中的地位至关重要,它受到人为安全相关因素等原因的影响。尽管开发人员通常要对安全漏洞负责,但实际上,许多问题往往是由于在开发任务期间缺乏组织支持来处理安全性而产生的。虽然抽象的安全编码准则得到了普遍认可,但针对各种程序设计语言的低级安全编码准则却有限。需要一种好的技术来为软件开发人员标准化这些指南。本文的目标是通过确定一组安全的软件开发指南,为软件设计人员和开发人员提供方向,以解决这一差距。此外,概述了安全编码指南的选择标准,并调查了安全编码的适当意识方法。
2020-12-10 cs.SE
Is Secure Coding Education in the Industry Needed? An Investigation Through a Large Scale Survey
美国国土安全部估计,90%的软件漏洞可以追溯到设计和软件编码的缺陷。仅在工业控制系统中,这些漏洞的财务影响就超过3.8亿美元。由于软件开发人员编写软件,他们也会将这些漏洞引入源代码。但是,存在安全编码指南以防止软件开发人员编写易受攻击的代码。本研究的重点是人的因素,软件开发人员和安全编码,特别是安全编码指南。我们想了解软件开发人员对安全编码指南的意识和遵从性,以及为什么他们不遵从或不知道。我们的研究结果基于对安全编码指南的大规模调查,有190多名工业软件开发人员参与。我们的工作的主要贡献激励需要教育工业软件开发人员的安全编码准则,它给出了一个列表的15个可操作的项目,以供业界从业者使用。我们还公开提供原始数据以供进一步研究。
2021-02-10 cs.SE
An Interdisciplinary Guideline for the Production of Videos and Vision Videos by Software Professionals
背景和动机:近年来,在需求工程中应用视频的主题已经被讨论,其贡献是有趣的潜力。在过去的35年里,一些研究人员提出了在需求工程中应用视频的方法,由于其通信的丰富性和有效性。然而,这些方法主要使用视频,但忽略了如何制作它们的细节。缺乏指导是视频不是成功的需求沟通和共享理解的既定文档选项的一个关键原因。软件专业人员不是导演,因此他们不一定知道什么是一般的好视频,也不一定知道现有方法的好视频。因此,这种知识和技能的缺乏,如何产生和使用视频的视觉交流阻碍了视频软件专业人员在需求工程的应用。如何创建有效的视频和视觉视频?本技术报告解决了软件专业人员缺乏知识和技能的问题。我们提供了两个指南,可用作检查表,以避免在视频的制作和使用中经常出现的缺陷。没有经过特殊培训的软件专业人员应该能够遵循这些指导方针,以实现制作被利益相关者接受的(视觉)视频的基本能力。这些指导原则代表了在前期制作、拍摄、后期制作和观看(视觉)视频中的一组核心功能。我们并不追求这些能力中的任何一项的完美,例如,视频设备、讲故事或视频编辑的技术处理。相反,这些指南支持(视觉)视频制作和使用过程的所有步骤,以平衡的方式。
2021-02-26 cs.SE
Towards Evaluation Guidelines for Empirical Studies involving LLMs
本文针对软件工程研究中缺乏涉及大语言模型的实证评估标准这一问题,提出了首套整体性指南,旨在推动社区就高质量实证研究的标准达成共识。
2025-02-04 cs.SE
Guidelines for Cultivating a Sense of Belonging to Reduce Developer Burnout
Colorado State University(科罗拉多州立大学);Oregon State University(俄勒冈州立大学);Northern Arizona University(北亚利桑那大学)
本文基于软件开发团队中归属感的研究,提出培养归属感的实践指南,以降低开发者倦怠,通过提升信任、接纳和心理安全等要素促进开发者福祉。
2026-05-07 cs.SE
Quality Guidelines for Research Artifacts in Model-Driven Engineering
众所周知,共享研究成果可以帮助人们建立在现有知识的基础上,在实践中采用新的贡献,并增加论文受到关注的机会。在模型驱动工程(MDE)中,公开提供研究工件起着关键作用,尤其是当社区的目标是更广泛地使用人工智能技术时,这只有在大型开放数据集和对其质量的信心措施可用时才是可行的。然而,目前缺乏共同的学科特定的研究数据共享的指导方针打开了机会,误解的真正潜力的研究工件和主观期望的工件质量。为了解决这个问题,我们介绍了一套准则,专为MDE研究的工件共享。为了设计这个指导原则集,我们系统地分析了主要计算机科学场所的通用工件共享实践,并将它们定制为MDE领域。随后,我们对90名具有MDE专业知识的研究人员和从业人员进行了在线调查。我们调查了参与者在MDE研究中开发和共享工件的经验以及在这样做时遇到的挑战。然后,我们要求他们优先考虑我们的每一项指导方针,如必要的,可取的,或不必要的。最后,我们要求他们评估我们的指南是否清晰、完整和相关。在这些方面,我们的指南得到了超过92%的参与者的积极评价。为了促进我们的结果的可重复性和可重用性,我们在\texttt{\url{https://mdeartifacts.github.io/}}的开放存储库中提供了完整的生成工件集。
2021-11-15 cs.SE
Guidelines for Developing Bots for GitHub
针对 GitHub 机器人可能干扰社区的问题,本文基于多项从业者研究提出开发与维护软件机器人的指南,以支持现有及未来机器人和社交编程平台建设。
2022-11-23 cs.SE
A Procedure and Guidelines for Analyzing Groups of Software Engineering Replications
背景:来自不同团体和机构的研究人员正在通过复制的方式合作建立实验组(即,进行分组复制)。不同的聚合技术被应用于分析组的复制。应用不合适的技术来聚合复制结果可能会破坏复制组从实验结果中提供深入见解的潜力。目标:提供一个包含一组嵌入式指南的分析过程,以聚合软件工程(SE)复制结果。方法:比较SE与医学、药理学等其他成熟实验学科的重复组特征。鉴于他们的差异,限制与联合数据分析的SE复制组和成熟的实验学科提供的指导方针,以分析组的复制,我们建立了一个分析程序与一组嵌入式的指导方针,专门为分析组的SE复制。我们提出的分析程序,以说明其使用的一组代表性的SE复制。结果:在聚合复制结果期间,应利用原始数据中包含的所有信息。我们提出的分析程序,鼓励使用分层的个人参与者数据和聚合数据串联分析组的SE复制。结论:用于分析重复组的聚合技术在研究文章中应该是合理的。这将提高联合成果的可靠性和透明度。拟议中的指导方针应该会减轻这一努力。
2020-04-11 cs.SE
Preliminary Guideline for Creating Boundary Artefacts in Software Engineering
本研究针对边界制品(BA)信息不一致导致信任下降的问题,通过文献综述、案例研究及专家验证,制定了涵盖范围、结构、管理三类原则的可信BA创建初步指南,可指导BA创建与现有实践评估。
2023-06-09 cs.SE
Applying Bayesian Analysis Guidelines to Empirical Software Engineering Data: The Case of Programming Languages and Code Quality
本文面向实证软件工程改编贝叶斯数据分析指南,并通过重新分析编程语言与代码质量的 GitHub 数据集,展示构建严谨灵活分析流程的方法及价值。
2021-07-28 cs.SE
What Do Contribution Guidelines Say About Software Testing?
Department of Computer Science, UFMG(计算机系,巴西联邦大学)
本文通过分析200个开源项目贡献指南,发现78%的项目提供测试文档,其中多数位于CONTRIBUTING文件中,但关于编写测试的指导较少,单元测试覆盖率较高,而集成和端到端测试较少被提及。
2026-02-03 cs.SE
Reporting LLM Prompting in Automated Software Engineering: A Guideline Based on Current Practices and Expectations
University of Duisburg-Essen(杜伊斯堡-埃森大学);University of Cologne(科隆大学);Monash University(蒙纳士大学)
本文提出了一项基于当前实践和期望的指南,旨在提高LLM在自动化软件工程中的透明度、可重复性和方法学严谨性。
2026-01-05 cs.SE
Large Language Models in Thematic Analysis: Prompt Engineering, Evaluation, and Guidelines for Qualitative Software Engineering Research
本文针对反思性主题分析设计并迭代LLM提示,结合专家盲评比较人机编码结果,提出可复现流程、实证证据与保持质性研究严谨性的整合指南。
2025-10-21 cs.SE
Using Large Language Models for Natural Language Processing Tasks in Requirements Engineering: A Systematic Guideline
针对需求工程领域研究者和从业者难以选择与适配大语言模型的问题,本章提供LLM基础知识及面向NLP4RE任务的系统性实用指南,助力相关研究与应用发展。
2024-05-15 cs.SE
Writing Better Software Explanations: A Guideline-Based Approach
Leibniz Universität Hannover(汉诺威莱布尼茨大学)
提出一种结合LLM生成与质量指南的软件解释编写工具,通过生成、检查、迭代修订流程提升效率和质量,实验表明工具支持的解释满意度显著高于纯人工编写。
2026-06-09 cs.SE
Requirements Practices and Gaps When Engineering Human-Centered Artificial Intelligence Systems
工程人工智能(AI)软件是一个相对较新的领域,有许多挑战,未知数和有限的证明最佳实践。谷歌、微软和苹果等大公司最近提供了一套指导方针,以帮助工程团队构建以人为本的人工智能系统。[目的]实践者目前所采用的开发这样的系统,特别是在需求工程(RE),很少研究和报告的日期。[方法]本文介绍了一项调查的结果,旨在了解当前的RE for AI(RE4AI)行业实践,并确定应遵循哪些关键的以人为本的AI指南。我们的调查是基于映射现有的行业准则,最佳实践和文献中的努力。[结果] 29名专业人士认为,RE中所有以人为本的方面都应该得到重视。此外,我们发现大多数参与者使用UML或Microsoft Office来呈现需求。[结论]我们发现,目前使用的大多数工具都不适合管理基于AI的软件,使用UML和Office可能会对AI捕获的需求质量造成问题。此外,从指南中映射的所有以人为本的实践都应该包括在RE中。
2023-01-25 cs.SE
Guidelines for Empirical Studies in Software Engineering involving Large Language Models
Heidelberg University(海德堡大学);fortiss(福蒂斯研究所);Blekinge Institute of Technology(布莱金厄理工学院);Monash University(莫纳什大学);Technical University of Munich(慕尼黑工业大学);Hasso-Plattner-Institut(哈索·普拉特纳研究所);University of Potsdam(波茨坦大学);University of Bari(巴里大学);University of Victoria(维多利亚大学);University of Rome Tor Vergata(罗马第二大学);Lero(莱罗研究中心);University of Limerick(利默里克大学);Singapore Management University(新加坡管理大学);PUC Rio de Janeiro(里约热内卢天主教大学);Aalborg University in Copenhagen(哥本哈根奥尔堡大学);IT University of Copenhagen(哥本哈根信息技术大学);Chalmers University of Technology(查尔姆斯理工大学);University of Gothenburg(哥德堡大学)
针对大语言模型在软件工程研究中的非确定性、不透明训练数据和快速演化问题,通过22位研究者的协作,提出七种研究类型分类和八条设计报告指南,以提升实证研究的可重复性和可复现性。
2026-09-18 cs.SE
Understanding the Affect of Developers: Theoretical Background and Guidelines for Psychoempirical Software Engineering
情感--情绪和心境--对个体的认知加工活动和工作绩效有影响。已经确定,软件开发任务是通过认知处理活动进行的。因此,我们提出将心理学理论和测量方法引入软件工程研究中。我们称之为“心理经验主义软件工程”。然而,我们发现,现有的SE研究往往陷入误解的影响,开发人员,缺乏背景理论和如何成功地采用心理测量的研究。本文的贡献有三个方面。(1)它强调了进行适当的心理学与情感相关的研究的挑战;(2)它提供了一个全面的文献综述在情感理论;(3)它提出了指导方针进行心理经验软件工程。
2015-09-17 cs.HC cs.SE
The Framework For The Discipline Of Software Engineering in Connection to Information Technology Discipline
本文代表了初步的工作,在确定软件工程的学科基础,并发现之间的联系领域的软件工程和信息技术(IT)。我们的研究利用IEEE Transactions on软件工程(IEEE-TSE)、ACM Transactions on软件工程and Methodology(ACM-TOSEM)、Automated软件工程(ASE)、International Conference on软件工程(ICSE)以及其他软件工程领域的相关期刊出版物来解决我们的研究问题。我们探索了现有的框架,并描述了软件工程作为一门学科的必要性。我们进一步澄清了软件工程和计算机科学之间的区别。通过这些努力,我们有助于了解如何从IT研究的证据可以用来提高软件工程作为一门学科。
2022-10-27 cs.SE
Escaping the Time Pit: Pitfalls and Guidelines for Using Time-Based Git Data
许多软件工程研究论文依赖于基于时间的数据(例如,提交时间戳、问题报告创建/更新/关闭日期、发布日期)。然而,像大多数真实世界的数据一样,基于时间的数据通常是脏的。到目前为止,还没有研究来量化软件工程研究社区使用这些数据的频率,或者调查这些数据的来源并量化这些数据是脏数据的频率。根据研究任务和使用的方法,包括这些脏数据可能会影响研究结果。本文介绍了第一次调查的论文,利用基于时间的数据,发表在采矿软件库(MSR)会议系列。在MSR 2004- 2020发表的690篇技术跟踪和数据论文中,我们看到至少35%的论文使用了基于时间的数据。然后,我们使用Boa和Software Heritage基础设施来帮助识别和量化脏提交时间戳数据的几个来源。最后,我们为研究人员利用Git存储库中基于时间的数据提供了指导方针/最佳实践。
2021-03-21 cs.SE
The Essence Theory of Software Engineering - Large-Scale Classroom Experiences from 450+ Software Engineering BSc Students
软件工程作为一个行业在开发方法和实践方面是高度多样化的。从业者采用了无数的方法,并倾向于通过例如省略一些实践或规则来进一步定制它们。这种开发方法的多样性对软件工程教育提出了挑战,在教育和工业之间产生了差距。一般的理论,如软件工程的本质理论,可以帮助弥合这一差距,提出软件工程的学生与更高层次的框架,在此基础上建立一个软件工程方法和实际项目工作的理解。在本文中,我们研究本质在教育环境中,以评估其有用性的软件工程学生,同时也调查在这种情况下,它的采用的障碍。为此,我们观察了102个学生团队在一个学期的项目课程中在实际的软件工程项目中使用Essence。
2018-09-24 cs.SE
Building Reusable Software Component For Optimization Check in ABAP Coding
软件构件复用是从现有构件开发新软件产品的软件工程实践。重用库或组件重用存储库组织存储和管理可重用组件。本文描述了如何创建一个可重用组件,它如何重用的功能,并检查优化的代码是否被用于构建程序和应用程序。最后,提供用于创建可重用组件的编码指南、标准和最佳实践,以及使可配置和易于使用的指南和最佳实践。
2010-07-29 cs.SE
Qualitative software engineering research -- reflections and guidelines
本文通过认识论论证和文献调查,提出软件工程定性研究应扩展方法范围、强化反思性并采用质量框架,并重点介绍了三种社会科学常用方法,为研究人员提供选择与应用指南。
2023-07-10 cs.CY cs.SE
Practical Guidelines for the Selection and Evaluation of Natural Language Processing Techniques in Requirements Engineering
本文为需求工程中自然语言处理技术的选择与评估提供实用指南,涵盖传统NLP、特征机器学习及语言模型方法,旨在帮助新手快速上手。
2024-07-16 cs.SE
Experience in engineering of scientific software: The case of an optimization software for oil pipelines
科学和工程软件的开发通常是不同的,可能比传统的企业软件的开发更具挑战性。作者参与了学术界和工业界之间的一个技术转让项目,该项目侧重于石油管道泵送能源成本优化软件的工程、开发和测试。具有不同技能的专家(机械、电力和软件工程师)参与其中。考虑到软件的复杂性(复杂的底层优化模型)以及具有来自不同领域的专家,在软件系统的各个软件工程方面存在挑战(例如,要求和测试)。我们报告我们的观察和经验,在我们的技术转让项目中解决这些挑战,并旨在增加现有的经验和证据的科学和工程软件的工程。我们相信,我们的观察,经验和教训,可以为其他科学和工程软件系统的工程研究人员和从业人员有用。
2020-03-01 cs.SE
Software Engineering und Software Engineering Forschung im Zeitalter der Digitalisierung
正如科学记者约格什瓦尔所建议的那样,数字化不仅影响社会,还需要重新定义计算机科学和计算机科学家的位置。由于数字化的所有官方方面都是基于软件的,本文试图重新定义软件工程及其研究的作用。基于软件的产品、系统或服务正在影响生活的各个领域,是生活各个领域数字化的关键组成部分和核心创新驱动力。在科学上,软件工程作为一门驱动学科,在任何技术创新的发展中都有新的机遇和挑战。然而,这些机会绝不能被牺牲,以竞争文献计量数字为目的。
2020-02-25 cs.SE
Software Engineering at Google
我们对Google的关键软件工程实践进行了分类和描述。
2020-01-30 cs.SE
Beyond Tradition: Evaluating Agile feasibility in DO-178C for Aerospace Software Development
本文分析 DO-178C 对安全关键航空航天软件采用敏捷开发的可行性,指出该标准并不强制瀑布方法,而是支持通过适当证据满足安全与认证目标。
2023-11-07 cs.SE
A Systematic Mapping Study of Empirical Studies performed with Collections of Software Projects
内容:在软件工程实验中,软件项目是常见的资源,尽管这些资源通常是在没有遵循特定策略的情况下选择的,这降低了结果的代表性和可复制性。一种选择是使用软件项目的保留集合,但这些集合必须是最新的,并有明确的指导方针来保证它们在很长一段时间内的更新。目标:对实证研究中选择软件项目的策略进行了系统的二次研究,以发现考虑的指导方针,项目集合的使用程度,提取的元数据以及随后进行的统计分析。方法:一项系统性映射研究,以识别2013年1月至2020年12月发表的研究。结果:122项研究被确定,其中72%使用自己的指南进行项目选择,27%使用现有的项目集合。同样,也没有证据表明项目选择过程有一个标准化框架,也没有应用与样本收集战略有关的统计方法。
2021-09-15 cs.SE
The Study and Approach of Software Re-Engineering
软件再工程的本质是改进或改造现有软件,使其能够被理解,控制和重用为新软件。需求,软件再工程的必要性大大增加。这些系统软件已经过时,不再用于架构,它们运行的平台稳定一致,它们支持开发和支持需求的变化。软件再工程是恢复和重用现有软件中固有的东西,将软件维护成本控制在最低限度,为未来软件开发奠定基础的重要手段。
2011-12-17 cs.SE
What Practitioners Really Think About Continuous Software Engineering: A Taxonomy of Challenges
持续软件工程是一种协作式的软件开发环境,它提供了在短时间内持续开发和部署高质量软件项目的能力。针对持续软件工程实践尚不成熟,软件组织对采用持续软件工程犹豫不决的问题,本研究的目的是:(1)通过系统的文献综述(SLR)和问卷调查研究获得行业专家的见解,以探索持续软件工程的挑战;(2)使用模糊层次分析法(FAHP)对调查的挑战进行优先级排序。研究结果提供了一套软件组织所面临的关键挑战,同时采用持续软件工程和基于优先级的分类的持续软件工程的挑战。FAHP的应用是新颖的,在这个研究领域,因为它有助于解决从业者的连续软件工程的影响因素的不确定性。我们相信,这项研究的结果将作为一个知识体系,为现实世界的从业者和研究人员修改和开发新的战略,成功地实施持续软件工程的做法在软件行业。
2023-03-30 cs.SE
The Dangerous Dogmas of Software Engineering
为了使自己成为一门科学学科,软件工程学术界必须放弃其非经验主义的教条。教条是不顾证据而持有的信念。本文分析了四个软件工程教条的性质和有害影响:1)相信软件有“需求”; 2)软件工程任务分为分析,设计,编码和测试; 3)相信软件工程主要是设计“软件”系统; 4)相信软件工程有效地遵循方法。解构这些教条表明,它们都过于简化和过度合理化的软件工程实践方面,这掩盖了潜在的现象,误导了研究人员和从业者。基于证据的实践被分析为一种揭露和批判非经验教条的手段。这一分析结果在几个新的建议,以克服基于证据的实践的实际挑战。
2018-02-18 cs.SE
Towards Quantum Software Requirements Engineering
本文探讨量子软件需求工程与经典软件需求工程的差异,通过映射经典需求分类提出初步思考,并指出值得量子软件工程界关注的研究方向。
2023-09-23 cs.SE
Towards Sustainable DevOps: A Decision Making Framework
在软件行业中,DevOps是一种越来越多采用的软件开发范式。为了实现可持续的DevOps采用,需要将组织的文化,自动化,测量和共享(CAMS)方面转变为持续发展和运营的核心主题。软件组织在实施DevOps原则时面临着一些复杂性。可持续的DevOps实施有助于软件组织开发具有良好投资回报的优质项目。这项基于证据的研究旨在探索文献和行业实践中报告的可持续DevOps实施指南。通过系统的文献回顾和问卷调查,我们确定了可持续DevOps实施的48个指导方针。我们进一步制定了一个决策框架,旨在帮助从业人员考虑最重要的一套指导方针的优先事项。结果表明,在CAMS中,文化是可持续DevOps实施的最重要原则。此外,(i)企业应该专注于建立具有共同目标的协作文化,(ii)评估您的组织是否准备好使用微服务架构,以及(iii)教育公司高管了解DevOps的好处,以获得资源和预算支持,这是可持续DevOps实施的最高优先级指南。我们相信,这项深入的研究有助于从业者了解可持续DevOps实施的核心原则和指导方针。
2023-03-20 cs.SE
A Formal Method for Mapping Software Engineering Practices to Essence
EF框架旨在解决软件工程SE及其实践的核心问题
2018-12-04 cs.SE
Pitfalls and Guidelines for Using Time-Based Git Data
许多软件工程研究论文依赖于基于时间的数据(例如,提交时间戳、问题报告创建/更新/关闭日期、发布日期)。然而,像大多数真实世界的数据一样,基于时间的数据通常是脏的。到目前为止,还没有研究来量化软件工程研究社区使用这些数据的频率,或者调查这些数据的来源并量化这些数据是脏数据的频率。根据研究任务和使用的方法,包括这些脏数据可能会影响研究结果。本文介绍了一个扩展的调查论文,利用基于时间的数据,发表在采矿软件库(MSR)会议系列。在MSR 2004- 2021发表的754篇技术跟踪和数据论文中,我们看到至少有290篇(38%)论文使用了基于时间的数据。我们还观察到,研究论文中使用的大多数基于时间的数据都是以Git提交的形式出现的,通常来自GitHub。基于这些结果,我们使用Boa和Software Heritage基础设施来帮助识别和量化几个脏Git时间戳数据的来源。最后,我们为研究人员利用Git存储库中基于时间的数据提供了指导方针/最佳实践。
2022-09-09 cs.SE
Ten Simple Rules for Catalyzing Collaborations and Building Bridges between Research Software Engineers and Software Engineering Researchers
本文针对科研领域中研究软件工程师与软件工程研究者协作的需求,提出十条战略准则,涵盖差异尊重、协作培育、共寻挑战、互利共赢等方面,助力双方建立协同关系以提升研究质量与影响力。
2025-06-03 cs.SE
Extensible Validation Framework for DSLs using MontiCore on the Example of Coding Guidelines
单元测试环境是当今许多程序设计语言保持软件质量高于一定水平的最新技术。然而,软件的语法质量所需的开发人员本身是不包括在上述框架。本文介绍了一种工具,实现了使用DSL框架MontiCore自动验证易于扩展的编码准则,任何领域的特定语言,甚至通用语言,如C++和它的应用程序在汽车研发项目中,德国OEM和几个供应商参与。并将其应用于基于UML/P的序列图中。
2014-09-08 cs.SE
On a Factorial Knowledge Architecture for Data Science-powered Software Engineering
鉴于科学中的数据密集型和协作趋势,软件工程社区也越来越关注从数据存储库中获得有价值和有用的见解。然而,将数据科学应用于软件工程(例如,如果缺乏合适的知识体系结构(KA),挖掘软件存储库)可能是盲目的和无意义的。通过观察软件工程实践通常通过一组因素(例如,编程器容量、不同的环境条件等)在此基础上,提出了一种基于因素的软件工程知识共享层次模型,以最大化软件资源库的价值,并对未来的软件数据驱动研究有所启发。特别是,它是有组织的因素和它们的关系,有助于指导软件工程知识挖掘,而挖掘的知识反过来将通过相关的因素和它们的相互作用索引/管理。本文阐述了我们关于阶乘KA的思想,并简要地说明了一个KA组件,即软件产品工程的早期版本KA。一旦充分的范围,这个拟议的KA将补充众所周知的SWEBOK的因素为中心的知识管理和潜在的软件工程知识的覆盖面/含义。
2021-03-02 cs.SE
Software Engineering Process and Methodology in Blockchain-Oriented Software Development: A Systematic Study
软件工程是一个系统的、有纪律的、可量化的方法的过程,对大规模和复杂的软件开发有重要影响。在软件开发的生存周期中,已经有许多成熟的软件过程模型被广泛采用,这些模型将利益相关者推向最终软件产品开发的完成。在先进技术的范围内,各种新兴的和未来的技术正在发展,这确实需要软件工程社区的关注,传统的软件过程技术是否能够继承到未来的软件开发的核心基础。在本文中,我们研究了现有软件工程流程和模型的影响,包括敏捷和面向区块链的软件工程中的DevOps。我们还研究了采用最先进的概念和发展面向区块链系统的当前软件工程过程的重要性。我们讨论的洞察力的软件项目管理实践中的BOS开发。这项研究的结果表明,利用国家的最先进的技术在软件过程中的未来技术将是具有挑战性的和有前途的研究,需要广泛解决和改善国家的最先进的软件工程过程和方法的新技术。
2022-07-02 cs.SE
Guidelines for Systematic Mapping Studies in Security Engineering
软件生命周期中的安全工程旨在保护信息和系统,以保证机密性,完整性和可用性。随着安全工程的成熟和研究论文数量的增长,越来越需要总结结果并提供该领域概述的论文。系统的映射研究通过对论文进行分类来确定哪些主题得到了很好的研究,哪些需要进一步研究,从而“映射”研究领域。因此,系统的映射研究在安全工程中变得越来越重要。本章提供了安全工程的基础上发表的安全工程论文的例子系统映射研究的方法论支持。由于安全工程与软件工程相似,因为它连接了研究和实践,研究人员可以使用相同的基本系统映射过程,如下:(1)研究计划,(2)搜索研究,(3)研究选择,(4)研究质量评估,(5)数据提取,(6)数据分类,(7)数据分析,(8)结果报告。我们使用已发表的映射研究来描述这个过程的安全工程的剪裁。除了指导如何在安全工程中进行系统的映射研究之外,本章还应提高安全工程社区对额外映射研究必要性的认识。
2018-01-21 cs.CR cs.SE
A Business Maturity Model of Software Product Line Engineering
近年来,软件产品线工程已成为软件行业最有前途的实践之一,具有大幅提高软件开发生产率的潜力。软件产品线工程方法跨越了业务、体系结构、软件工程过程和组织等维度。软件产品线工程在软件行业中的日益普及,需要一个过程成熟度评估方法。因此,本文提出了一个软件产品线的业务成熟度模型,这是一种方法来评估当前成熟度的软件产品线在一个组织中的业务维度。该模型考察了产品线工程和软件产品线业务方面之间的协调。它评估软件产品线的业务维度的成熟度,作为一组业务实践如何与组织中的产品线工程保持一致的函数。使用本文提出的模型,我们进行了两个案例研究,并报告了评估结果。该研究有助于建立一个全面统一的软件产品线过程成熟度评估策略。
2015-07-24 cs.SE
Lessons from a Pioneering Software Engineering Environment: Design Principles of Software through Pictures
本文回顾了 Software through Pictures 多用户开发环境的历史背景,阐述了其集成原则,以构建覆盖软件开发生命周期多任务的软件工程环境。
2024-03-12 cs.SE
Towards an OSF-based Registered Report Template for Software Engineering Controlled Experiments
State University of Maringá (UEM)(马里纳加州立大学);University of Bari(巴里大学);Federal University of Goiás (UFG)(戈亚斯联邦大学);PUC-Rio(天主教里约热内卢大学)
本文提出基于OSF的注册报告模板,旨在提升软件工程受控实验的严谨性与可重复性,但现有模板无法全面满足文档指南要求。
2026-02-10 cs.SE
Crossover Designs in Software Engineering Experiments: Review of the State of Analysis
本文通过前向雪球抽样评估136篇SE文献中的67项交叉实验,发现分析效度虽有提升,但仅29.5%的效度威胁被恰当处理,残留效应建模尤为不足。
2025-01-07 cs.SE
The Evolution of Empirical Methods in Software Engineering
像实验这样的经验方法已经成为推动软件工程领域的一种强有力的手段,它可以为软件开发、操作和维护提供科学依据,也可以支持从业者的决策和学习。今天经验方法在软件工程中得到了充分的应用。然而,自20世纪60年代以来,它们已经发展了几次迭代。在本章中,我们讲述了经验软件工程的历史,并在五个迭代中介绍了经验方法在软件工程中的演变,即,(1)20世纪60年代中期至70年代中期,(2)70年代中期至80年代中期,(3)80年代中期至90年代末,(4)2000年代,(5)2010年代。我们主要从方法论的角度介绍了经验软件工程发展的五次迭代,并考虑了关键论文、地点和书籍,这些内容在推荐的进一步阅读的单独部分中按时间顺序进行了介绍。我们通过介绍第4节中的现状和展望以及经验软件工程的现有书籍来补充经验软件工程的演变。此外,基于本书所涵盖的章节,我们讨论了软件工程中与研究方法的多样性、人为因素、数据汇集和处理、证据的聚集和综合以及软件工程研究的影响有关的当代经验方法的趋势。
2020-05-08 cs.SE
Recruiting credible participants for field studies in software engineering research
背景:软件从业者是软件工程领域研究信息的主要提供者。研究通常通过某种抽样招募从业者。但抽样本身可能无法招募到可信的参与者。目的:提出并展示一个框架,用于招募专业从业人员作为软件工程实地研究的可信参与者。方法:我们回顾了现有的指南,清单和其他咨询来源招募参与者进行实地研究。我们开发了一个框架,部分基于我们以前的研究和其他人的研究。我们搜索并选择了三个范例研究(案例研究,访谈研究和调查研究),并使用这些来证明该框架的应用。结果如下:虽然现有的指导方针等承认招募参与者的重要性,但关于如何招募合适的参与者的指导有限。我们用三个例子展示了这个框架,表明至少研究界的一些成员意识到需要仔细招募参与者。结论:该框架提供了一个新的视角来思考招聘可信的从业人员进行软件工程的实地研究。特别是,该框架确定了现有准则没有明确涉及的一些特点。
2021-12-28 cs.SE
Hidden Figures in Software Engineering: A Replication Study Exploring Undergraduate Software Students' Awareness of Distinguished Scientists from Underrepresented Groups
本研究通过全球复制调查发现软件工程本科生对代表性不足群体的杰出科学家认知有限,强调需提升多样性认知并开发包容性教育实践。
2024-12-20 cs.SE
Deconcentration of Attention: Addressing the Complexity of Software Engineering
本文试图描述与解决软件工程中非常复杂的任务相关的特定心理技术。这个主题可能在不同程度上被一些软件专家所熟悉;然而,目前对于这个主题领域还没有共同的共识和流行的术语。在本文中,我们从实际可用性的角度对该领域进行了描述。本文还建议把软件工程本身看作是对人类思维的研究,因为软件是用来模拟思维的。
2012-01-27 cs.SE