The Study and Approach of Software Re-Engineering
软件再工程的本质是改进或改造现有软件,使其能够被理解,控制和重用为新软件。需求,软件再工程的必要性大大增加。这些系统软件已经过时,不再用于架构,它们运行的平台稳定一致,它们支持开发和支持需求的变化。软件再工程是恢复和重用现有软件中固有的东西,将软件维护成本控制在最低限度,为未来软件开发奠定基础的重要手段。
2011-12-17 cs.SE
Metamorphic Testing: A New Approach for Generating Next Test Cases
在软件测试中,测试用例集是根据一些预定义的选择准则构造的。然后根据这些测试用例检查软件。对当前软件测试的工件进行了三个有趣的观察。首先,一个错误揭示测试用例被认为是有用的,而一个成功的测试用例,不揭示软件错误,通常不会进一步调查。这些成功的测试案例是否仍然包含有用的信息,揭示软件错误还没有得到适当的研究。其次,无论在开发阶段进行了多么广泛的测试,软件中仍然可能存在错误[5]。这些错误如果不被发现,最终可能会对生产系统造成损害。在生产阶段发现软件错误的技术研究很少在文献中讨论。第三,正如Weyuker在[6]中所指出的,在大多数情况下,测试预言机的可用性实际上是无法实现的。然而,在传统的软件测试技术中,通常假设测试预言机的可用性。在本文中,我们提出了一种新的测试用例选择技术,从成功的新的测试用例。选择的目的是揭示软件错误,可能留下未被发现的成功的测试用例,可能会产生使用一些现有的策略。因此,所提出的技术增强了现有的测试选择策略的有效性。该技术还有助于在生产阶段发现软件错误,并且可以在没有测试预言机的情况下使用。
2020-02-28 cs.SE
Generating a Performance Stochastic Model from UML Specifications
自从Connie Smith提出软件性能工程(SPE)以来,软件性能工程的过程越来越受到人们的关注。其思想是将性能评估引入软件设计过程。这种合适的方法允许软件设计人员在设计期间确定软件的性能。已经提出了几种方法来提供这样的技术。他们中的一些人建议从UML(统一建模语言)模型中导出一个性能模型,如随机Petri网(SPN)或随机进程代数(SPA)模型。我们的工作属于同一类别。我们建议从一个UML模型的随机自动机网络(SAN),以获得性能预测。由于SAN的模块性及其与UML状态图的高度相似性,我们的方法更加灵活。
2012-02-02 cs.PF cs.SE
SilGAN: Generating driving maneuvers for scenario-based software-in-the-loop testing
Volvo Group(沃尔沃集团);Chalmers University of Technology(查尔姆斯理工大学)
汽车软件测试继续在很大程度上依赖于昂贵的现场测试来确保质量,因为基于模拟的测试等替代方法相对不成熟。作为降低对现场测试依赖的一步,我们提出了SilGAN,这是一种深度生成模型,可以简化汽车软件在环测试的规范,刺激生成和自动化。该模型使用现场车辆记录的数据进行训练。在训练时,该模型使用驾驶场景的简明规范来生成在这种场景期间可能发生的真实车辆状态转换。这种内部车辆行为的真实仿真可以用于车辆控制软件的快速、系统和廉价的测试。此外,通过提出一种有针对性的方法来搜索模型学习到的信息,我们展示了如何自动化测试目标,如代码覆盖率。我们提出的数据驱动的端到端测试管道极大地扩展了基于汽车仿真的测试的范围和可信度。这缩短了上市时间,同时有助于保持所需的质量标准。
2021-07-05 cs.LG cs.SE
From Requirements to Architecture: Semi-Automatically Generating Software Architectures
Technische Universität München(技术大学慕尼黑)
本文提出一种利用大语言模型(LLM)半自动生成软件架构的方法,通过架构师与LLM工具紧密协作,覆盖领域模型、用例、架构决策与评估,初步结果显示可行且节省时间。
2025-04-16 cs.AI cs.SE
Generating Pairwise Combinatorial Interaction Test Suites Using Single Objective Dragonfly Optimisation Algorithm
组合交互测试作为一种有效的软件测试技术,近年来得到了广泛的关注。它显示了它的能力,以减少测试用例的数量,必须考虑的被测软件的参数的组合作为一个相互作用的输入。这种组合可以被认为是不同软件系列的输入配置。成对组合测试集考虑了两个输入参数的交互作用,而不是多个参数的交互作用。有证据表明,该测试套件可以检测到大多数的故障在测试中的软件相比,更高的相互作用。本文提出了一种生成两两组合测试集的新技术。并对一种新的群智能优化算法--龙飞算法(DF)进行了评价.文中详细介绍了算法的设计和自适应过程。该算法通过不同的实验和基准测试进行了广泛的评估。评估表明,所提出的技术的效率测试套件生成和DF优化算法的有用性,为今后的调查。
2019-04-09 cs.SE
Generating Automotive Code: Large Language Models for Software Development and Verification in Safety-Critical Systems
Technical University of Munich(慕尼黑技术大学)
本文提出将生成式AI与大语言模型集成到汽车软件开发生命周期的新框架,通过静态验证、测试驱动开发和迭代细化实现安全关键代码自动生成,并以自适应巡航控制系统验证其合规性与可靠性。
2025-06-04 cs.AI cs.SE
Automated Generating Natural Language Requirements based on Domain Ontology
软件需求规格说明对于整个软件生命周期无疑是至关重要的。如今,编写软件需求规格说明主要依赖于人类的工作。虽然已经提出了大量的研究,通过提出先进的启发和分析技术,以加快这一进程,它仍然是一个耗时和容易出错的任务,需要考虑到领域知识和业务信息。在本文中,我们提出了一种方法,命名为ReqGen,它可以提供建议,自动生成自然语言的需求规格说明的基础上,某些给定的关键字。具体来说,ReqGen包括三个关键步骤。首先,从领域本体中选择面向关键词的知识,并将其注入到基本的统一预训练语言模型(UniLM)中进行领域微调。其次,集成了复制机制,以确保关键字在生成的语句中出现。最后,设计了一种需求语法约束的解码方法,以缩小候选规范和参考规范之间的语义和语法距离。在两个来自不同领域和不同群体的公共数据集上的实验表明,ReqGen在关键词(短语)包含的硬约束、BLEU、ROUGE和语法遵从性方面优于六种流行的自然语言生成方法。我们相信ReqGen可以提高软件需求描述的效率和智能性。
2022-11-30 cs.SE
Software Logging for Machine Learning
系统日志在软件密集型系统中执行关键功能,因为日志记录系统的状态和系统中重要时间点的重要事件。不幸的是,日志条目通常以临时、非结构化和不协调的方式创建,限制了它们对分析和机器学习的有用性。在本文中,我们提出了当代方法的主要挑战,以生成和存储系统日志数据的大型,复杂的,软件密集型系统的基础上,在一个世界领先的电信公司的深入的案例研究。其次,我们提出了一个系统的和结构化的方法来生成日志数据,不遭受上述挑战,并优化用于机器学习。第三,我们根据专家访谈对该方法进行了验证,确认该方法解决了已确定的挑战和问题。
2020-01-24 cs.SE
SQAPlanner: Generating Data-Informed Software Quality Improvement Plans
Faculty of Information Technology, Monash University(莫纳什大学信息技术学院)
针对缺陷预测洞见缺乏可操作性和风险阈值的问题,本文提出AI驱动的SQAPlanner,生成四类规则化指导及阈值,并通过可视化与实证评估验证其有效性和实用性。
2021-03-27 cs.LG cs.SE
Generating Software Architecture Description from Source Code using Reverse Engineering and Large Language Model
Institute for Software and Systems Engineering(软件与系统工程研究所);Technical University of Clausthal(克莱斯特哈尔技术大学)
本文提出利用逆向工程与大语言模型生成软件架构描述,以自动化提取组件图和行为模型,减少人工依赖并提升系统可维护性。
2025-11-07 cs.AI cs.SE
Progress Report on a Proposed Theory for Software Development
在软件工程社区中,越来越多的人认识到,需要一种软件开发理论来整合目前流行的无数方法,其中一些方法是基于对立的观点。多年来,我们一直在发展这样一种理论。在这份立场文件中,我们概述了我们的理论以及迄今为止取得的进展。我们建议,一旦完全开发,这个理论,或类似的,可以应用于支持软件开发,通过提供一个总体模型,其中软件倡议可能被分类和理解。这种理解将不可避免地导致对结果的更大的可预测性。
2021-03-05 cs.SE
Generating Examples From CLI Usage: Can Transformers Help?
Microsoft(微软)
现代软件的不断发展经常导致文档、教程和示例与不断变化的接口和框架不同步。依赖过时的文档和示例可能会导致程序失败或效率降低,甚至更不安全。作为回应,程序员需要定期转向网络上的其他资源,例如StackOverflow,以指导他们编写软件。我们认识到,通过使用应用于软件使用数据的机器学习,可以改善这种不方便、容易出错和昂贵的过程。在本文中,我们提出了我们的实用系统,它使用机器学习的大规模遥测数据和文档语料库,生成适当的和复杂的例子,可用于改善文档。我们讨论了基于功能和基于transformer的机器学习方法,并证明我们的系统实现了产品中使用功能的100%覆盖,在每次发布时提供最新的示例,并将软件所有者编写和编辑文档提交的PR数量减少了> 68%。我们还分享了在3年内为Azure Cloud命令行界面(Azure CLI)部署生产质量系统所获得的宝贵经验。
2022-04-27 cs.AI cs.LG cs.SE
Automatically Generating Rules of Malicious Software Packages via Large Language Model
School of Cyberspace Security, Beijing Jiaotong University(网络安全学院,北京交通大学)
RuleLLM利用大语言模型自动为开源软件生态系统生成YARA和Semgrep规则,在1,633个恶意软件包数据集上实现85.2%精确率和91.8%召回率,优于现有工具,并提出了11类38子类的规则分类法。
2025-04-24 cs.AI cs.CR cs.SE
Generating Equivalent Representations of Code By A Self-Reflection Approach
School of Computer Science, Peking University(北京大学计算机学院)
本文提出一种自反思方法,让两个大语言模型相互协作生成代码的等价表示,并在开放和受限两种设置下验证其有效性,以支持多种软件工程任务。
2024-10-04 cs.CL cs.PL cs.SE
Using the Agile software development lifecycle to develop a standalone application for generating colour magnitude diagrams
虚拟天文台使天文学家能够无缝地发现,访问和处理数据,而无论其物理位置如何。然而,通常需要陡峭的学习曲线才能精通用于访问,分析和可视化这些数据的软件。对于研究和教育目的,具有允许用户在点击按钮时可视化数据的应用程序将是期望的。因此,我们开发了一个独立的应用程序(用Python编写),用于绘制光度色幅图(CMD)-这是研究和教学天文种群最广泛使用的工具之一。CMD Plot Tool应用程序功能“开箱即用”,无需用户安装代码解释器、附加库和模块,也无需修改系统路径;它可用于多个平台。通过图形用户界面(GUI)进行交互,用户可以从各种数据源快速轻松地生成高质量的图,并根据需要进行注释和标记。本文介绍了CMD绘图工具是如何使用面向对象编程和正式的软件设计生命周期(SDLC)开发的。我们强调需要天文软件开发文化,以确定适当的编程范式和SDLC。我们概述了CMD绘图工具的功能和用途,并以星团测光为例。所有结果图都是使用CMD Plot Tool在各种在线虚拟天文台的数据上创建的,或者从观测中获得并使用IRAF/PyRAF进行简化。
2019-06-26 astro-ph.GA astro-ph.IM cs.SE
BugMentor: Generating Answers to Follow-up Questions from Software Bug Reports using Structured Information Retrieval and Neural Text Generation
本文提出BugMentor,结合结构化信息检索与神经文本生成(如Mistral),从历史相关缺陷报告中提取上下文以自动生成后续问题的答案,在多项指标上显著优于基线,并经开发者研究验证其答案更准确、精确、简洁且有用。
2025-09-12 cs.SE
An Ontological Analysis of a Proposed Theory for Software Development
在软件工程社区中,越来越多的人认识到,需要一种软件开发理论来整合目前流行的无数方法,其中一些方法是基于对立的观点。多年来,我们一直在发展这样一种理论。在本文中,我们概述了我们的理论,并报告了最近的本体论分析的理论结构。我们建议,一旦完全开发,这个理论,或类似的,可以应用于支持软件开发,通过提供一个总体模型,其中软件倡议可能被分类和理解。这种理解将不可避免地导致对结果的更大的可预测性。
2021-03-19 cs.SE
Prompted Software Engineering in the Era of AI Models
该研究提出融合提示工程的提示式软件工程(PSE)方法,通过构建有效提示引导AI模型服务软件开发,实现降本提效并降低误导输出风险,同时明确了全开发周期的提示构建方式。
2023-09-07 cs.SE
Automated Code Generation and Validation for Software Components of Microcontrollers
Munich University of Applied Sciences(慕尼黑应用科学大学);AGSOTEC GmbH(AGSOTEC有限公司)
本文提出一种利用AST分析和RAG生成技术,为STM32F407微控制器自动生成并验证HAL代码的方法,实现无需人工干预的嵌入式软件组件集成。
2025-02-26 cs.LG cs.SE
Formal Model-Driven Engineering: Generating Data and Behavioural Components
模型驱动工程是从结构和功能的抽象模型中自动生成软件产品。通过针对特定的系统类别,可以使用模型转换和编码领域知识和实现策略的代码生成器来自动化开发过程的各个方面。使用这种方法,一个复杂的软件系统的正确性问题可以通过分析较低复杂性的抽象模型来回答,假设所采用的转换和生成器本身是正确的。本文展示了如何形式化技术可以用来建立模型转换的正确性,用于从精确的对象模型生成软件组件。源语言基于现有的形式化技术;目标语言是数据库编程中广泛使用的SQL表示法。正确性是通过为两种语言提供可比较的关系语义,并检查转换是否保持语义来建立的。
2013-01-01 cs.LO cs.MS cs.SE
Leveraging LLMs for Formal Software Requirements -- Challenges and Prospects
本文提出VERIFAI项目,探索结合NLP、本体建模与LLM等方法,从非正式自然语言需求自动生成可验证形式化规格说明,并总结关键挑战与研究方向。
2025-08-28 cs.SE
Investigating Collaboration Within Online Communities: Software Development Vs. Artistic Creation
在线创意社区已经能够开发大型开源软件(OSS)项目,如Linux和Firefox,通过互联网进行成功的合作。这些社区还扩展到创意艺术领域,如动画,视频游戏和音乐。尽管它们越来越受欢迎,但导致这些社区成功合作的因素并不完全清楚。在下文中,我描述了我的博士研究项目,旨在改善创意艺术社区的沟通,协作和保留,从有关OSS社区的文献中获得的经验开始。
2018-03-21 cs.SE cs.SI
Towards Generating Executable Metamorphic Relations Using Large Language Models
本文提出一种基于大型语言模型和少样本提示策略,从需求自动推导可执行蜕变关系的方法,实验证明其生成的蜕变关系具有高准确性和实用价值。
2024-10-11 cs.SE
Generating CodeMeta through declarative mapping rules: An open-ended approach using ShExML
本文提出利用 ShExML 中的声明式映射规则生成 CodeMeta 文件,通过实现并合并三个交叉映射覆盖两个真实研究软件制品,并结合 SHACL 与 ShEx 验证和自动化工作流,以促进 CodeMeta 的采用并提升研究软件的 FAIR 程度。
2025-11-07 cs.DL cs.SE
Generating Domain-Specific Transformation Languages for Component & Connector Architecture Descriptions
基于构件的软件工程(CBSE)将复杂的系统分解为可重用的组件。模型驱动工程(MDE)旨在通过将抽象模型提升为主要开发工件来从复杂性中抽象出来。构件和连接器体系结构描述语言结合了CBSE和MDE,将软件系统描述为构件模型的层次结构。使用模型作为开发工件伴随着对这些模型的演化、维护和重构的需求,这可以通过模型转换来实现。领域特定的转换语言(DSTL)是为特定的建模语言定制的,因为建模语言的具体语法用于描述转换。为了自动化的ADL的DSTL的开发,我们提出了一个框架,系统地从特定领域的C&C语言语法派生这样的语言。这些DSTL使得能够在底层ADL的词汇表中简明地描述这样的模型转换。这些特定领域的转换是更好地理解ADL专家比通用的转换。
2015-10-30 cs.SE
Generating a Low-code Complete Workflow via Task Decomposition and RAG
ServiceNow
本文将任务分解与RAG形式化为GenAI系统设计模式,分析其工程权衡,并结合企业级工作流生成应用总结全开发周期实践经验。
2024-11-29 cs.AI cs.SE
Trustworthy Software Project Generation : a Case Study with an Interactive Theorem Prover
Key Laboratory of High Confidence Software Technologies (Peking University), Ministry of Education(教育部高可信软件技术重点实验室;北京大学计算机学院);School of Computer Science Peking University
本文研究利用交互式定理证明器(ITP)从自然语言需求自动生成大规模可信软件项目,通过将纯逻辑与有副作用的代码分离,在Rocq中完成验证并提取C++代码,成功生成一个RISC-V RV32I CPU解释器,证明了ITP作为LLM生成软件验证后端的可行性。
2026-05-25 cs.SE
Using LLMs in Generating Design Rationale for Software Architecture Decisions
School of Computer Science, Wuhan University(武汉大学计算机学院);RMIT University(皇家墨尔本理工大学);School of Computer Science, Central China Normal University(中央师范大学计算机学院);School of Artificial Intelligence, Shenzhen Polytechnic University(深圳职业技术学院人工智能学院)
本研究评估了LLMs在生成软件架构决策设计理由方面的性能,通过实验和访谈探讨了不同提示策略的效果及实际应用的可行性。
2025-12-09 cs.AI cs.SE
A Tool for Test Case Scenarios Generation Using Large Language Models
本文提出一个基于Web的工具,利用LLM智能体和提示工程,从史诗与用户故事中自动生成测试用例场景,以应对需求演变下高效测试的挑战。
2024-06-11 cs.SE
Barriers and Self-Efficacy: A Large-Scale Study on the Impact of OSS Courses on Student Perceptions
本文通过分析多国大学多个 OSS 课程实例的数据,研究开源软件开发课程对学生自我效能的影响及学生面临的主要障碍与挑战。
2023-07-04 cs.SE
The Perceptions of Software Engineers Concerning the Utilization of Bots in the OSS Development Process: An Exploratory Survey
本研究通过调查37名软件工程师,探讨了开源软件(OSS)开发中Bots的使用情况,发现Bots在多阶段提供支持并提升生产力,但受访者认为当前Bots不够智能,并提出了改进建议。
2024-11-14 cs.SE
AuthAttLyzer-V2: Unveiling Code Authorship Attribution using Enhanced Ensemble Learning Models & Generating Benchmark Dataset
International Institute of Information Technology, Hyderabad(国际信息技术学院海得拉巴分校);York University(约克大学)
本文提出AuthAttLyzer-V2源代码特征提取器,结合词法、语义、句法和N-gram特征,并集成Random Forest、Gradient Boosting与XGBoost模型,在24,000个C++样本上实现作者身份归属,助力恶意软件分类。
2024-06-28 cs.AI cs.SE
The Soft Skills of Software Learning Development: the Psychological Dimensions of Computing and Security Behaviours
在编写软件代码时,开发人员通常会有意识或无意识地将功能优先于安全性。这往往归因于客户要求等有形压力,但人们对影响安全行为的心理因素知之甚少。人们越来越需要了解心理技能如何影响安全的软件开发,并了解这些技能本身是如何在学习过程中发展起来的。这项博士研究探索了这一研究领域,旨在为软件开发人员确定重要的工作场所技能;识别和实证调查这些工作场所技能背后的软技能,以了解软技能如何影响安全行为;并确定向计算机科学学生介绍和教授软技能的方法,为未来一代软件开发人员做好准备。这项研究背后的动机与工作计划一起提出。介绍了三个不同的阶段,以及计划的分析。第一阶段目前处于数据汇集阶段,第二阶段正在规划中。突出强调了以前的相关工作,并在论文的最后介绍了初步结果和计划的下一步。
2022-05-09 cs.HC cs.SE
Software Testing of Generative AI Systems: Challenges and Opportunities
本文探讨了生成式AI系统在软件测试中引入的新挑战,分析了传统测试技术的不足,并提出了未来研究的机遇以提升该领域的质量保证。
2023-09-11 cs.SE
Generating Test Scenarios from NL Requirements using Retrieval-Augmented LLMs: An Industrial Study
本文提出 RAGTAG,将 RAG 与 LLM 结合,从工业双语自然语言需求中自动生成测试场景,并通过专家访谈验证其相关性、覆盖度、正确性、连贯性与可行性。
2024-04-19 cs.SE
Intelligent Software Tooling for Improving Software Development
University of West Florida(西佛罗里达大学)
该博士论文研究如何利用深度学习技术处理海量非结构化软件工程工件,以改进软件开发过程,包括代码生成、测试用例生成和错误检测等。
2023-10-17 cs.AI cs.SE
Using LLMs in Software Requirements Specifications: An Empirical Evaluation
IIIT Delhi(德里印度信息技术学院);Wadhwani AI(瓦德瓦尼人工智能机构)
本研究评估了GPT-4和CodeLlama在生成和验证软件需求规格说明(SRS)中的表现,发现LLM能匹配初级工程师的输出质量并显著节省开发时间,从而提高生产力。
2024-04-27 cs.AI cs.SE
DeNovoSWE: Scaling Long-Horizon Environments for Generating Entire Repositories from Scratch
Gaoling School of Artificial Intelligence, Renmin University of China(中国人民大学高瓴人工智能学院);Independent Researcher(独立研究者)
提出DeNovoSWE数据集,通过沙盒代理工作流自动构建4818个从文档生成完整仓库的实例,采用分治与批评修复策略及难度感知轨迹过滤,微调Qwen3-30B-A3B将BeyondSWE-Doc2Repo基准得分从5.8%提升至47.2%。
2026-06-17 cs.SE
Are Coding Agents Generating Over-Mocked Tests? An Empirical Study
UFMG(米纳斯吉拉斯联邦大学);Univ. Bordeaux, CNRS, Bordeaux INP, LaBRI(波尔多大学、法国国家科学研究中心、波尔多国立高等电子与计算机学院、拉布里实验室)
本文研究了编码代理生成测试中模拟的使用情况,发现代理更倾向于修改测试并添加模拟,同时指出模拟测试可能更容易自动生成但验证效果较弱。
2026-01-30 cs.SE
Towards a Common Testing Terminology for Software Engineering and Data Science Experts
Fraunhofer Institute for Experimental Software Engineering IESE(弗劳恩霍夫实验软件工程研究所);Algorithm Accountability Lab, TU Kaiserslautern(凯泽斯劳滕工业大学算法问责实验室)
分析质量保证,特别是测试,是软件密集型系统开发的一个组成部分。随着人工智能(AI)和机器学习(ML)作为此类系统的一部分的使用越来越多,这变得更加困难,因为众所周知的软件测试方法无法直接应用于系统的AI支持部分。经典测试方法的必要调整和人工智能新概念的开发将受益于人工智能和软件工程专家之间更深入的理解和交流。我们认为,两个社区使用的不同术语是这方面的主要障碍。由于我们认为测试术语的相互理解是一个关键,本文贡献了经典软件测试和人工智能测试的最重要的概念之间的映射。在映射中,我们突出了映射概念的相关性和命名方面的差异。
2021-10-06 cs.AI cs.LG cs.SE
Generating Accurate Assert Statements for Unit Test Cases using Pretrained Transformers
Microsoft(微软)
单元测试代表了软件测试金字塔的基础,位于集成和端到端测试之下。自动化软件测试的研究人员已经提出了各种各样的技术来帮助开发人员完成这项耗时的任务。在本文中,我们提出了一种方法来支持开发人员编写单元测试的情况下,生成准确和有用的断言语句。我们的方法是基于一个国家的最先进的Transformer模型,最初预训练的英语文本语料库。这个语义丰富的模型然后以半监督的方式在大型源代码语料库上进行训练。最后,我们在为单元测试生成断言语句的任务上微调这个模型。生成的模型能够为给定的测试方法生成准确的断言语句。在我们的实证评估中,该模型能够在第一次尝试中预测开发人员在62%的情况下编写的确切断言语句。结果显示,与文献中先前基于RNN的方法相比,top-1准确度相对提高了80%。我们还展示了预训练过程对模型性能的实质性影响,并将其与断言自动完成任务进行了比较。最后,我们展示了我们的方法可以用来增强EvoSuite测试用例,额外的断言导致提高测试覆盖率。
2020-09-11 cs.LG cs.SE
Scientific Open-Source Software Is Less Likely to Become Abandoned Than One Might Think! Lessons from Curating a Catalog of Maintained Scientific Software
本研究利用大型语言模型策划超1.8万个科学软件项目,通过生存分析发现科学软件寿命长于非科学软件,基础设施层次、下游依赖等因素延长寿命,为科学软件维护提供见解。
2025-04-26 cs.CE cs.SE
scenoRITA: Generating Less-Redundant, Safety-Critical and Motion Sickness-Inducing Scenarios for Autonomous Vehicles
全球对自动驾驶汽车(AV)的研究、开发和部署有着巨大的热情,例如,Waymo和百度的自动驾驶出租车和卡车。目前测试自动驾驶汽车的做法是使用虚拟测试,即在软件模拟中测试自动驾驶汽车,因为与现场操作测试相比,它们提供了一种更有效、更安全的替代方案。具体而言,基于搜索的方法用于查找特别关键的情况。这些方法为自动生成测试提供了机会;然而,系统地为AV软件创建有效和有效的测试仍然是一个重大挑战。为了应对这一挑战,我们引入了scenoRITA,一种用于AV的测试生成方法,该方法使用进化算法(1)一种新的基因表示,允许障碍物完全可变,因此,导致更多的违规报告,(2)5个测试神谕,以确定安全性和运动病诱导违规,以及(3)一种新的技术,以识别和消除重复测试。我们的广泛评估表明,scenoRITA可以生成有效的驾驶场景,使自我汽车暴露在安全危急情况下。scenoRITA生成的测试总共导致了1,026个独特的违规,与随机测试生成和最先进的部分可变测试生成相比,报告的违规数量分别增加了23.47%和24.21%。
2021-12-17 cs.SE
How Do AI Coding Agents Contribute to Software Development? an Empirical Study of Agentic Pull Requests
Polytechnique Montréal(蒙特利尔大学)
研究人工智能编码代理对软件开发的贡献,通过AIDev数据集,分析代理与人工生成PR的合并率差异、任务分布及关键特征,从实证和纵向角度理解其在软件开发中的作用、优点及局限性。
2026-07-27 cs.LG cs.SE
Knowledge-Guided Multi-Agent Framework for Application-Level Software Code Generation
本文提出知识引导的多智能体框架KGACG,通过代码组织、编码与测试智能体的闭环协作,将需求规格和架构设计转化为可执行代码,提升应用级软件生成的自动化水平。
2025-10-22 cs.SE
Temporal Discounting in Software Engineering: A Replication Study
背景资料:软件工程实践中的许多决策都是跨期的选择:在具有潜在短期利益的较近选项和具有潜在长期利益的未来选项之间进行时间上的权衡。然而,软件专业人员如何进行跨期决策还没有得到很好的理解。目的:本文探讨了如何转移的时间框架影响偏好在软件项目中有目的地选择的背景因素。方法:我们通过复制一项基于时间的观察性研究来调查时间折扣。复制使用一个改变人口和实验者的设计,以增加内部和外部的有效性的原始结果。结果如下:本研究的结果证实了时间折扣的发生在来自不同国家的专业和学生参与者的样本,并表现出很强的差异,研究参与者之间的折扣。我们发现,专业经验影响贴现。具有更广泛的专业经验的参与者比那些具有更窄经验的参与者表现出更少的折扣。结论:研究结果为时间折扣在SE中的相关性和重要性以及有针对性的跨学科研究的紧迫性提供了强有力的实证支持,以探索潜在的机制及其理论和实践意义。研究结果表明,技术债务管理可以通过增加经验的广度来改善,这些经验可用于具有长期影响的关键决策。此外,本研究提供了一个方法论基础复制时间折扣研究在软件工程。
2019-06-26 cs.SE
Assessing requirements engineering and software test alignment -- Five case studies
本文提出REST-bench评估工具,基于REST对齐分类法并通过五家公司的技术行动研究验证,可识别需求工程与软件测试协调中的改进机会。
2023-08-15 cs.SE
RealBench: A Repo-Level Code Generation Benchmark Aligned with Real-World Software Development Practices
Wuhan University(武汉大学);Peking University(北京大学);Nanyang Technological University(南洋理工大学)
RealBench通过结合自然语言需求和UML图,评估LLM在结构化设计下的代码生成能力,揭示了LLM在仓库级代码生成中的性能差距和优化策略。
2026-07-03 cs.SE
Experiences from Using Code Explanations Generated by Large Language Models in a Web Software Development E-Book
自然语言处理的进步已经产生了大语言模型(LLM),其能够生成可理解且合理的书面文本。这些模型的最新版本,如OpenAI Codex和GPT-3,可以生成代码和代码解释。然而,目前还不清楚学生是否以及如何参与这些解释。在本文中,我们报告了我们的经验,使用LLM生成多种代码解释类型,并将它们集成到一个交互式的电子书上的Web软件开发。我们修改了电子书,使LLM生成的代码解释可以通过材料中代码片段旁边的按钮访问,这使我们能够跟踪解释的使用情况,并要求对其实用性提供反馈。对于每个可解释的代码片段,学生可以使用三种不同类型的解释;逐行解释,重要概念列表和代码的高级摘要。我们的初步研究结果表明,所有品种的解释被学生和大多数的学生认为代码解释对他们有帮助。然而,学生的参与度似乎因代码段复杂性、解释类型和代码段长度而异。借鉴我们的经验,我们讨论了未来的方向整合LLM产生的解释到现有的计算机科学教室。
2022-11-04 cs.HC cs.SE
Advanced Techniques for Scientific Programming and Collaborative Development of Open Source Software Packages at the International Centre for Theoretical Physics (ICTP)
大量的计算科学研究项目利用开放源码软件包。然而,这些工具的开发过程往往不同于传统的软件开发;部分原因是研究的性质,其中所解决的问题并不总是完全理解;部分原因是大多数开发往往是由经验有限的科学家进行的,他们接触到软件工程的最佳实践。通常,软件开发受到发表科学成果的压力,相比之下,软件开发的信誉有限。由于缺乏资源和合格的专家,软件工程的基本组成部分,如模块化和可重用的设计,验证,文档和软件集成以及有效的维护和用户支持往往被忽视。因此,创新的发展往往是阻碍陡峭的学习曲线,需要掌握开发遗留软件包充满了特设的解决方案。然而,研究工作日益复杂,需要适当和可维护的计算工具,导致潜在用户(数量往往不断增加)与开发这套软件的贡献者之间的差距不断扩大。在本文中,我们分享我们的经验,旨在通过培训,特别是年轻的科学家,通过传播我们自己的经验,有助于开源软件包和实践的软件工程的关键组成部分,适合科学家和科学软件开发,以改善这种情况。具体来说,我们总结了先进技术的科学编程和合作开发的开源软件包在2013年3月在阿卜杜勒·萨拉姆国际理论物理中心运行的研讨会的成果,并讨论我们的结论,为今后的努力。
2013-09-06 cs.MS cs.SE
Generating Energy-Efficient Code via Large-Language Models -- Where are we now?
Vrije Universiteit Amsterdam(阿姆斯特丹自由大学);Federal University of Technology of Paraná (UTFPR)(巴西南里尔联邦技术大学);IIIT Hyderabad(海得拉巴国家理工学院)
本研究实证评估6个LLM与4种提示技术在3个硬件平台上生成Python代码的能效,发现LLM生成的代码均未超越绿色软件专家的能效水平,凸显开发节能代码仍需人类专业知识。
2025-09-12 cs.AI cs.SE
Formal Evidence Generation for Assurance Cases for Robotic Software Models
University of York(约克大学)
本文提出一种基于模型的形式验证方法,用于生成机器人软件模型的保证案例证据,通过整合形式验证工具和自动化转换需求为形式断言,提高安全性证明的效率和一致性。
2026-11-03 cs.FL cs.LO cs.RO
Software-Defined Vehicle Ecosystems in Transformation -- A Systematic Literature Review
University of Oulu(奥卢大学)
本文通过系统文献综述探讨软件定义车辆生态系统的发展,分析其协作结构、利益相关者角色及挑战,提出多层级生态系统模型,指出技术研究不足,需加强治理与协作商业模式研究。
2026-02-24 cs.ET cs.SE