Pair Programming Practiced in Hybrid Work
本研究通过对挪威金融科技公司敏捷团队的单案例调查,分析混合办公下现场、远程与混合结对编程的实践差异,发现混合模式最不具优势,并强调适配个人偏好。
2023-07-13 cs.SE
Experimentation Practices in Indie Game Startups
Lund University(隆德大学);Aalto University(阿尔托大学)
针对独立游戏初创公司在资源有限下开发游戏的挑战,通过访谈10位开发者,提出持续实验框架,并给出发布前阶段的实验实践建议。
2026-10-06 cs.SE
Integrating Pair Programming as a Work Practice
本研究通过单案例探索影响结对编程(PP)采用与长期参与的多重因素,发现长期参与需在亲身体验中确认预期收益,并建议结合集体学习将实践调整为适应各团队,为软件从业者整合PP提供指导。
2025-06-24 cs.SE
Integrating Software Engineering Key Practices into an OOP Massive In-Classroom Course: an Experience Report
计算机科学课程中的编程和软件工程课程通常侧重于提供程序设计语言和最佳实践的理论知识,并培养实际的开发技能。在一个大规模的课程-几百名学生-教师无法充分注意到实际的一部分,因此,过程自动化和激励学生必须用来驱动学生在正确的方向。我们的目标是设计一个能够支持大规模课程的自动编程作业基础设施。基础设施应鼓励学生应用关键的软件工程(SE)实践-自动化测试,配置管理和集成开发环境(IDE)-并获得使用相应工具的基本技能。我们选择了几个被广泛采用的开发工具来支持关键的软件工程实践,并将它们映射到我们的考试作业管理过程中的基本活动。这份经验报告描述了过去一学年的结果。我们建造的基础设施已经使用了一个完整的学年,并支持了四次考试,总共有一千多名学生。学生的满意度普遍较高。
2018-04-05 cs.SE
From Collaboration to Solitude and Back: Remote Pair Programming during COVID-19
随着敏捷软件开发的日益普及,软件工作变得比以往任何时候都更加社会化。当代软件团队依赖于各种协作实践,如结对编程,我们的研究主题。许多敏捷人员提倡在共享工作空间中使用搭配、面对面互动和物理人工制品的重要性,但新冠肺炎疫情使这些都无法实现;世界各地的大多数软件公司被迫派工程师在家工作。随着软件项目和团队在一夜之间变成分布式协作,我们质疑在家工作模式下的结对编程实践发生了什么。本文报告了一个纵向研究的远程结对编程在两个公司。我们对来自挪威、瑞典和美国的30名工程师进行了38次访谈,并使用了一家案例公司的调查结果。我们的研究是独一无二的,因为我们在2020年4月/5月、2020年9月/10月和2021年1月/2月纵向收集了数据。我们发现结对编程已经减少,一些受访者报告说几乎整整一年都没有结对。配对者的体验各不相同,从使用特殊工具主动共同编辑代码,到通过共享屏幕被动共同阅读和讨论代码和解决方案。最后,我们发现,从强制在家工作的最初几个月到2021年初,对PP的兴趣和使用随着时间的推移而增加,这也是一种社会实践。
2021-05-12 cs.SE
Decomposing the Doer Effect in Programming Practice: Code Writing Stands Out Among Active Practice
University of Pittsburgh(匹兹堡大学);Carnegie Mellon University(卡内基梅隆大学);Universidad Diego Portales(迭戈波塔莱斯大学)
该研究探讨执行者效应是否适用于计算机科学教学,分析334名学生的日志数据发现主动实践学习成果是被动活动的3.2倍,其中代码编写对成绩提升的关联度最强。
2026-08-04 cs.HC cs.SE
Unlimited Practice Opportunities: Automated Generation of Comprehensive, Personalized Programming Tasks
本文提出并评估了Tutor Kai系统的新功能,通过自动生成包含问题描述、代码骨架、单元测试和模型解决方案的个性化编程任务,结合专家评级与学生研究,验证了其任务质量及对学生学习的积极影响。
2025-03-12 cs.CY cs.HC cs.SE
Using Logs to support Programming Education
Instituto Federal de Educação, Ciência e Tecnologia do Amazonas(亚马孙联邦教育、科学与技术学院);Universidade Tecnológica Federal do Paraná(巴拉那联邦技术大学)
本研究通过收集学生实时编程日志,提供定量数据以分析学习过程,帮助教育者评估学生理解、识别常见问题并优化教学时间分配。
2026-05-11 cs.SE
Bayesian Network Based XP Process Modelling
基于贝叶斯网络的数学模型已被用于模拟极限编程软件开发过程。该模型能够预测每个XP版本的预期完成时间和预期缺陷率。因此,它可以用来确定任何XP项目的成功/失败。该模型考虑了三种XP实践的效果,即:结对编程,测试驱动开发和现场客户实践。该模型的预测验证了两个案例研究。结果表明,我们的模型的精度,特别是在预测项目完成时间。
2010-07-29 cs.SE
Exploring Code Comprehension in Scientific Programming: Preliminary Insights from Research Scientists
本研究通过调查57名不同学科的科研人员,探究科学编程中的代码理解现状,揭示了科研人员编程背景、代码可读性实践与挑战及工具使用趋势,为改进科学编程实践提供参考。
2025-01-17 cs.SE
How Researchers Use and Verify AI Coding Assistants: Tasks and Validation Practices in Scientific Programming
University of Michigan(密歇根大学);Sandia National Laboratories(桑迪亚国家实验室);University of Tennessee, Knoxville(田纳西大学诺克斯维尔分校)
本研究通过调查527名科研人员,发现AI编程助手主要用于数据处理等五类任务,验证方式以个人运行为主,且信心与经验相关,建议界面支持任务适配的评估。
2026-09-21 cs.HC cs.SE
Understanding Technology Use in Global Virtual Teams: Research Methodologies and Methods
背景:与软件开发和使用相关的活动的全球化在实践和研究中带来了许多挑战。虽然软件工程研究的主要方法遵循实证科学模型,但这种方法在解决具有主导社会或文化维度的问题时可能是次优的,例如在全球分布的团队环境中研究工作实践时经常遇到的问题。在本文中报道的这样一个团队的调查提供了一个例子,在全球范围内的另一种研究方法,通过纵向解释性的实地研究,试图了解全球虚拟团队如何介导的技术的使用。目标:我们在本文中的重点是在全球软件活动的背景下进行研究,特别是适用于全球虚拟团队的行动和互动。方法:我们描述了我们如何进行了大量的全球虚拟团队的实地研究,并强调如何通过结构化理论使我们能够有效地实现我们的目标。结果如下:我们认为,所采取的方法适合的研究背景下,在一个高度复杂的领域中,随着时间的推移,发生的情况下的做法,确保我们的结果都有很强的基础和相关的实践。它导致产生了实质性的理论和技术,这些理论和技术已在进一步的实地环境中进行了调整和试点应用。结论:我们的结论是,全球分布的团队合作提出了一个复杂的背景下,需要新的研究方法,超越了有限的一套通常适用于软件工程研究人员。我们提倡尝试不同的研究方法论和方法,以便我们有一个更全面的剧目,以解决全球软件开发研究中最重要和最相关的问题。(节录)
2021-01-29 cs.SE
Understanding Solidity Event Logging Practices in the Wild
本文针对现有Solidity事件日志实践研究空白,基于2915个GitHub热门项目开展定量研究,得出8项关键发现,开发的概念验证检查工具可检测额外耗gas的问题日志代码,为多方改进实践提供启发。
2023-08-24 cs.SE
Software Engineering Practice in the Development of Deep Learning Applications
深度学习(DL)应用程序已被广泛用于协助各种任务。它们是基于数据驱动的编程范式构建的,与传统的软件应用程序不同。鉴于深度学习应用程序的日益普及和重要性,软件工程从业者有一些专门针对它们的技术。然而,很少有研究来确定实践中的挑战和不足。为了填补这一空白,在本文中,我们调查了195从业者了解他们的见解和经验,在软件工程实践的DL应用程序。具体而言,我们要求受访者确定DL应用程序开发生存周期实践中的不足和挑战。结果提出了13个发现,为我们提供了一个更好的理解软件工程实践的DL应用程序。此外,我们将这些发现转化为7个可操作的建议,供软件工程研究人员和实践者改进深度学习应用程序的开发。
2019-10-08 cs.SE
Generative AI and the Transformation of Software Development Practices
Vivek Acharya(未知)
本文探讨了生成式AI和LLMs如何通过聊天导向、vibe coding及智能体编程等新风格重塑软件开发实践,分析了相关的信任与技能转变问题,并基于案例研究总结了应用中的机遇、挑战及最佳实践。
2025-10-12 cs.AI cs.SE
Accurate Programming: Thinking about programs in terms of properties
准确的编程是制作高质量节目的实用方法。它结合了测试自动化、测试驱动开发、敏捷编程和其他最先进的软件开发方法的思想。除了在实践中证明有效的方法的基础上,它还强调了一些概念,这些概念可以帮助程序员加深对他们正在解决的问题和他们提出的解决方案的理解。这是通过鼓励程序员根据属性来思考程序来实现的。
2011-09-05 cs.PL cs.SE
Experiments in Sustainable Software Practices for Future Architectures
在洛斯阿拉莫斯国家实验室重写大型物理代码以在众核、GPU和英特尔MIC等新架构上表现良好的过程中,我们发现了一些可持续软件实践可以提供显著优势的领域。我们描述了未来架构的可持续实践的几个具体优势,并在LANL的两个小实验项目,旨在提高认识的新的软件实践和编程方法的新架构的报告。
2013-09-05 cs.DC cs.SE
Microservices: a Language-based Approach
微服务是一种新兴的开发范式,其中软件是通过组成自治实体(称为(微)服务)来获得的。然而,微服务系统目前是使用通用程序设计语言开发的,这些通用编程语言没有为服务组合提供专用的抽象。相反,目前的实践集中在微服务的部署方面,特别是通过使用容器化。在本章中,我们提出了一种基于语言的微服务架构工程方法,我们认为这是对当前实践的补充。我们一般地讨论这种方法,然后用Jolie程序设计语言实例化它。
2017-04-26 cs.PL cs.SE
Processing/p5 Defined through Practice and Learning
Processing Foundation(Processing基金会);State University of New York at Purchase(纽约州立大学帕切斯学院)
本文通过对JavaScript、Lua中Processing/p5实现的案例研究,提出了跨语言的Processing/p5软件决策指导维度,为创意编码工具的开发提供了框架与方向。
2026-08-28 cs.HC cs.SE
A Large-Scale Survey on the Usability of AI Programming Assistants: Successes and Challenges
Carnegie Mellon University(卡内基梅隆大学)
本文通过对410名开发者的调查,揭示了AI编程助手在减少按键、加速任务完成和语法回忆方面的成功,以及其在满足功能需求和控制生成输出方面的可用性挑战,并为设计低认知负担的交互提供了启示。
2023-09-17 cs.AI cs.HC cs.SE
C*: Unifying Programming and Verification in C
本文提出C*,一种通过符号执行引擎和LCF风格证明内核扩展C语言的证明集成设计,统一了编程与验证环境,支持实时验证并有效处理了真实场景中的复杂推理任务。
2025-04-03 cs.PL cs.SE
Estimating Difficulty Levels of Programming Problems with Pre-trained Model
East China Normal University(华东师范大学)
本文提出融合文本与代码双模态预训练模型,自动估计编程题难度,并在两个POJ数据集上验证了其有效性。
2024-06-13 cs.AI cs.SE
An Empirical Evaluation of Flow Based Programming in the Machine Learning Deployment Context
University of Cambridge(剑桥大学)
随着数据驱动技术的普及,软件工程师经常面临使用数据驱动方法(如机器学习(ML)算法)解决业务问题的任务。在大型软件系统中部署ML带来了标准工程实践无法解决的新挑战,因此企业观察到ML部署项目失败率很高。面向数据的架构(DOA)是一种新兴的方法,可以支持数据科学家和软件开发人员应对这些挑战。然而,在实践中如何实现DOA系统缺乏明确性。本文提出了考虑流为基础的编程(FBP)作为一个范例,用于创建DOA应用程序。我们在代表典型数据科学项目的四个应用程序的ML部署背景下对FBP进行了经验评估。我们使用面向服务的体系结构(SOA)作为比较的基准。针对不同的应用程序域、ML部署阶段和代码质量指标进行评估。结果表明,FBP是一个合适的范例数据汇集和数据科学任务,并能够简化数据汇集和发现相比,SOA。我们讨论了FBP的优点,以及需要解决的差距,以增加FBP通过作为DOA的标准设计范例。
2022-04-27 cs.LG cs.SE
Designing for Self-Regulation in Informal Programming Learning: Insights from a Storytelling-Centric Approach
Open Lab(开放实验室);Newcastle University(新castle大学)
针对非正式编程学习者自我调节困难的问题,研究开发了融合网页平台与浏览器扩展的系统,以故事讲述为核心整合资源整理与反思,经15名用户测试验证了其作为自我调节辅助工具的可行性,为相关AI工具设计提供参考。
2025-07-30 cs.AI cs.CY cs.HC