Engineering Human Values in Software through Value Programming
在软件开发中忽视人的价值观可能会违背用户的价值观,并在软件中引入偏见,从而使用户处于不利地位。这可以通过告知开发人员他们的选择的价值含义并主动考虑软件中的人类价值来缓解。为此,我们提出了价值编程的概念,它有三个原则:(P1)注释源代码和相关的工件;(P2)检查源代码以检测导致软件中的偏差和价值违背的条件,即,(P3)提出建议,以减轻偏见和价值违规。为了促进价值编程,我们提出了一个框架,允许自动注释的软件代码相对于人类的价值观。所提出的框架为检查代码中的人类价值并提出建议以克服软件中的偏见和价值违规奠定了坚实的基础。
2020-03-10 cs.SE
Software Engineering for Quantum Programming: How Far Are We?
量子计算不再仅仅是一种科学兴趣,而是正在迅速成为一种工业上可用的技术,可以克服经典计算的限制。在过去的几年里,所有主要的公司都提供了框架和程序设计语言,允许开发人员创建他们的量子应用程序。这种转变导致了一个新学科的定义,称为量子软件工程,这是需要定义新的方法,工程大规模量子应用。虽然研究界成功地接受了这一呼吁,但我们注意到缺乏对量子编程实践状况的系统调查。了解量子开发人员面临的挑战对于精确定义量子软件工程的目标至关重要。因此,在本文中,我们首先挖掘所有使用目前市场上最常用的量子编程框架的GitHub存储库,然后进行编码分析会话,以生成量子技术使用目的的分类。其次,我们进行了一项调查研究,涉及所考虑的存储库的贡献者,旨在征求开发人员对量子编程当前采用和挑战的意见。一方面,研究结果凸显出目前量子编程的采用仍然有限。另一方面,软件工程社区应该仔细考虑许多挑战:这些挑战不仅与技术问题有关,而且与社会技术问题有关。
2022-04-11 cs.ET cs.SE
Three Controlled Experiments in Software Engineering with the Two-Tier Programming Toolkit: Final Report
三个控制实验测试的好处,Java程序员获得使用两层编程工具包最近已经结束。第一个实验提供了统计学上显著的证据(p值:0.02),程序员谁进行了最低限度的(1小时)培训,在使用当前的原型表现出76%的生产力提高在软件开发和维护的关键任务。第二个实验表明,使用TTP工具包可能(p值:0.10),程序员执行与软件质量相关的任务的准确性几乎提高了三倍。第三个实验表明,TTP工具包在执行非常短的时间(10分钟以下)时没有提供显着的生产率提高。任务
2010-09-01 cs.SE
Vibe Coding Ate My Homework: An evaluation of AI approaches to greenfield software engineering and programming
OpenAI
本文评估了“氛围编码”(用自然语言提示编程)在全新软件工程任务中的可行性,并分析了现有基准,通过开发 Python 简单独立编程任务评估套件提供见解。
2026-07-02 cs.AI cs.SE
Jas: AI-Paired Engineering as a Revival of N-Version Programming
Independent(独立)
本研究通过单开发者跨平台移植矢量图应用的案例,提出AI配对工程方法,结合精确YAML规范与并行实现作为差分测试层,使传统需多人年的工作变得可行,并视其为N版本编程的复兴。
2026-06-05 cs.AI cs.SE
Identifying Talented Software Engineering Students through Data-driven Skill Assessment
对于软件开发公司来说,最重要的目标之一是识别和获得有才华的软件工程师,以保持一支能够生产有竞争力产品的熟练团队。传统的发掘年轻软件工程师人才的途径主要是通过各种形式的程序设计竞赛,主要是测试参与者的程序设计技能。然而,成功的软件工程在实践中需要更广泛的技能,从团队成员,包括分析,设计,编程,测试,沟通,协作和自我管理等,在本文中,我们探讨潜在的方法来识别人才软件工程学生在数据驱动的方式,通过敏捷项目管理(APM)平台。通过我们提出的HASE在线APM工具,我们在2014年进行了一项研究,涉及21个由100多名本科软件工程学生组成的STEM团队,他们参加了为期数周的课程项目。在这项研究中,学生们进行了超过10,000个由HASE记录的ASD活动。我们展示了这一新的研究方向的可能性和潜力,并讨论了其对软件工程教育和行业招聘的影响。
2014-11-23 cs.SE
Model-Driven Engineering for Quantum Programming: A Case Study on Ground State Energy Calculation
本研究提出基于模型驱动工程的新框架,结合基于门的量子计算与量子退火方法,开发了程序自动转换映射机制,应用于变分量子本征求解器算法求解基态能量,证明了该框架的实用可行性。
2024-05-27 cs.PL cs.SE quant-ph
Innovative Approaches to Teaching Quantum Computer Programming and Quantum Software Engineering
本文提出芬兰和西班牙大学讲师开发的量子计算教学创新策略,整合Docker、Qiskit、PennyLane和Ocean SDK等工具,通过从量子力学基础到动手实验的课程设计,解决量子编程教学难题。
2024-12-29 cs.SE physics.ed-ph quant-ph
Spreadsheet Engineering: A Research Framework
本文提出电子表格工程研究框架,借鉴软件工程经验并总结八项原则,以应对电子表格在建模、用户差异及最佳实践部署等方面的独特挑战。
2007-11-04 cs.SE
Exploring Gender Bias in Remote Pair Programming among Software Engineering Students: The twincode Original Study and First External Replication
上下文软件工程(SE)由于性别偏见,男性更擅长编程,女性代表性较低。结对编程(PP)在行业中很常见,可以增加学生对SE的兴趣,特别是女性;但如果性别偏见影响PP,它可能会阻止女性加入该领域。Objective.我们探讨PP中的性别偏见。在一个远程设置,学生不能看到他们的同龄人的性别,我们研究如何感知生产力,技术能力和协作/互动行为的SE学生不同的感知性别的远程合作伙伴。法我们开发了一个在线PP平台(twincode),带有协作编辑窗口和聊天窗格。对照组没有关于他们的伴侣的性别信息,而治疗组看到的性别化身是男性或女性。化身性别在任务之间交换,以分析45个变量,包括塞维利亚大学原始研究中的46对协作编码行为,聊天话语和问卷回答,以及加州大学伯克利分校复制的23对。结果性别偏见处理或感知伴侣性别与受试者性别之间的交互作用对原始研究中的任何变量都没有显著影响。在重复实验中,实验组内的四个变量在中等到大的尺寸上有显着的效果,比较对象是男性和女性时的行为。
2023-03-10 cs.SE
JavaBERT: Training a transformer-based model for the Java programming language
Kiel University(基尔大学)
在开发新的软件代码时,代码质量是并将是一个关键因素,需要适当的工具来确保代码的功能和可靠性。机器学习技术仍然很少用于软件工程工具,错过了其应用的潜在好处。自然语言处理已经显示出处理关于各种任务的文本数据的潜力。我们认为,这样的模型也可以显示类似的好处,软件代码处理。在本文中,我们研究了如何用于自然语言处理的模型可以在软件代码上进行训练。我们介绍了一个数据检索管道的软件代码和训练模型上的Java软件代码。由此产生的模型,JavaBERT,显示了高精度的掩蔽语言建模任务显示其潜在的软件工程工具。
2021-10-20 cs.LG cs.SE
GitSEED: A Git-backed Automated Assessment Tool for Software Engineering and Programming Education
针对编程课程人数多、现有自动化评估工具难定制、语言支持有限的问题,本文提出GitLab支撑的语言无关评估工具GitSEED,助力学生学习git与编程,支持教师定制反馈,实验证实其与学生参与度正相关。
2024-09-11 cs.CY cs.SE
Scaling Genetic Programming for Source Code Modification
在基于搜索的软件工程中,遗传编程已被用于通过修改源代码来修复错误、提高性能和并行化程序。在将诸如遗传编程的演化计算算法应用于类似的代码操纵任务的情况下,真实世界软件的源代码的复杂性和大小造成了可扩展性问题。为了解决这个问题,我们打算检查如何软件工程的概念模块化,粒度和本地化的变化可以重新制定为额外的机制内的遗传编程算法。
2012-11-21 cs.NE 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
Programming the Universe: The First Commandment of Software Engineering for all Varieties of Information Systems
自从计算机和程序出现以来,软件开发的过程和结果一直是一个充满问题和失败的雷区,因为软件及其开发的复杂性和复杂性在半个世纪内增加了一千倍。多年来,出现了一些理论、法律、最佳做法、宣言和方法,取得了不同程度的成功。我们作为软件工程师处理复杂和大规模系统的经验表明,这些指导方针局限于以前定义的范围,而且往往是狭窄的范围。够了如今,几乎每家公司都在从事软件和服务业务,一切都是软件或由软件管理。那么,是时候重新定义支配我们宇宙的定律了。在这种情况下,我们讨论并提出了一套普遍的法律,使我们提出的第一诫软件工程的所有品种的信息系统。
2020-07-16 cs.SE
A Formal Approach to the Engineering of Domain-Specific Distributed Systems
我们回顾了一些结果规范,编程和验证的不同类别的分布式系统的并发性和流动性组在佛罗伦萨大学的研究源于。更具体地说,我们研究网络感知编程,面向服务的计算,自主计算和集体自适应系统编程的显着特点。然后,我们提出了四种不同的语言,即Klaim,奶牛,Scel和AbC的概述。对于每一种语言,我们讨论了设计选择,目前的语法和语义,显示如何不同的形式主义可以用来建模和编程的旅行预订方案,并描述编程环境和验证技术。
2019-12-03 cs.FL cs.LO cs.PL
Agentic AI Software Engineers: Programming with Trust
National University of Singapore(新加坡国立大学);Carnegie Mellon University, KBR Inc., NASA Ames(卡内基梅隆大学、KBR公司、NASA阿姆斯特朗实验室);CISPA Helmholtz Center for Information Security, University of Stuttgart(CISPA海姆霍兹信息安全中心、斯图加特大学);Columbia University(哥伦比亚大学)
本文探讨了LLM智能体在软件工程中的应用前景,提出成功部署AI软件工程师需要建立不低于人类实践水平的信任,并主张编程重心应从规模化转向以信任为核心。
2025-09-21 cs.AI cs.SE
Making Lab Sessions Mandatory -- On Student Work Distribution in a Gamified Project Course on Market-Driven Software Engineering
学生团队工作分配不公平是项目学习中的一个常见问题。一个促成因素是学生是不同技能的开发人员。在工程和业务方面相互交织的小组工作课程中,我们设计了一种干预措施来帮助新手程序员,即,我们引入了强制性的编程实验课。然而,干预措施并没有影响工作分配,这表明需要做更多的工作来平衡工作量。与我们的目标相反,这种干预在有经验的学生中非常受欢迎,但在编程能力差的学生中不受欢迎。
2020-05-27 cs.SE
Integrating Software Engineering Key Practices into an OOP Massive In-Classroom Course: an Experience Report
计算机科学课程中的编程和软件工程课程通常侧重于提供程序设计语言和最佳实践的理论知识,并培养实际的开发技能。在一个大规模的课程-几百名学生-教师无法充分注意到实际的一部分,因此,过程自动化和激励学生必须用来驱动学生在正确的方向。我们的目标是设计一个能够支持大规模课程的自动编程作业基础设施。基础设施应鼓励学生应用关键的软件工程(SE)实践-自动化测试,配置管理和集成开发环境(IDE)-并获得使用相应工具的基本技能。我们选择了几个被广泛采用的开发工具来支持关键的软件工程实践,并将它们映射到我们的考试作业管理过程中的基本活动。这份经验报告描述了过去一学年的结果。我们建造的基础设施已经使用了一个完整的学年,并支持了四次考试,总共有一千多名学生。学生的满意度普遍较高。
2018-04-05 cs.SE
Prompt Less, Smile More: Semantic Engineering in Lieu of Prompt Engineering
University of Michigan(密歇根大学);Jaseci Labs(Jaseci实验室)
通过语义工程替代提示工程,提升AI集成编程中提示的准确性与开发者效率。
2026-11-03 cs.AI cs.SE
Towards Modal Software Engineering
在本文中,我们介绍了模态软件工程的概念:自动把顺序,确定性的程序到语义等价的程序有效地操作输入来自多个重叠的世界。我们正在模态逻辑和软件应用程序领域之间进行类比,其中需要有效地处理多组输入(多个世界)。通常,这些集合高度重叠,因此单独处理它们将涉及大量冗余,导致性能降低,并且在许多情况下难以处理。三个应用领域:推理基于特征的可变性的软件产品线(SPLs),概率规划和近似规划。
2021-02-12 cs.PL cs.SE
DARVIZ: Deep Abstract Representation, Visualization, and Verification of Deep Learning Models
传统的软件工程编程范式大多是面向对象或过程的,由确定性算法驱动。随着深度学习和认知科学的出现,数据驱动编程的趋势正在出现,这在软件工程社区中创造了编程范式的转变。可视化和解释当前大规模数据驱动的软件开发的执行是具有挑战性的。此外,对于深度学习开发,有许多库采用多种程序设计语言,如TensorFlow(Python)、CAFFE(C++)、Theano(Python)、Torch(Lua)和Deeplearning4j(Java),这推动了对跨库互操作性的巨大需求。
2017-08-16 cs.SE
Towards Causal Analysis of Empirical Software Engineering Data: The Impact of Programming Languages on Coding Competitions
本文提出基于结构因果模型分析软件工程观测数据的方法,并以 Google Code Jam 数据评估编程语言对竞赛成绩的因果影响,证明因果分析比纯预测建模更稳健。
2023-09-01 cs.SE
JS-son -- A Lean, Extensible JavaScript Agent Programming Library
Umeå University(于默奥大学)
存在大量面向Agent的软件工程框架,其中大多数是由学术界的多Agent系统社区开发的。然而,这些框架经常将编程范式强加给用户,这对于习惯于现代高级程序设计语言(如JavaScript和Python)的工程师来说是一个挑战。为了展示如何通过面向代理的编程的软件工程主流可以促进,我们提供了一个精益的JavaScript库原型实现推理循环代理。该库专注于核心代理编程概念,避免对编程方法施加进一步的限制。为了说明它的有用性,我们展示了该库如何应用于网络上的多代理系统模拟,部署到云托管的功能即服务环境,并嵌入到基于Python的数据科学工具中。
2020-03-10 cs.AI cs.MA cs.SE
Spreadsheets Grow Up: Three Spreadsheet Engineering Methodologies for Large Financial Planning Models
许多大型财务规划模型都是用电子表格程序设计语言(通常是Microsoft Excel)编写的,并部署为电子表格应用程序。三个组织:FAST Alliance、Operis Group和BPM Analytics(名称为“电子表格标准审查委员会”)已独立颁布了有效构建此类模型的标准化流程。这些电子表格工程方法为设计、施工过程和质量控制提供了详细的指导。我们总结和比较这些方法。他们共享许多设计实践,以及标准化的机械程序来构建电子表格。我们了解到,一本书面的书或标准文档本身不足以理解一种方法。这些方法代表了电子表格编程的专业化,并且可以提供调试包含错误的电子表格的手段。我们发现可信的断言,这些电子表格工程方法提供了提高生产力,准确性和可维护性的大型财务规划模型
2010-08-24 cs.SE
Software Engineering Educational Experience in Building an Intelligent Tutoring System
针对计算机教育中编程入门与软件工程课程面临的师生比高、反馈不及时等挑战,本文介绍了一门新颖的SE课程,通过逐年构建并部署智能辅导系统(ITS),为学生提供自动化实时反馈,并总结了其架构、教学理念与经验。
2024-12-18 cs.CY cs.SE
Psychological Aspects of Pair Programming
本研究采用混合实验方法,探究结对编程中不同角色对高校学生内在动机的影响,得出7个相关心理学主题,证实领航-导航角色比同步编程更具趣味性,为人工智能结对研究提供支撑。
2023-06-12 cs.SE
Scaling the Management of Extreme Programming Projects
XP是一种面向代码的轻量级软件工程方法,只适合于开发依赖于模糊或快速变化的需求的软件的小型团队。由于非常面向代码,系统工程的学科将其称为增量系统更改的方法。在这篇文章中,我们讨论了如何在大型项目中扩展XP的概念的增强版本,分别与数百名软件工程师和程序员。前一个版本已经出现在[1]和[12]中。其基本思想是将“层级方法”(一种重组公司的管理原则)以及众所周知的适度原则应用于XP项目组织。我们展示了软件工程方法和公司重组过程之间的相似之处,并讨论了分层方法的要素如何提高XP。我们提供了如何通过使用适度技术将XP扩展到非常大的项目的指南,例如在电信行业和IT技术咨询公司中常见的项目。
2014-09-22 cs.SE
Nudging Students Toward Better Software Engineering Behaviors
大型本科计算机科学课程的学生体验越来越受到自动化系统的影响。机器人,或软件自动化的代理,对于有效地分级和生成反馈是有用的。目前CS教育中的自动化工作集中在支持教学任务上,但并没有解决学生由于不良行为(如拖延)而产生的问题。在本文中,我们探讨使用机器人,以改善软件工程的行为,学生使用开发人员推荐选择架构,一个框架,将行为科学的概念,建议,以改善程序员的行动。我们在class-bot中实现了这个框架,这是一个新颖的系统,旨在推动学生在编程作业时做出更好的选择。这项工作提出了一个初步的评价,将这个工具在一个介绍性的编程课程。我们的研究结果表明,类机器人有利于改善学生的开发行为,提高代码质量和生产力。
2021-03-17 cs.SE
Gender Bias in Remote Pair Programming among Software Engineering Students: The twincode Exploratory Study
上下文结对编程(PP)已被发现,以提高学生的兴趣计算机科学,特别是对妇女来说,因此似乎是一种方式,以帮助补救他们的代表性不足,这可能是部分动机的性别定型观念适用于软件工程师,假设男人比他们的女性同龄人表现更好。如果结对编程中存在同样的偏见,它可能会违背改善性别平衡的目标。Objective.在一个远程环境中,学生不能直接观察他们的同龄人,我们的目标是探索他们的行为是否不同时,他们的远程PP合作伙伴的感知性别的变化,搜索的差异(i)感知生产力相比,独奏编程;(ii)合作伙伴的感知技术能力相比,他们自己的;(iii)合作伙伴的感知技能水平;(iii)合作伙伴的感知技能水平。(iv)交互行为,如源代码添加、删除的频率等;以及(v)聊天窗口中对话消息的类型和相对频率。法使用twincode平台,在远程PP过程中自动测量几种行为,以及两份问卷和对聊天的语义标记。应进行一系列实验,以确定可能的性别偏见的影响(如有)。对照组不知道他们伴侣的性别,而治疗组会收到这样的信息,但会选择性地欺骗他们伴侣的性别。对于每个反应变量,我们将(i)比较控制组和实验组的两个配对任务之间的得分距离;然后,仅使用实验组的数据,我们将(ii)使用合作伙伴的感知性别作为受试者内变量比较分数;(iii)分析合作伙伴的感知性别和受试者性别之间的相互作用。
2021-10-05 cs.SE
Programming with Data: Test-Driven Data Engineering for Self-Improving LLMs from Raw Corpora
Zhejiang University(浙江大学);University of Chinese Academy of Sciences(中国科学院大学);Shanghai Artificial Intelligence Laboratory(上海人工智能实验室)
本文提出通过数据编程方法,将数据工程生命周期映射到软件开发生命周期,实现对大语言模型的可靠训练与改进,通过数据修复提升模型性能。
2026-04-27 cs.AI cs.SE
Blockchain Application Development Using Model-Driven Engineering and Low-Code Platforms: A Survey
如今,创建基于区块链的软件应用程序需要大量的技术知识,特别是在软件设计和编程方面。这被认为是在商业中采用这项技术并使其能够被更广泛的受众使用的主要障碍。作为一种解决方案,已经提出了无代码和低代码方法,这些方法只需要很少或不需要编程知识就可以创建完整的软件应用程序。在本文中,我们回顾了模型驱动工程学科的学术方法以及区块链的工业无代码和低代码开发平台。我们进一步提出了一个集成的无代码区块链环境的案例研究,以展示该领域的最新技术。基于所获得的见解,我们得出了未来开发专用于区块链领域的无代码和低代码方法的要求。
2022-04-07 cs.SE
A Human Centric Requirements Engineering Framework for Assessing Github Copilot Output
本研究针对GitHub Copilot,建立以人为中心的需求评估框架,通过聊天界面分析其交互、适应性及协作效果,为自动化编程中人类需求分析提供启示。
2025-08-05 cs.HC cs.SE
Engineering Systems for Data Analysis Using Interactive Structured Inductive Programming
Dept. of Computer Science \& Information Systems, BITS Pilani, Goa, India School of Computer Science \& Engineering, University of New South Wales, Australia
iProg通过交互式结构归纳编程工具,实现科学数据分祈系统的高效开发,提升性能与代码质量。
2026-03-08 cs.AI cs.SE
On Extracting Unit Tests from Interactive Programming Sessions
软件工程方法论建议开发人员应该捕获他们的努力,以确保程序在可重复和自动化的工件中正确运行,例如单元测试。然而,当从探索性测试到脚本测试的范围内观察开发人员活动时,我们发现许多工程活动都包括探索性测试的爆发。在本文中,我们建议利用这些探索性的测试突发自动提取脚本测试从这些会话的记录。为了做到这一点,我们窃听开发环境,这样我们就可以记录所有的程序输入,所有用户发出的函数调用,以及探索性测试会话的所有程序输出。然后,我们建议使用机器学习(即聚类)从这些记录中实时提取脚本测试用例。我们概述了两个早期原型,一个是静态的,一个是动态的。我们通过例子概述了这个想法如何融入编程的更大研究方向。
2012-12-08 cs.SE
Experimenting a New Programming Practice with LLMs
本研究开发了AISD原型,通过接收高级用户需求并生成用例、系统设计及实现,同时保持用户在循环中提供反馈,探索将软件工程简化为仅需求工程与系统测试的新实践。
2024-01-02 cs.SE
Leveraging Creativity as a Problem Solving Tool in Software Engineering
本文将认知心理学中的创造力研究成果引入软件工程,提出七个面向开发者的创造性问题解决主题及实践视角,论证创造力可像技术技能一样通过练习习得并提升。
2025-02-05 cs.SE
Investigating the Experience of Autistic Individuals in Software Engineering
本研究通过访谈和问卷调查分析了自闭症个体在软件工程活动中的体验,发现他们在逻辑思维、细节关注和编程超专注等方面具有显著优势,且偏好书面沟通、远程工作及与AI系统交互。
2025-11-04 cs.SE
Software engineering and the SP Theory of Intelligence
本文描述了一种新的方法,软件工程从“SP理论的智能”和它的实现“SP计算机模型”。尽管表面上看,它表明,在软件工程的许多关键思想有对应的SP系统的结构和工作。这种新的软件工程方法的潜在好处包括:软件开发的自动化或半自动化,在必要时支持SP系统的编程;允许程序员专注于“面向世界的”并行性,而不用担心并行性以加速处理;支持通过书面或口头自然语言对SP系统编程的长期目标;减少或消除“设计”和“实现”之间的区别;减少或消除编译或解释等操作;减少或消除对软件验证的需求;减少对软件验证的需求;程序和数据库之间没有正式的区别;大量减少数据文件类型和计算机语言数量的潜力;版本控制的好处;减少技术债务。
2018-08-05 cs.AI cs.SE
Mining Q&A Platforms for Empirical Evidence on Quantum Software Programming
本研究分析了Stack Exchange平台上6,935篇量子软件编程讨论帖,通过主题建模和定性分析识别出20个讨论主题、9个支持框架及四大核心挑战,为量子软件生态系统的未来研究、工具开发和教育提供了实证见解。
2025-03-07 cs.SE
BPjs --- a framework for modeling reactive systems using a scripting language and BP
我们描述了一个新的通用框架模型驱动的工程,基于行为编程的一些进展。我们开发的工具统一了到目前为止在行为编程中所做的几乎所有工作,在一组通用的接口下。它的架构支持可插入的事件选择策略,这可以使模型更加直观和紧凑。程序状态空间可以使用各种算法来遍历,例如DFS和A*。此外,程序状态以使得能够使用并行和分布式算法扫描状态空间的方式表示。使用此工具创建的可执行模型可以直接嵌入到Java应用程序中,从而实现模型优先的系统工程方法,最初创建并验证模型,然后逐渐围绕模型构建工作应用程序。模型本身由一组用JavaScript编写的小脚本组成(因此称为“BPjs”)。使用各种案例研究,本文展示了一个宽松的程序设计语言与正式的模型分析工具相结合,创造了一种有效的方式来开发强大的复杂系统。此外,正如我们从我们运行的实验课程中所了解到的,JavaScript的使用使从业者更容易使用这个系统,从而更容易使用模型检验和模型驱动工程。除了为行为编程中的开发和案例研究提供基础设施外,该工具还被设计为行为编程和模型驱动工程中的研究和创新的通用平台。
2018-06-03 cs.FL cs.PL cs.SE
The Ann Arbor Architecture for Agent-Oriented Programming
Ann Arbor Algorithms(安阿伯算法公司)
本文从自动机理论重审提示工程,提出 Ann Arbor 架构作为语言模型智能体编程的高层抽象,并据此设计 Postline 平台、开展初步训练实验。
2025-02-14 cs.AI cs.HC cs.SE
An Empirical Analysis of Task Allocation in Scrum-based Agile Programming
敏捷软件开发(ASD)方法已经在行业中得到了广泛的应用。了解软件工程学生所面临的挑战是很重要的设计有效的培训方法,使学生具备适当的技能,有效地使用ASD技术。现有的实证研究主要集中在基于极限编程(XP)的ASD方法。基于Scrum的ASD编程已经成为行业从业者中最流行的敏捷方法,但缺乏实证研究。在本文中,我们提出的经验研究结果方面的任务分配决策,合作,团队士气相关的SNOWASD过程尚未得到很好的研究,现有的研究。我们从2014年的一个为期12周的课程工作项目中得出了我们的发现,该项目涉及来自一所知名大学的125名本科软件工程学生,他们在21个软件团队中工作。而不是传统的调查或访谈为基础的方法,这受到规模和细节水平的限制,我们获得细粒度的数据,通过记录学生的活动在我们的在线敏捷项目管理(APM)平台- HASE。在这项研究中,该平台记录了超过10,000个ASD活动。偏离现有的先入之见,我们的研究结果表明,合作和团队绩效以及团队士气之间的负相关。
2014-11-23 cs.SE
Beyond C/C++: Probabilistic and LLM Methods for Next-Generation Software Reverse Engineering
本文提出将概率二进制分析与微调大语言模型相结合,以解决 Rust、Go、Mojo 等新语言二进制逆向工程中传统启发式方法失效和数据驱动方法易产生幻觉的问题,从而提升逆向分析的鲁棒性、准确性与可扩展性。
2025-06-04 cs.SE
Using Integer Constraint Solving in Reuse Based Requirements Engineering
本文研究产品线需求工程中的约束规约问题,提出用整数约束编程表达特征与属性约束,并通过原型工具和真实案例验证其可兼容并超越 FORE、OVM 等语言的表达能力。
2023-09-28 cs.SE
Quantum Software Engineering Challenges from Developers' Perspective: Mapping Research Challenges to the Proposed Workflow Model
针对量子软件开发进展缓慢、软件工程实践与量子编程特性不匹配的问题,本文通过将现有软件工程研究映射到量子计算工作流,明确了量子计算领域软件工程的研究方向。
2023-08-02 cs.SE quant-ph
AI for software engineering: from probable to provable
本文探讨了通过结合人工智能的创造性与形式化规范方法和验证技术,解决AI在编程中目标指定困难和幻觉现象的问题,提升程序正确性。
2026-04-22 cs.AI cs.SE
Explicit Programming Strategies
软件开发人员解决各种各样的问题。虽然软件工程的研究通常集中在支持这种问题解决的工具上,但开发人员用于解决问题的策略至少同样重要。在本文中,我们提供了一种新的方法,使开发人员遵循明确的编程策略,描述了专家如何处理一个常见的编程问题。我们定义明确的编程策略,接地我们的定义在以前的工作都在软件工程和其他专业,采用更明确的程序解决问题。然后,我们提出了一种新的符号称为Roboto和一种新的StrategyTracker工具,明确表示编程策略和框架执行策略之间的合作努力,人类的能力,使决策和计算机的能力,结构化的过程和持久的信息。在形成性评价中,28名不同专业知识的软件开发人员完成了一项设计任务和一项调试任务。我们发现,与自由选择策略的开发人员相比,开发人员给出的明确策略使他们的工作更具组织性,系统性和可预测性,但也更具约束性。使用显式策略的开发人员在设计和调试任务上客观上更成功。我们讨论了Roboto和这些发现的影响,设想了一个繁荣的生态系统的显式策略,加速和提高开发人员编程解决问题。
2019-11-06 cs.HC cs.SE
Multi-Docker-Eval: A `Shovel of the Gold Rush' Benchmark on Automatic Environment Building for Software Engineering
Multi-Docker-Eval基准通过评估自动环境构建的性能,揭示了当前模型在成功率、效率及影响因素上的关键发现,为构建全自动SWE流水线提供指导。
2025-12-12 cs.SE
Assessing Practitioner Beliefs about Software Engineering
软件工程是一门高度动态的学科。因此,随着时代的变化,我们对这一领域核心过程的信念也会发生变化。本文检查了过去几十年中产生的关于(i)开发人员生产力;(ii)软件质量和(iii)多年开发经验之间关系的五个信念。使用1995年至2006年期间从1,356名开发人员收集的数据,我们发现只有一个支持五个信念,题为“质量需要生产力”。我们没有发现其他四个基于程序设计语言和软件开发人员的信念的明确支持。然而,从其他四个信念的零星证据中,我们了解到,一个狭窄的范围可能会欺骗从业者,使他们误解某些影响,从而在日常工作中保持下去。最后,通过评估这五个信念的汇总视图,我们发现程序设计语言是开发人员生产力和软件质量的混杂因素。因此,这项工作的总体信息是,它是既重要又可能重新审视SE的旧信念。研究人员和实践者应该定期重新测试旧的信念。
2021-05-24 cs.SE
Natural Language-Oriented Programming (NLOP): Towards Democratizing Software Creation
Macquarie University(麦考瑞大学)
本文提出面向自然语言的编程(NLOP)愿景,通过让开发者用自然语言描述软件需求与逻辑来降低软件开发门槛,并论证自然语言将成为新的编程语言,从而推动软件工程领域的包容性与创新。
2024-06-08 cs.AI cs.PL cs.SE
Software Engineering User Study Recruitment on Prolific: An Experience Report
在线参与者招募平台,如Prolific,在研究中越来越受欢迎,因为它们使研究人员能够轻松访问大量的参与者。然而,参与者的质量可能是一个问题;参与者可能会提供不正确的信息以获得更多的研究,给结果增加不必要的噪音。本文详细介绍了我们从Prolific招募参与者进行Node.js编程技能用户研究的经验,旨在帮助其他研究人员进行类似的研究。我们探索了一种方法,招募程序员参与者使用预筛选验证,注意力检查和一系列的编程知识问题。我们收到了680份回复,并确定其中55份符合邀请参加我们用户研究的标准。我们最终通过视频通话与10名参与者进行了用户研究。最后,我们对研究人员提出了一系列建议。
2022-03-15 cs.HC cs.SE
Promptware Engineering: Software Engineering for Prompt-Enabled Systems
Tsinghua University(清华大学);Nanyang Technological University(南洋理工大学);Peking University(北京大学);King’s College London(伦敦国王学院)
本文提出提示软件工程,旨在通过软件工程原则系统化解决提示开发中的挑战,提升提示启用系统的发展。
2026-01-27 cs.SE
Engineering Students' Usage and Perceptions of GitHub Copilot in Open-Source Projects
University of Florida(佛罗里达大学)
研究探讨了工程学生在开源项目中使用GitHub Copilot的差异,分析了性别、编程能力及AI熟悉度对使用情况的影响,发现学生更倾向于使用聊天和代码生成功能。
2026-04-12 cs.SE