Natural Language Processing (NLP) for Requirements Engineering: A Systematic Mapping Study
自然语言处理支持的需求工程是一个研究和开发领域,旨在将NLP技术,工具和资源应用于各种需求文档或工件,以支持在各个RE阶段执行的一系列语言分析任务。这些任务包括检测语言问题,识别关键领域概念和建立需求之间的可追溯性链接。本文调查了NLP 4 RE研究的景观,以了解最新的技术水平,并确定开放的问题。系统映射研究方法是用来进行这项调查,其中确定了404个相关的主要研究,并审查他们根据五个研究问题,横跨五个方面的NLP 4 RE研究,涉及文献的状态,实证研究的状态,研究重点,实践的状态,和使用的NLP技术。结果如下:1)NLP 4 RE是RE中一个活跃且蓬勃发展的研究领域,已积累了大量出版物并引起了不同社区的广泛关注; 2)大多数NLP 4 RE研究都是仅使用实验室实验或示例应用进行评估的解决方案建议; 3)大多数研究都集中在分析阶段,以检测为中心的语言分析任务,以需求规格说明为共同处理的文档类型; 4)已经提出了130种新工具来支持一系列语言分析任务,但很少有证据表明长期采用,尽管已经发布了一些工业应用; 5)从所选研究中提取了140种自然语言处理技术、66种自然语言处理工具和25种自然语言处理资源。
2020-04-07 cs.SE
Practical Guidelines for the Selection and Evaluation of Natural Language Processing Techniques in Requirements Engineering
本文为需求工程中自然语言处理技术的选择与评估提供实用指南,涵盖传统NLP、特征机器学习及语言模型方法,旨在帮助新手快速上手。
2024-07-16 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
Assessing the Robustness of LLM-based NLP Software via Automated Testing
本文提出首个面向基于 LLM 的 NLP 软件整体输入的自动化鲁棒性测试框架 AORTA,并用自适应束宽与回溯的 ABS 提升测试效率、自然性和可迁移性。
2025-03-17 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
Towards a Software Reference Architecture for Natural Language Processing Tools in Requirements Engineering
Chalmers University of Technology(查尔姆斯理工大学);University of Gothenburg, Sweden(哥德堡大学)
本文提出面向需求工程中NLP工具的软件参考架构愿景,旨在通过模块化和互操作性提升工具的可持续性和重用性。
2026-02-19 cs.SE
Replication in Requirements Engineering: the NLP for RE Case
针对面向需求工程的自然语言处理研究复现关注度低、阻碍因素多的问题,提出结构化工具ID-Card并明确其构建过程,识别复现挑战,以提升复现意识并推动研究复现。
2024-04-18 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
The Use of NLP-Based Text Representation Techniques to Support Requirement Engineering Tasks: A Systematic Mapping Review
Higher Institute for Applied Sciences and Technology (HIAST)(高等应用科学与技术学院);Arab International University (AIU)(阿拉伯国际大学)
自然语言处理(NLP)被广泛用于支持不同需求工程(RE)任务的自动化。大多数提出的方法都是从各种NLP步骤开始的,这些步骤分析需求语句,提取它们的语言信息,并将它们转换为易于处理的表示,例如特征列表或基于嵌入的向量表示。这些基于NLP的表示通常在稍后阶段用作机器学习技术或基于规则的方法的输入。因此,需求表示在确定不同方法的准确性方面起着重要作用。本文以系统的文献映射(分类)的形式进行了一项调查,以了解(1)RE任务文献中使用的表示方法,(2)这些作品的主要焦点是什么,(3)该领域的主要研究方向是什么,以及(4)差距和潜在的未来方向。在编译了2,227篇论文的初始池并应用一组纳入/排除标准后,我们获得了包含104篇相关论文的最终池。我们的调查显示,研究方向已经从使用词汇和句法特征转向使用先进的嵌入技术,特别是在最近两年。使用高级嵌入表示已经证明了它在大多数RE任务(如需求分析,从评论和论坛中提取需求,以及语义级质量任务)中的有效性。然而,基于词汇和语法特征的表示仍然更适合于其他RE任务(例如建模和语法级质量任务),因为它们为处理这些任务时使用的规则和正则表达式提供了所需的信息。此外,我们确定了现有文献中的四个差距,为什么它们很重要,以及未来的研究如何开始解决这些问题。
2022-05-17 cs.AI cs.CL 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
A Formal Method for Mapping Software Engineering Practices to Essence
EF框架旨在解决软件工程SE及其实践的核心问题
2018-12-04 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
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
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
Tea: Program Repair Using Neural Network Based on Program Information Attention Matrix
Microsoft Asia-Pacific Technology Company Ltd.(微软亚太科技有限公司);University of Chinese Academy of Sciences(中国科学院大学);Institute of Software, Chinese Academy of Sciences(中国科学院软件研究所)
机器学习(ML)驱动的自然语言处理(NLP)的进步为软件程序的自动错误修复指明了一个有希望的方向,因为修复有错误的程序可以转换为翻译任务。虽然软件程序包含比一维自然语言文档更丰富的信息,但使用ML驱动的NLP技术进行自动程序修复的开创性工作只考虑了有限的此类信息。我们假设,更全面的软件程序的信息,如果适当利用,可以提高ML驱动的NLP方法在修复软件程序的有效性。作为证明这一假设的第一步,我们提出了一个统一的表示来捕捉软件程序的语法,数据流和控制流方面,并设计了一种方法来使用这样的表示来指导Transformer模型从NLP更好地理解和修复错误的程序。我们的初步实验证实,更全面的软件程序使用的信息,更好的ML驱动的NLP技术可以执行在这些程序中修复错误。
2021-07-17 cs.AI 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
A Process Algebra Software Engineering Environment
在以前的工作中,我们描述了如何在软件工程中使用的进程代数为基础的语言PSF,使用工具总线,协调架构也基于进程代数,作为实现模型。在这篇文章中,我们总结了工作,并介绍了软件开发过程中更正式的工具,我们在这个过程中使用的CASE设置,导致PSF工具总线软件工程环境。我们将该环境中的细化步骤推广到基于过程代数的软件工程工作台,其中可以组合多个实例以形成一个环境。
2008-06-17 cs.SE
Quantum Artificial Intelligence for Software Engineering: the Road Ahead
本文提出将量子人工智能(QAI)应用于软件工程的路线图,涵盖量子优化与量子机器学习,探讨各阶段应用及挑战,旨在以成本效益方式解决复杂软件工程问题。
2025-10-23 cs.SE
A Survey of Software Engineering Practices in Turkey (extended version)
背景:了解行业中使用的软件工程实践和技术的类型是很重要的。在每个软件团队和公司中进行的软件工程实践的类型和成熟度方面有很宽的范围。为了描述在软件公司中进行的软件工程实践的类型,在不同的国家和地区进行了各种调查。土耳其有一个充满活力的软件行业,重要的是要描述和了解该行业的软件工程实践的状态。目标:我们的目标是描述和掌握土耳其软件行业软件工程实践类型的高级观点。在这项研究中,我们调查的软件工程实践包括:软件需求、设计、开发、测试、维护、配置管理、发布计划和支持实践。目前的调查是在土耳其软件行业背景下进行的最全面的调查。方法:为了实现上述目标,我们系统地设计了一个在线调查46个问题,根据我们过去的经验,在加拿大和土耳其的背景下,并使用软件工程知识体系(SWEBOK)。来自土耳其软件行业的202名执业软件工程师参加了调查。我们分析和报告在本文中的问题的结果。只要有可能,我们还会将我们的调查趋势和结果与2010年在加拿大软件行业进行的类似调查结果进行比较。
2014-12-16 cs.SE
ABFS: Natural Robustness Testing for LLM-based NLP Software
本文提出ABFS自动化测试方法,首次将输入提示和示例作为整体进行鲁棒性测试,通过组合优化和自适应控制策略生成高自然度测试用例,显著提升了基于LLM的NLP软件的测试成功率和效率。
2025-03-03 cs.SE
Taxing Collaborative Software Engineering
本文探讨了跨国企业中跨境协作式软件工程被忽视的税务问题,介绍了国际税收基本原则,提出了三大征税挑战,并通过测量跨国公司的跨境代码审查评估了其工业意义。
2023-11-21 cs.SE
Extending Behavioral Software Engineering: Decision-Making and Collaboration in Human-AI Teams for Responsible Software Engineering
本研究从认知视角探讨人机协作在软件工程决策中的挑战,设计人机团队以提升集体智能,促进负责任的软件工程。
2025-07-08 cs.SE
Supporting Software Engineering Research and Education by Annotating Public Videos of Developers Programming
软件工程长期以来一直在研究软件开发人员如何工作,构建了一个工作主体,形成了许多软件工程最佳实践、工具和理论的基础。最近,一些开发人员开始录制自己参与开源项目编程任务的视频,使他们能够与其他开发人员分享知识和社交。我们相信这些视频为软件工程研究和教育提供了重要的机会。在本文中,我们讨论了这些视频的潜在用途,以及如何最好地实现这种设想的使用开放的问题。我们建议创建一个中央存储库的编程视频,使分析和注释视频,以说明感兴趣的特定行为,如提问和回答问题,采用策略,和软件工程理论。这样一个知识库将提供一种重要的新方法,使软件工程研究人员和学生都能理解软件开发人员是如何工作的。
2019-05-09 cs.SE
Quantum Software Engineering and Potential of Quantum Computing in Software Engineering Research: A Review
本文作为首篇全面综述,探讨量子计算在软件工程中的潜在应用,介绍量子软件工程(QSE)的学科发展,分析其技术现状、机遇挑战,指出量子机器学习和优化的潜力及当前工具的不足。
2025-02-13 cs.SE
Software Engineering in Australasia
六个月前,一个重要的呼吁,为全球研究人员提供见解的方式软件工程是在他们的地区。注意到这一呼吁,我们在此概述了软件工程在澳大拉西亚(新西兰和澳大利亚)的地位。本文首先考虑了在澳大利亚软件工程社区中流行的软件开发方法、实践和工具。然后,我们简要回顾了软件工程研究人员在澳大拉西亚的特殊优势。最后,我们通过反思我们目前的立场和确定未来的机会,公开呼吁合作者
2022-06-11 cs.SE
Total Recall, Language Processing, and Software Engineering
软件工程问题的一个广泛的类别可以概括为“总召回问题”。这篇短文声称,在软件工程中识别和探索全召回语言处理问题是一项具有广泛适用性的重要任务。为了实现这一点,我们表明,通过应用和适应最先进的主动学习和文本挖掘,总召回问题的解决方案,可以帮助解决两个重要的软件工程任务:(a)支持大型文献综述和(b)识别软件安全漏洞。此外,我们推测(c)测试用例优先级和(d)静态警告识别也可以归类为总召回问题。“全面回忆”在软件工程中的广泛应用表明,存在一些基础框架,不仅包括自然语言处理,还包括广泛的重要软件工程任务。
2018-08-31 cs.SE
Privacy Engineering Meets Software Engineering. On the Challenges of Engineering Privacy ByDesign
当今的软件开发在很大程度上依赖于使用服务架构和敏捷的迭代开发方法来设计、实现和部署系统。这些实践导致系统由多个服务组成,这些服务引入了新的数据流,并使设计脱离了单个设计人员的控制。学术隐私工程文献通常抽象出软件生产的这些条件,以实现可推广的结果。然而,通过对文献的系统研究,我们表明,提出的解决方案不可避免地会对软件架构、开发方法和设计师控制范围做出与当前实践不一致的假设。这些错位可能会对隐私工程解决方案的实际操作构成障碍。具体来说,我们确定的方法,研究人员采取的设计和评估隐私增强技术的涟漪隐私工程方法的建议的重要限制。根据我们的分析,我们描绘的研究和行动需要重新调整的研究与实践,变化,学术隐私的结果在共同的软件工程实践的操作化的先决条件。
2020-07-16 cs.SE
Software Engineering with Process Algebra: Modelling Client / Server Architectures
在以前的工作中,我们描述了如何在软件工程中使用的进程代数为基础的语言PSF,使用工具总线,协调架构也基于进程代数,作为实现模型。我们还通过在CASE设置中介绍我们在此过程中使用的工具,更正式地描述了此软件开发过程,从而形成了PSF-ToolBus软件工程环境。在这篇文章中,我们总结了这项工作,并描述了一个类似的软件开发过程,使用客户端/服务器模型的软件系统的实施,并提出了这在CASE设置以及。
2009-08-18 cs.SE
Engineering Trustworthy Software: A Mission for LLMs
该研究探讨大语言模型(LLMs)对软件工程的变革作用,指出其完全集成后能推动全生命周期进程,但需解决准确性、可扩展性等挑战以实现可信的LLM驱动软件工程。
2024-11-27 cs.SE
Analysis of Software Engineering Practices in General Software and Machine Learning Startups
本研究通过系统文献综述对比了ML初创企业与通用软件初创企业在软件开发生命周期五个阶段的软件工程实践差异,发现ML模型的非确定性带来了额外挑战,需采用不同策略保障产品质量。
2023-04-04 cs.SE
Combining Design Thinking and Software Requirements Engineering to create Human-centered Software-intensive Systems
有效的需求工程是软件密集型开发项目中的一项重要活动。设计思维以人为中心的工作模式被认为是在设计创新系统时补充这些活动的有力方式。研究已经取得了很大的进展,说明了使用需求工程设计思维的好处。然而,如何真正实现两者的结合仍然是一个大问题。在这一章中,我们贡献了一个基于工件的模型,集成了创新的软件密集型系统的设计思维和需求工程。从我们的研究和项目经验,我们建议三个战略,剪裁和整合设计思维和需求工程互补的协同作用。
2021-12-10 cs.SE
Reclaiming Software Engineering as the Enabling Technology for the Digital Age
Informatics Europe WG on Software Research(欧洲信息学学会软件研究工作组)
本文呼吁重新确立软件工程作为数字时代战略赋能技术的核心地位,强调其在推动数字技术可持续发展中的关键作用。
2026-01-28 cs.SE
Quantum Software Engineering: Roadmap and Challenges Ahead
本文分析了量子软件工程的研究现状,识别了关键领域与未来几年亟待解决的开放挑战,为推进该领域指明了必要突破与未来研究方向。
2024-12-17 cs.SE
Social Science Theories in Software Engineering Research
随着软件工程研究越来越关注软件开发的心理学、社会学和管理学方面,参考学科的相关理论对于理解该领域的核心现象越来越重要。然而,软件工程研究在多大程度上借鉴了相关的社会科学仍然不清楚。因此,本研究调查了13年来在五个有影响力的软件工程期刊中使用社会科学理论的情况。不仅分析了理论的使用范围,而且分析了这些理论使用什么、如何使用以及在哪里使用。虽然使用了87种不同的理论,但只有不到2%的论文使用了社会科学理论,大多数理论只在一篇论文中使用,大多数社会科学被忽略,并且这些理论很少被测试是否适用于软件工程环境。忽视相关的社会科学理论可能会(1)破坏社区产生,阐述和维护知识累积体的能力;(2)导致软件工程现象的过度简化模型。要使软件工程成为一门成熟的科学学科,需要更多地关注理论。
2022-02-15 cs.SE
Formal Quantum Software Engineering: Introducing the Formal Methods of Software Engineering to Quantum Computing
量子计算(QC)代表了计算系统的未来,但用于推理计算的量子模型的工具,其中遵守的定律是量子力学尺度上的定律,仍然是线性代数和狄拉克符号的混合;两个学科更适合物理学家,而不是计算机科学家和软件工程师。在此基础上,我们相信有可能提供一种更直观的方法来思考和编写量子计算系统,以简化量子算法的设计和量子软件的开发。在本文中,我们朝着这个方向迈出了第一步,通过采用软件工程中的形式化方法所使用的相同符号和推理原则,引入规约语言作为通过公理化定义来表示量子计算机操作的工具。我们将这种方法称为形式量子软件工程(F-QSE)。这项工作假设熟悉量子力学(QM)的基本原理,使用Zed(Z),这是一种软件工程(SE)的形式语言,并与一阶逻辑(FOL)和函数式编程(FP)的符号和技术。
2021-11-14 cs.SE
Benchmarking as Empirical Standard in Software Engineering Research
在经验软件工程中,基准测试可以用来比较不同的方法、技术和工具。然而,最近的ACM SIGSOFT经验标准软件工程研究不包括一个明确的检查表基准。在本文中,我们讨论的基准软件的性能和可扩展性评估的例子研究领域,在软件工程,基准与其他一些实证研究方法,并讨论了基准的要求,可能构成一个清单的基准标准实证软件工程研究的基础。
2021-05-01 cs.SE
Deep Learning-based Software Engineering: Progress, Challenges, and Opportunities
本文提出首个面向任务的基于深度学习的软件工程综述,涵盖贯穿软件生命周期的十二个主要子领域,系统梳理了深度学习驱动各子领域的进展、挑战与机遇。
2024-10-17 cs.SE
Software and Security Engineering in Digital Transformation
数字化转型是当前全球环境中的一个热门话题,因为许多组织一直在努力采用数字化解决方案。软件工程也已经成为一个更重要的角色,因为大量的系统,无论是传统的还是智能的,都依赖于收集、存储和处理数据的软件。软件工程师在数字化转型中的作用也变得至关重要。在这方面,本文旨在研究软件工程的趋势和软件工程师在数字化转型中的作用。此外,本文还探讨了安全软件开发在数字化转型中的重要性。可以得出结论,软件工程是数字化转型的一个组成部分,因为所有数字系统都使用软件来有效地执行其功能。软件作为数字系统和人类之间的桥梁,以交互和有效地使用系统。
2021-12-16 cs.SE
Proceedings of the 5th International Workshop on Software Engineering Methods in Spreadsheets (SEMS'18)
第五届软件工程方法国际研讨会论文集(SEMS'18),于2018年10月1日在葡萄牙里斯本举行,并与2018年IEEE视觉语言和以人为中心的计算研讨会(VL/HCC)共同举办。
2018-08-28 cs.SE
Software Engineering Timeline: major areas of interest and multidisciplinary trends
今天的社会不能没有软件,也就是说,不能没有软件工程。自1968年这门学科出现以来,从业者已经学到了宝贵的经验教训,这些经验教训对当前的实践做出了贡献。有些已经过时,但许多仍然是相关的和广泛使用的。从作者个人和不完整的角度来看,本文不仅回顾了软件工程时间轴中的主要里程碑和感兴趣的领域,帮助软件工程师欣赏事物的状态,而且还试图给出一些见解,这个复杂的工程将在不久的将来看到的趋势。
2020-02-24 cs.SE
Teaching cloud computing: a software engineering perspective
这篇简短的论文从软件工程而非业务角度讨论了云计算教学的问题。它讨论了云软件工程高级课程可能涉及的主题。
2012-09-05 cs.DC cs.SE
Reliability Testing Strategy - Reliability in Software Engineering
本文介绍了软件工程中可靠性的核心原则-概述了为什么可靠性测试是至关重要的,并指定了测量可靠性的过程。本文为软件工程领域的新手和专家提供了评估软件系统失效强度和预测软件系统失效的见解。测量是通过利用来自操作配置文件的信息来进行的,以进一步增强测试计划和测试用例,所有这些本文都演示了如何实现。
2016-05-03 cs.SE
Questions for Data Scientists in Software Engineering: A Replication
2014年,微软的一项研究调查了数据科学应用于软件工程应该回答的问题。这产生了145个开发人员认为与数据科学家相关的问题,从而为社区提供了一个研究议程。快进到五年,没有进一步的研究调查微软软件工程师的问题是否适用于其他软件公司,包括具有不同主要重点的软件密集型公司(我们称之为软件定义企业)。此外,鉴于软件工程的技术进步,五年前确定的问题是否仍然适用并不明显。
2021-01-04 cs.SE
Essencery - A Tool for Essentializing Software Engineering Practices
软件工程从业者使用高度多样化的方法和实践,并且缺乏软件工程的一般理论。在软件工程方法论领域建立一个共同点的一个尝试是软件工程的本质理论,它可以被认为是软件工程的方法无关的项目管理工具。Essence支持使用任何开发实践,并提供了一个框架,用于为任何软件工程上下文构建合适的方法。然而,Essence目前的实践者采用率较低,部分原因是缺乏适当的工具。在本文中,我们提出了一个工具,本质化软件工程的方法和实践的本质图形语法。Essence旨在促进潜在未来用户采用Essence。我们提出了一个实证评估的工具,通过定性的,准正式的实验,实验的基础上,确认该工具是易于使用和有用的,其预期目的。
2018-08-08 cs.SE
Documenting Bioinformatics Software Via Reverse Engineering
本文提出利用逆向工程和用户视角,为已完成的生物信息学软件编写文档,以促进其采用和社区影响。
2023-05-07 cs.SE
Proceedings Second International Workshop on Algebraic Methods in Model-based Software Engineering
在过去的几年里,在代数社区中有很多关于使用代数方法为模型驱动的软件工程提供支持的活动。该研讨会的目的是聚集致力于代数方法开发和应用的研究人员,为基于模型的软件工程提供严格的支持。与研讨会相关的主题是所有与软件工程中代数方法的使用相关的主题,包括但不限于:正式指定和验证基于模型的软件工程概念和相关概念(MDE,UML,OCL,MOF,DSL等);用于上述的工具支架;整合正式和非正式的方法;和理论框架(代数,重写为基础,范畴理论为基础,.)。研讨会的主要目标是检查、讨论和联系代数社区中现有的项目,这些项目解决了模型驱动软件工程中常见的开放问题。
2011-06-29 cs.SE