The Role of Generative AI in Strengthening Secure Software Coding Practices: A Systematic Perspective
本文系统研究生成式AI在增强安全编码实践中的作用,通过文献综述与实证分析探讨AI代码生成工具如何缓解安全风险并提升开发效率,为其在安全开发工作流中的集成提供洞见。
2025-04-28 cs.SE
Generative Software Engineering
本文系统综述了预训练模型与大语言模型在软件工程生成式任务中的应用,分类梳理了相关模型、数据集和评估指标,并指出不足与未来研究方向。
2024-04-03 cs.SE
Agentic Pipelines in Embedded Software Engineering: Emerging Practices and Challenges
Chalmers University of Technology(查尔姆斯理工大学);University of Gothenburg(哥德堡大学)
本文探讨嵌入式软件工程中生成式AI的整合挑战与实践,通过专家访谈揭示代理流水线的发展与可持续采用策略。
2026-01-15 cs.SE
Comparative Analysis of Software Development Methods between Parallel, V-Shaped and Iterative
任何一个开发软件的组织都面临着选择正确的软件开发方法的困难。而软件开发所采用的方法,在整个软件开发过程中起着举足轻重的作用。需要软件开发方法,以便软件开发过程可以是系统的,以便它不仅在正确的时间框架内完成,而且必须具有良好的质量。在系统开发生命周期(SDLC)中有各种软件开发方法。每种SDLC方法都为不同的软件开发提供了一条通用的指导方针,并具有不同的特点。每一种软件开发方法都有其优缺点,因此软件开发方法的选择应与所开发软件的能力相适应。本文将比较三种不同的软件开发方法:V形模型,并行开发模型和迭代模型,旨在为软件开发人员提供一个理解,以选择正确的方法。
2017-10-19 cs.SE
Transforming Software Development with Generative AI: Empirical Insights on Collaboration and Workflow
本文通过访谈13名软件相关从业者,实证研究生成式人工智能对软件开发工作流和团队协作的影响,发现ChatGPT带来范式转变,提升效率与积极性,但也改变了敏捷团队的学习循环。
2024-02-12 cs.SE
Creativity, Generative AI, and Software Development: A Research Agenda
本文探讨生成式AI对软件开发中创造力的潜在影响,运用McLuhan四元体分析GenAI的颠覆场景,并提出包含六个关联主题的未来研究议程,涵盖个人与团队能力、产品、意外后果、社会及人类方面。
2024-06-04 cs.SE
Using Software Categories for the Development of Generative Software
在模型驱动开发(MDD)中,软件通过系统地将抽象模型转换为具体的源代码而出现。理想情况下,执行这些转换在很大程度上是代码生成器的任务。开发新的代码生成器的一种方法是编写一个参考实现,并将其分离为手写和可生成的代码。通常,生成器开发人员手动执行这种分离,该过程通常是耗时的、劳动密集型的、难以维护的,并且可能产生比必要的更多的代码。软件类别提供了一种将代码分成具有定义的依赖关系的指定部分的方法,例如,“业务逻辑”代码可能不直接使用“技术”代码。本文提出了一种方法,使用软件类别的概念,半自动地确定候选生成的代码。其主要思想是迭代地从已分类代码的依赖项中派生出未分类代码的类别。最终生成或手写代码的候选是属于特定(先前定义的)类别的代码部分。这种方法可以帮助生成器开发人员比手工搜索更容易和更系统地找到生成代码的候选者,并且是生成软件的工具支持开发的一步。
2015-09-08 cs.SE
Generative AI in Evidence-Based Software Engineering: A White Paper
本文针对系统文献综述耗时的问题,探讨生成式AI在基于证据的软件工程中的作用,并提出将创建并实证验证一套综合模型以有效支持EBSE研究人员的未来愿景。
2024-08-22 cs.SE
How Students Use Generative AI for Software Testing: An Observational Study
Delft University of Technology(代尔夫特理工大学)
本研究通过观察12名本科生使用生成式AI进行单元测试,识别出四种交互策略及提示风格,发现AI虽能节省时间、降低认知负荷,但也引发信任与归属感问题,且对测试有效性和代码质量无显著影响。
2025-10-12 cs.SE
SENAI: Towards Software Engineering Native Generative Artificial Intelligence
针对现有代码生成大模型忽略软件工程基础原则的问题,本文提出将软件工程知识融入大模型,并基于布鲁姆分类法构建评估框架,推动软件工程原生生成式AI发展。
2025-03-19 cs.SE
Some Long-Standing Quality Practices in Software Development
几十年来,构建高质量软件系统的愿望一直是大多数软件开发人员和研究人员的焦点。这最终导致了实践的设计,提高了设计软件的质量。从传统的软件开发生存周期(SDLC)开始,到面向对象方法、迭代开发,再到现在的敏捷方法,这些实践经历了不同的时期。无论它们所处的软件开发过程的角度如何,这些实践都扮演着相同的质量角色。在本文中,我们回顾了三个软件开发方法的软件开发历史的代表,其目的是i)确定关键的质量实践,ii)确定质量的作用发挥的做法的方法,和iii)注意到这些质量的做法,坚持通过软件开发历史。在软件开发过程的整个历史中持续存在的已确定的质量实践包括原型设计、迭代开发、增量开发、风险驱动开发、阶段计划和阶段回顾。这些结果将是有用的方法工程师谁寻求设计高质量的软件开发方法,因为这些做法作为候选人列入他们的开发过程。软件开发从业员寻求设计高质量的软件也将受益于采用这些做法在开发他们的软件。
2022-09-17 cs.SE
"Game Changer" or "Overenthusiastic Drunk Acquaintance"? Generative AI Use by Blind and Low Vision Software Professionals in the Workplace
University of California, Irvine(加州大学尔湾分校);University of Southampton(南安普顿大学)
研究探讨生成AI对盲人和低视力软件专业人员工作的影响,发现其在提升生产率和可访问性方面有积极作用,但同时也带来更高的幻觉风险和组织政策限制。
2025-12-30 cs.SE
Automating Automotive Software Development: A Synergy of Generative AI and Model-Based Methods
Technical University of Munich(慕尼黑工业大学)
本文提出结合生成式AI与基于模型的方法,自动化汽车软件开发,通过事件链描述生成软件组件并提升系统可靠性。
2025-12-18 cs.SE
Software Reuse in the Generative AI Era: From Cargo Cult Towards AI Native Software Engineering
University of Jyväskylä(于韦斯屈莱大学);Nokia Technologies(诺基亚技术)
本文探讨生成式AI时代下AI辅助软件复用带来的货崇拜风险,提出研究议程以推动AI原生软件工程发展。
2025-06-22 cs.AI cs.SE
Using Generative AI in Software Design Education: An Experience Report
本文报告了在本科软件设计课程中引入ChatGPT辅助团队作业的经验,通过定性分析对话日志和学生反思,发现GenAI能帮助学生设计并认识其优劣,同时为教育者提供了有效部署GenAI的关键经验。
2025-06-26 cs.SE
Modeling Software Development Methodologies: A Logic Based Approach
在过去的二十年里,软件开发行业的增长趋势使软件工程的不同方面对计算机科学研究社区更加有趣。软件开发生命周期是影响软件开发项目成败的重要因素之一。由于每种软件开发方法都相对地提供了自己的软件开发生命周期,因此将软件开发生命周期编码在工作流表示语言中可以帮助开发人员正确地管理他们的软件项目。此外,这种编码也可以在CASE工具中使用。在这份报告中,我们认为软件开发生命周期作为一个工作流程,可以表示为语义Web和基于规则的语言。这样的考虑让我们分析生命周期的属性。具体来说,我们采取了著名的面向代理的软件开发方法,并表明其相应的生命周期可以指定的事务逻辑容易和简洁。最后,事务逻辑中紧凑而清晰的生命周期表示可以在CASE工具中使用,以指导软件开发人员。
2016-08-03 cs.SE
Rapid Application Development Using Software Factories
软件开发仍然基于工厂生产,大多数编程代码仍然是手工制作的。软件开发离其他行业早已实现的软件生产产业化的最终目标还很遥远。软件产业化的缺乏导致无法应对用户需求的快速和频繁变化,并导致其实施过程中的成本和时间效率低下。与其他行业很久以前所做的类似,软件开发的产业化已经使用软件工厂的概念提出。我们已经接受了这个关于软件工厂的愿景,并开发了我们自己的软件工厂,它可以生成三层ASP.NET Web应用程序。在本文中,我们报告了我们的经验,使用这种方法在软件开发过程中,并在传统的开发和开发使用软件工厂的性能和可交付成果的比较结果。
2012-01-04 cs.SE
Software Process Models and Analysis on Failure of Software Development Projects
软件过程模型由一组设计、开发和维护软件系统的活动组成。各种各样的软件过程模型被设计用来构造、描述和规定软件开发过程。软件过程模型在软件开发过程中起着非常重要的作用,是软件产品的核心。软件项目的失败往往会对组织造成破坏。进度单,错误的发布和缺失的功能可能意味着项目的结束,甚至是公司的财务破产。奇怪的是,对于一个项目失败意味着什么,人们存在分歧。本文对现有的软件开发过程模型和软件开发失败的分析进行了讨论,指出了新的研究的必要性。
2013-06-05 cs.SE
A Viable Paradigm of Software Automation: Iterative End-to-End Automated Software Development
School of Computer Science, Wuhan University(武汉大学计算机学院);Key Lab of High Confidence Software Technology (PKU), Ministry of Education School of Computer Science, Peking University(北京大学计算机科学与技术学院 高可信软件技术教育部重点实验室)
本文提出AutoSW范式,通过AI系统作为人类伙伴,实现端到端自动化软件开发,展示了其在各类案例中的可行性。
2025-11-23 cs.SE
Software Development Standard and Software Engineering Practice: A Case Study of Bangladesh
在软件开发组织中,改进软件过程以实现高质量是成功的关键因素。与其他国家相比,孟加拉国的软件公司在这一特定领域没有多少经验。ISO 9001和CMM标准已经成为软件开发的基本组成部分。我们研究的主要目标是:1)了解孟加拉国软件开发公司使用的软件开发过程; 2)根据既定的质量标准确定开发实践; 3)为特定项目的软件开发建立标准化和一致的过程。研究结果显示,孟加拉国的软件产业缺乏软件过程与改进的目标设定,缺乏质量控制活动的参与,缺乏标准化的业务专长实践。本文根据上述挑战对孟加拉国软件业进行了调查。
2010-08-19 cs.SE
Think Like an Engineer: A Neuro-Symbolic Collaboration Agent for Generative Software Requirements Elicitation and Self-Review
本文提出 RequireCEG 智能体,通过神经-符号协作架构结合因果效应图,分层分析用户叙述、构建自修复 CEGs 并优化 Gherkin 场景,在 RGPair 数据集上实现 87% 覆盖率和 51.88% 多样性提升。
2025-07-20 cs.SE
Sistematic mapping protocol - estimation accuracy on software development using agile technologies
文献系统映射协议,旨在根据发现的结果识别和分类软件开发敏捷方法中使用的估计技术,并将其估计准确性与传统软件开发方法中获得的估计准确性进行比较。
2022-08-25 cs.SE
Exploring the Experiences of Experts: Sustainability in Agile Software Development -- Insights from the Finnish Software Industry
本研究通过访谈芬兰软件行业专家,探究敏捷软件开发中的可持续性现状,发现Scrum最常用、各可持续性维度存在连锁效应,并为2030软件工程路线图提出三项关键建议。
2024-07-09 cs.SE
Enabling Reusability in Agile Software Development
软件工程学科在过去的二十年里不断取得发展势头。在过去十年中,已经取得了显著进展。为了跟上行业的多维需求,不时引入新的过程模型。新的软件开发范式正在工业界找到它的位置,如敏捷软件开发,基于重用的开发和基于组件的开发。但是,不同的软件开发模式不能满足软件行业的许多需求。由于所有过程模型的目标是相同的,即,以获得高质量的产品,减少开发时间,提高生产率和降低成本。然而,没有一个单一的流程模型本身是完整的。软件行业正朝着敏捷软件开发的方向发展。敏捷开发显然不适合构建可重用的工件。然而,通过对敏捷过程的仔细关注和重要修改,有可能成功地适应并采用敏捷方法来开发可重用对象。这里提出的模型结合了敏捷软件开发和可重用性的特点。
2013-02-06 cs.SE
Importance of Secure Software Development Processes and Tools for Developers
在这篇关于安全软件系统的研究论文中,作者讨论了创建安全软件时正确的开发过程是什么,这将适合开发人员和相关利益相关者。开发人员的安全软件开发过程对于软件工程师来说至关重要,因为越来越多的基于软件的设备变得越来越普遍,云服务正在发展,这需要软件不断连接到互联网。考虑到这一点,安全软件开发需要转变为大多数开发人员可以依赖的东西,以使应用软件安全,并有能力减轻黑客的潜在攻击。此外,在本文中,现有的安全软件开发过程的思想和实现进行了审查和调查,使用的研究论文池在线。在此基础上,提出了一种在软件开发过程中加强安全性的方法来解决安全问题。最后,本文最后对安全功能在软件开发阶段的实际实施进行了总结,以生产安全可靠的软件程序和系统。
2020-12-30 cs.SE
ArchBench: Benchmarking Generative-AI for Software Architecture Tasks
Software Engineering Research Center (SERC) International Institute of Information Technology Hyderabad (IIIT-H)(印度信息技术研究所海德拉巴分校软件工程研究中心)
针对现有LLM基准多聚焦实现正确性、软件架构任务难统一评测的问题,研究提出首个统一基准平台ArchBench,含带标准化流程的CLI工具与带交互式排行榜的网页端,采用插件架构支持社区贡献,覆盖各类生成式AI软件工程方案,推动可复现研究。
2026-03-18 cs.SE
Navigating the Complexity of Generative AI Adoption in Software Engineering
本文通过混合方法研究生成式AI在软件工程中的采用,提出HACAF理论模型,发现兼容性是早期采用的主要驱动因素,挑战了传统技术接受理论,为AI工具设计与组织实施提供见解。
2024-01-04 cs.SE
Software Engineering Process and Methodology in Blockchain-Oriented Software Development: A Systematic Study
软件工程是一个系统的、有纪律的、可量化的方法的过程,对大规模和复杂的软件开发有重要影响。在软件开发的生存周期中,已经有许多成熟的软件过程模型被广泛采用,这些模型将利益相关者推向最终软件产品开发的完成。在先进技术的范围内,各种新兴的和未来的技术正在发展,这确实需要软件工程社区的关注,传统的软件过程技术是否能够继承到未来的软件开发的核心基础。在本文中,我们研究了现有软件工程流程和模型的影响,包括敏捷和面向区块链的软件工程中的DevOps。我们还研究了采用最先进的概念和发展面向区块链系统的当前软件工程过程的重要性。我们讨论的洞察力的软件项目管理实践中的BOS开发。这项研究的结果表明,利用国家的最先进的技术在软件过程中的未来技术将是具有挑战性的和有前途的研究,需要广泛解决和改善国家的最先进的软件工程过程和方法的新技术。
2022-07-02 cs.SE
Comparative Study on Agile software development methodologies
今天的商业环境是非常动态的,组织不断改变他们的软件需求,以适应新的环境。他们还要求软件产品的快速交付以及接受不断变化的需求。在这方面,传统的计划驱动的开发无法满足这些要求。虽然传统的软件开发方法,如基于生存周期的结构化和面向对象的方法,继续主导系统开发几十年来,许多研究已经在传统的方法,敏捷软件开发带来了自己的一套新的挑战,必须解决,以满足客户通过早期和持续交付的有价值的软件。它是一套基于迭代和增量开发过程的软件开发方法,其中需求和开发通过自组织,跨职能团队之间的协作进行,允许快速交付高质量的软件,以满足客户需求并适应需求的变化。在本文中,我们显着识别和描述的主要因素,敏捷开发方法改善软件开发过程,以满足快速变化的业务环境。我们还提供了敏捷开发方法与传统系统开发方法的简要比较,并讨论了采用敏捷方法的现状。我们推测,从需要满足客户通过早期和持续交付的有价值的软件,敏捷软件开发出现作为一种替代传统的基于计划的软件开发方法。本文的目的是提供一个深入的理解,敏捷开发方法的主要好处,软件开发行业,以及提供一个比较研究报告ASDM TSDM。
2013-07-12 cs.SE
The frog and the octopus: a conceptual model of software development
我们提出了一个软件开发的概念模型,包括所有的方法:传统或敏捷,轻型和重型,大型和小型的开发工作。该模型识别了所有软件开发中的共同方面,即,在每个软件开发项目中以某种形式存在的元素(意图、产品、人员、工作、时间、质量、风险、成本、价值),以及可变部分,即,我们可以在软件开发世界中找到导致非常广泛的变化的主要因素(大小,年龄,关键性,架构稳定性,业务模型,治理,变化率,地理分布)。我们展示了该模型如何可以被用来作为软件开发的解释性理论,作为分析实践,技术,过程的工具,作为课程设计或软件过程的采用和改进的基础,并支持软件开发方法的实证研究。这个模型也被提出来作为一种方式来平息关于敏捷方法与世界其他地方的争论:一个统一的模型。
2012-09-06 cs.SE
Analysis of the Veracities of Industry Used Software Development Life Cycle Methodologies
目前,软件行业正在使用不同的SDLC(软件开发生存周期)模型,这些模型是为特定目的而设计的。技术的使用正在生活的各个方面蓬勃发展,技术背后的软件发挥着巨大的作用。随着技术复杂性的增加,软件的成功开发完全取决于对开发过程的适当管理。因此,在行业中引入改进的方法是不可避免的,以便现代以人为中心的软件应用程序开发可以成功地管理和交付给用户。因此,在本文中,我们探讨了不同的SDLC模型的事实,并进行比较分析。
2018-07-15 cs.SE
The Software Heritage Graph Dataset: Large-scale Analysis of Public Software Development History
Software Heritage是现存最大的软件源代码及其开发历史的公共档案。它涵盖了超过50亿个独特的源代码文件和10亿个独特的提交,来自8000多万个软件项目。这些软件工件是从主要的协作开发平台(例如,GitHub、GitLab)和包存储库(例如,PyPI,Debian,NPM),并存储在一个统一的表示链接在一起的源代码文件,目录,提交,和版本控制系统(DRM)存储库的完整快照,如软件遗产在定期爬网期间观察。这个数据集在可访问性和规模方面是独一无二的,并且允许探索公共软件开发长尾上的许多研究问题,而不是像经常发生的那样仅仅关注“最受欢迎”的存储库。
2020-11-16 cs.SE
The Dynamics of Creativity in Software Development
软件主要是由人开发的,人的因素必须在所有软件工程阶段进行研究。创造力是即兴解决问题的源泉,可以主导软件开发等复杂系统。然而,在软件开发中缺乏什么是创造力以及它的动力是什么的知识。本研究介绍了目前的研究计划,对理论在软件开发中的创造力。更具体地说,它(1)陈述了在多学科视角下研究软件开发中的创造力的动机;它(2)提供了对该领域中识别缺陷的文献的第一次回顾;它(3)提出了一个研究设计,其中包括软件工程中很少使用的方法。理解软件开发中的创造力将提供对软件构建过程的更好的了解,以及个人如何在智力上为创建更好的创新产品做出贡献。
2013-05-26 cs.SE
Rethinking Artifact Evaluation for Software Engineering in the Age of Generative AI
Singapore Management University(新加坡国立大学);Monash University(莫纳什大学)
本文探讨生成式AI时代软件工程同行评审中Artifact评估的重要性,指出需重视科学实质而非叙事质量,提出将Artifact评估作为同行评审首要组成部分。
2026-01-26 cs.SE
New Failure Rate Model for Iterative Software Development Life Cycle Process
软件可靠性模型是估计软件可靠性、失效率和剩余故障数的最常用的数学工具之一。现有的软件可靠性模型是按照瀑布式软件开发生存周期过程设计的。这些现有的模型没有利用迭代软件开发过程。本文提出了一种新的以迭代软件开发生存周期过程为中心的失效率模型。它的目的是整合一个新的调制因子,将不同的需求,在每个阶段的迭代软件开发过程。它包括不完善的调试与故障的可能性引入和删除的多个故障在一个时间间隔的迭代开发的软件进行。该模型已在Eclipse软件故障数据集的12次迭代和Java开发工具包(JDT)软件故障数据集的9次迭代上进行了验证。采用粒子群算法和引力搜索算法相结合的方法对模型进行参数估计。实验结果表明,在Eclipse数据集和JDT数据集上,该模型的拟合优度分别为83.33%和77.77%,优于Jelinski Moranda,Shick Wolverton,Goel Okummotto Imperfect debugging,GS Mahapatra和Modified Shick Wolverton.
2019-10-02 cs.SE
Context-Augmented Software Development Projects: Literature Review and Preliminary Framework
软件开发是一项复杂的活动,依赖于各种技术和人们的专业知识。开发软件的方法高度依赖于这些不同的特征,这些特征是开发人员所服从的上下文。这个上下文包含大量的知识,不捕获它意味着知识不断丢失。虽然广泛的研究,在软件开发中的上下文仍然是不明确的,也没有提出一个更广泛的观点,软件开发人员和工具所需要的上下文。因此,开发人员的生产力受到影响,因为重用这种丰富上下文的能力受到阻碍。本文提出了一个文献综述的软件开发环境,通过九个研究问题。本研究的目的是使所发现的上下文显式到一个集成的视图,并提出了一个平台,以帮助软件开发使用上下文信息。我们相信,通过上下文知识的表示和挖掘来支持推荐和实时提供,可以显着改善大数据软件项目的开发。
2019-10-17 cs.SE
The importance of visual modelling languages in generative software engineering
Business School, University of Edinburgh(爱丁堡大学商学院)
本文探讨可视化建模语言在生成式软件工程中的重要性,研究多模态GPT(如GPT-4)结合图像与文本输入的能力,填补了通过图表与自然语言提示执行软件工程任务相关用例的研究空白。
2025-08-20 cs.AI cs.SE
The AR/VR Technology Stack: A Central Repository of Software Development Libraries, Platforms, and Tools
本文构建了针对AR/VR/MR领域的软件开发库、平台和工具的中心仓库,提供全面的技术资源整合与参考。
2023-05-13 cs.SE
Contrasting to spark creativity in software development teams
对高性能软件开发团队三十年的实证研究提供了证据,证明创造力可以通过有效的,有纪律的开发文化来促进。本文介绍了“对比”作为创造力的关键驱动力;描述了创造力的举措,高绩效团队使用的战术,以产生有用的对比;并观察到的关键发展行为的特点,以支持“文化”的创造力。在广泛的软件开发组织和应用领域进行了实证研究。
2025-03-09 cs.SE
Exploring the intersection of Generative AI and Software Development
Centro de Informática - UFPE(伯南布哥联邦大学信息中心);Universidade Federal Rural de Pernambuco(伯南布哥联邦乡村大学);CESAR Innovation Center(CESAR创新中心)
本文探讨生成式AI与软件工程的结合,分析各阶段需求并介绍提示、思维链等技术,旨在提升开发效率与质量。
2023-12-21 cs.AI cs.SE
On the Future of Software Reuse in the Era of AI Native Software Engineering
本文探讨AI原生软件工程时代生成式软件复用的兴起及其与货物崇拜式开发的相似性,提出关键问题并制定研究议程以应对相关核心挑战。
2025-08-27 cs.SE
Generative Artificial Intelligence for Software Engineering -- A Research Agenda
本文通过文献综述和焦点小组研究,提出面向软件工程的生成式人工智能研究议程,识别出11个领域的78个开放研究问题,指出当前研究偏重实现与维护,并强调需求、设计和教育等方向亟待深入探索。
2023-10-28 cs.SE
Challenges and issues in collaborative software developments
软件开发过程相对于开发大型和复杂应用程序中的问题已经发展。现在出现了向协作发展的模式转变,因此有必要对这种做法进行评价。许多工具用于协作软件开发(CSD),包括社交媒体和Web 2.0功能。协作开发设施由IDE和项目托管网站提供。在本文中,我们提出了一个调查的合作开发的项目,并讨论在CSD的挑战和问题。我们分析了沟通,协调,支持,生命周期管理的各种问题,并讨论其对软件质量的影响。
2019-03-19 cs.SE
3rd Workshop on Hybrid Development Approaches in Software System Development
有证据表明,软件开发方法,框架,甚至实践很少在公司中通过遵循这本书来应用。将不同的方法结合到本土工艺中的做法不断被发现。然而,学术界对这一现象的理解和调查非常有限。2016年,HELENA计划启动,研究软件系统开发中的混合开发方法。本文介绍了第三届HELENA研讨会,并提供了所使用的仪器和可用的数据集的详细说明。
2021-04-17 cs.SE
Towards Maintainable Platform Software -- Delivery Cost Control in Continuous Software Development
现代平台软件交付成本迅速增加,因为它通常需要与许多硬件和芯片的TTM保持一致,功能演变并涉及数百名工程师。本文以一个超大规模软件-- Intel Media Driver为例,分析了软件持续开发过程中导致交付成本增加的热点问题、软件设计所面临的挑战以及针对目标设计改进降低软件交付成本的经验。我们期望所确定的热点可以帮助更多的研究人员形成相应的研究议程,分享的经验可以帮助以下从业者应用类似的增强。
2022-03-29 cs.SE
Managing layers of risk: Uncertainty in large development programs combining agile software development and traditional project management
如何在敏捷项目的多个级别上隐式和显式地管理风险还没有得到广泛的研究,有必要调查如何在大型敏捷项目中使用风险管理。这是本探索性研究的目的,它调查了以下研究问题:一个大型软件/硬件开发项目如何使用敏捷实践管理在项目/子项目和工作包级别的不确定性?
2021-03-16 cs.SE
Survey of Human Factors in Crisis Responsive Software Development
尽管软件开发对社会做出了巨大的贡献,但它仍然是一项非常昂贵的高风险投资。每一个软件项目开始的意图是按时和在预算内交付软件产品,但这些软件项目中有很大一部分要么未能充分发挥其潜力,要么完全失败。在这方面,有很多因素在起作用,其中最主要的因素是人的因素,这往往被忽视,而且往往是最大或最强的因素,因为软件开发是一项基本的人类努力。对人的因素的认识和理解可以极大地影响软件开发的成功。本次调查的目的是找出并抛出更多的光在危机响应软件开发的影响,拼出一些建议,并建议未来的研究方向的人为因素。在本文中,我们使用一个案例研究来调查人为因素。
2020-07-23 cs.SE
A practical guide towards agile test-driven development for scientific software projects
软件测试在过去的几年里受到了广泛的关注,并且已经达到了如此关键的重要性,以至于敏捷软件开发实践将软件测试置于其核心地位。敏捷软件开发在大规模工业软件开发中得到了成功的应用,但由于其粒度责任分配给开发团队的各个成员,这些实践可能不适用于科学代码开发,特别是在学术环境中,代码库由一个人开发,维护和使用并不罕见。即使是通过外部赠款资助的协作科学软件开发,最终用户通常仍然是开发团队的一部分。这与许多行业中的软件开发方式形成对比,在这些行业中,开发团队和最终用户是两个独立的实体。然而,有许多好的代码开发实践可以用于科学软件项目。具体地说,本文的目的是采用敏捷软件开发的核心,并将其定制为科学和学术的单用户代码开发。在这项研究中,开发了一个c++启动项目,并提供了基于介子构建系统,它提供了本地支持软件测试。它用于展示如何开发在许多科学和学术应用中发现的简单线性代数应用程序,以及如何创建通过介子构建系统管理的简单单元,集成和系统测试。通过这种方式,我们能够最大限度地减少软件缺陷,并降低解释错误软件生成的错误数据的风险,这些错误数据可能导致得出错误的结论。每一层测试都提供了一个额外的保护层,我们将探讨如何以最小的开销将这些保护层结合起来,以产生无bug的软件。
2020-10-08 cs.SE
Design of the Inspection Process Using the GitHub Flow in Project Based Learning for Software Engineering and Its Practice
基于项目的学习(PBL)的软件开发(我们称之为软件开发PBL)已获得关注,作为一种实用的教育方法。许多研究报告了在软件开发PBL中引入GitHub等社交编码工具的情况。在教育中,向学习者提供反馈(建议,错误更正等)是很重要的,特别是在软件开发PBL中,因为几乎所有的学习者都是第一次从技术和管理方面的角度来处理实际的软件开发。本研究将在一般软件开发活动中进行的检查视为提供反馈的机会,并提出了使用GitHub上的拉取请求的检查过程。通过将所提出的过程应用到实际的软件开发PBL中,我们能够对学习者创建的工件的准确位置进行反馈。
2020-02-06 cs.SE
Towards Methods for Model-Based Software Development
软件工程是一门年轻的学科。尽管近年来作出了努力,但有些要素仍需要进一步发展、研究和系统化。其中一个要素是方法。它们由一组定义良好的活动组成,这些活动用于软件开发,以指导如何执行工作以实现预期结果。然而,缺乏系统的知识来有效指导如何在各个领域开展工作。尽管软件工程知识体系(SWEBOK)中的知识是可用的,但只有经典的方法包括在那里,而新兴的主题,如面向Agent的软件工程(AOSE),面向Agent的软件开发(AOSD)和基于模型的软件开发(MBSE)只被简要提及。我们认为,这也是必要的调查方法,为那些新兴的软件工程子轨道。在这个方向上,本文提出了一个投机性的和初步的新兴成果的建立方法的MBSE。我们报告的MBSE方法的概念上的一些见解。
2017-12-08 cs.SE
Prompting in Practice: Investigating Software Practitioners' Use of Generative AI Tools
William & Mary(威廉与玛丽学院)
研究调查软件从业者在实际开发中使用生成式AI工具的提示策略与实践,揭示其在代码生成、调试等任务中的应用现状及挑战。
2026-01-23 cs.SE
Towards Development of Correct Software using Views
本文的目的是将实际软件开发方法中使用的异构文档集成到一个基于形式化精化的软件开发过程中来描述视图。因此,我们提出了一个集成的语义异构文档的基础上,一个共同的系统模型和一组语法的发展步骤,一个定义良好的语义文档的演变。在一个小例子中演示了开发步骤的使用。
2014-10-15 cs.SE
Rethinking Software Development as a Self-Adaptive Socio-Technical System
ITIS Software, Universidad de Málaga(马拉加大学 ITIS 软件)
本文提出将软件开发视为自适应社会技术系统,使软件项目与开发配置随环境动态调整,以应对智能体AI带来的组织固定性问题。
2026-09-15 cs.SE
Exploring the Evidence-Based SE Beliefs of Generative AI Tools
本研究探索了5种生成式AI工具对17项软件工程实证研究主张的“信念”,发现其响应模糊且缺乏可信证据,并为从业者集成AI系统及未来提升其可靠性提供了启示。
2025-08-12 cs.SE