A Collaborative Filtering Recommender System for Test Case Prioritization in Web Applications
使用软件系统的相关度量可以改进各种软件工程任务,但是识别度量之间的关系并不简单,并且可能非常耗时。推荐系统可以帮助这个决策过程,许多应用程序已经利用这些系统来提高其应用程序的性能。为了研究推荐系统在回归测试中的潜在优势,我们实现了一个基于项目的协同过滤推荐系统,该系统使用用户交互数据和应用程序更改历史信息来开发测试用例优先级排序技术。为了评估我们的方法,我们进行了实证研究,使用三个Web应用程序的多个版本,并比较了四个控制技术。我们的研究结果表明,我们的推荐系统可以帮助提高测试优先级的有效性。
2018-01-20 cs.SE
A Roadmap for Software Testing in Open Collaborative Development Environments
本文综述了开放协作开发环境中软件质量保证的最新进展,分析了过程管理、人员动态和技术进步,并探讨了LLMs等新兴技术带来的挑战与机遇,为未来研究奠定基础。
2024-12-20 cs.SE
An Empirical Study on Collaborative Architecture Decision Making in Software Teams
架构决策被认为是软件开发中最具挑战性的认知任务之一。本研究的目的是探索软件团队中架构决策的实践状态,包括架构师的角色和相关的挑战。在欧洲的一家大型软件公司进行了一项探索性的案例研究,并采访了15位软件架构师作为数据汇集的主要方法。结果表明,大多数软件团队的架构决策协作。特别是,协商式决策风格是首选,因为它有助于在考虑团队成员意见的同时有效地做出决策。据观察,大多数软件架构师与软件团队保持着密切的关系。还确定了几个组织,流程和人类相关的挑战及其对架构决策的影响。
2017-07-01 cs.SE
Editorial: Special Issue on Collaborative Aspects of Open Data in Software EngineeringJohan
对于软件工程师来说,高质量的数据在设计和实施当今的软件时变得越来越重要,例如,作为机器学习算法和基于可视化和分析的功能的输入。开放数据-即,根据许可证共享数据,使用户有权研究、处理和向任何人分发数据,并用于任何目的-提供了一种满足这一需求的机制。数据可能来自多个来源,无论是众包、政府机构共享还是商业实体之间共享,无疑是当今公共部门、商业和工业的所有业务和收入模式所固有的。在这篇关于软件工程中开放数据协作方面的特刊的客座社论中,我们探讨了软件工程中开放数据的协作方面。我们强调这些方面如何使组织受益,可能存在哪些挑战以及如何根据当前实践解决这些问题,并介绍本特刊中包含的四篇论文。
2022-07-31 cs.SE
Protocol for a Systematic Mapping Study on Collaborative Model-Driven Software Engineering
如今,由多个利益相关者执行的协作建模在学术界和实践中越来越受到关注。然而,它提出了一系列的研究挑战,如大型和复杂的模型管理,支持多用户建模环境,和同步机制,如模型迁移和合并,冲突管理,模型版本和回滚支持。在科学文献中存在关于协作模型驱动软件工程(MDSE)的知识体系。尽管如此,这些研究仍然分散在不同的独立研究领域,如软件工程,模型驱动的工程语言和系统,模型集成计算等,并且仍然缺少对协作MDSE的各种途径和方法进行分类和比较的研究。从这个角度来看,系统的映射研究(SMS)可以帮助研究人员和从业人员(i)有一个完整的,全面的和有效的图片的最先进的合作MDSE,(ii)确定潜在的差距,在目前的研究和未来的研究方向。
2016-11-08 cs.SE
The openCARP CDE -- Concept for and implementation of a sustainable collaborative development environment for research software
本文提出并实现了基于 GitLab 的可持续协作开发环境 openCARP CDE,集成代码审查、自动化测试、DevOps 和版本长期保存等机制,并通过 openCARP 项目验证了其对大型异构团队协作的有效性。
2022-01-12 cs.SE
Modularization of Research Software for Collaborative Open Source Development
软件系统在其生命周期中不断发展。不断变化的条件,如需求或客户请求,使得开发人员不可避免地要对底层代码库进行调整。特别是在开放源码软件的情况下,每个人都可以作出贡献,要求可能会随着时间的推移而改变,新的用户组可能会得到解决。特别是,研究软件往往不是结构化的可维护性和可扩展的架构。结合过时的技术,这对新开发人员来说是一项具有挑战性的任务,特别是当学生参与其中时。在本文中,我们报告了我们的开源研究项目ExplorViz朝着微服务架构的模块化过程和架构。新的架构有利于研究人员和学生的协作开发过程。我们描述了模块化措施,并介绍了我们如何解决出现的问题,并加强了我们的开发过程。之后,我们说明了我们的模块化方法与我们的现代化,可扩展的软件系统架构,并强调改进的协同开发过程。最后,我们提出了一个概念验证的实现具有几个开发扩展的架构和可扩展性。
2019-07-12 cs.SE
Mining Software Repositories with a Collaborative Heuristic Repository
许多软件工程研究或任务依赖于对软件工程工件进行分类。在实践中,这是通过定义简单但通常不精确的分类,或者通过人工标记工件来完成的。不幸的是,这些分类中的错误会影响依赖它们的任务。为了提高这些分类的精度,我们建议在一个协作的启发式存储库中收集知识,研究人员可以为各种SE工件上的各种任务贡献大量不同的知识。然后,利用最先进的弱监督技术来训练高质量的分类器,从而改进分类。我们提出了一个初始版本的启发式存储库,我们适用于提交分类的具体任务。
2021-03-02 cs.SE
Guided Support for Collaborative Modeling, Enactment and Simulation of Software Development Processes
近年来,分布式软件开发的重要性在软件工程社区中得到了越来越多的关注。经济约束、越来越多的开发活动外包以及公司日益增长的空间分布带来了如何组织分布式开发的挑战。在这篇文章中,我们认为,一个共同的过程理解是成功的分布式开发所必需的。集成的过程规划、指导和实施被视为使技术能够达到独特的过程视图。我们勾勒出一个综合的软件过程建模环境SPEARMINT和XCHIPS系统基于Web的过程支持。因此,规划人员和开发人员通过电子过程指南(EPG)获得了协作规划和制定支持以及高级过程指南。我们描述了使用这种集成环境的学习系统的开发使用的案例研究。
2014-02-18 cs.SE
The Role of LLMs in Collaborative Software Design
University of Southampton(南安普顿大学);University of California, Irvine(加州大学尔湾分校);Pontifícia Universidade do Rio Grande do Sul(南里奥格兰德天主教大学)
研究探讨了LLM在软件设计协作中的影响,发现共享实例促进理解,而并行使用可能导致上下文漂移,专业人员会审查LLM响应以获得设计洞察,但早期锚定可能限制探索。
2026-04-10 cs.SE
VPOET: Using a Distributed Collaborative Platform for Semantic Web Applications
本文介绍了一个分布式协作的wiki为基础的平台,旨在促进语义Web应用程序的开发。使用该平台设计的应用程序能够通过不同开发人员的合作来构建语义数据,并利用该语义数据。本文展示了一个实际的案例研究的应用程序VPOET,以及如何基于谷歌小工具的应用程序已被设计来测试VPOET,让人类用户利用创建的语义数据。这个实际的例子可以用来展示如何不同的语义Web技术可以集成到一个特定的Web应用程序,以及如何的知识可以协同改进。
2008-06-09 cs.NI cs.SE
Exploring Creativity in Human-Human-LLM Collaborative Software Design
University of Southampton(南安普顿大学);Reykjavik University(雷克雅未克大学);Pontifícia Universidade do Rio Grande do Sul(南里奥格兰得天主教大学);University of California, Irvine(加州大学尔湾分校)
研究探讨了在软件设计任务中人类与LLM协作时创造力的产生与影响,发现人类设计师主导创造力,LLM提供新想法但可能阻碍创造力,强调人类洞察力的重要性。
2026-04-27 cs.SE
Software Components for Web Services
面向服务的计算已经成为解决软件即服务的新领域。本文提出了一个面向服务系统的基于组件的开发模型,并创建了软件组件设计的最佳实践指南。
2010-01-21 cs.SE
CM-CASL: Comparison-based Performance Modeling of Software Systems via Collaborative Active and Semisupervised Learning
由于复杂的配置空间和昂贵的性能评估,大型软件系统的配置调优通常具有挑战性。大多数现有的方法遵循两个阶段的过程,首先学习基于回归的性能预测模型上可用的样本,然后使用学习的模型搜索具有令人满意的性能的配置。由于运行具有特定配置的大型软件系统所需的大量时间和资源,这种基于回归的模型通常会受到样本稀缺的影响。此外,以前的研究表明,即使是一个高度准确的基于回归的模型可能无法辨别两种配置之间的相对优点,而性能比较实际上是配置调整的一个基本策略。为了解决这些问题,本文提出了CM-CASL,基于比较的软件系统性能建模方法,通过协作主动和半监督学习。CM-CASL学习一个分类模型,比较两个给定配置的性能,并通过人类专家和分类器使用主动和半监督学习的集成进行协作标记过程来增强样本。实验结果表明,CM-CASL在分类精度和排序精度方面均优于两种最先进的性能建模方法,从而为后续的配置调优工作提供了更好的性能模型。
2023-03-28 cs.SE
Application of Collaborative Learning Paradigms within Software Engineering Education: A Systematic Mapping Study
本文通过系统映射研究考察协作学习理论在软件工程教育中的应用,识别出14篇论文并分为四种范式,发现CSCL研究受关注但证据水平不足,提出未来应加强社会与社区层面的学习研究。
2023-10-28 cs.SE
Developing Shared Vocabulary System For Collaborative Software Engineering
本研究通过设计科学研究框架识别软件工程协作中的沟通障碍,提出基于扎根理论的共享词汇系统开发方法,并实证验证其能显著提升信息密度、文档清晰度与协作效率。
2025-07-18 cs.SE
StatsClaw: An AI-Collaborative Workflow for Statistical Software Development
The Centre for Human-Inspired Artificial Intelligence, University of Cambridge(剑桥大学人类启发人工智能中心);Department of Political Science, Stanford University(斯坦福大学政治学系)
StatsClaw通过多智能体架构实现统计软件开发的可靠自动化,通过信息隔离机制确保代码生成与验证的独立性,提升软件生命周期的工程效率并保持研究人员对方法学的控制。
2026-04-06 cs.SE
"Is My Mic On?" Preparing SE Students for Collaborative Remote Work and Hybrid Team Communication
沟通对于学生和专业软件工程(SE)团队开发项目的成功至关重要。SE课程提供的项目为学生提供了宝贵的学习经验,因为他们教授行业所需的技能,如团队合作,沟通和调度。专业SE团队采用了Slack、Miro、Microsoft Teams和GitHub Discussions等通信软件来在团队成员之间共享文件和传达信息。同样,他们还分发了Visual Studio CodeSpaces和Jira等软件开发工具来支持生产力。相比之下,在学术界,学生们专注于面对面的会议,以进行团队沟通,并使用通信工具进行文件共享。由于COVID-19大流行,大学被迫突然转向在线或混合模式,从而迫使SE学生迅速采用通信软件。本文提出了一种研究在工业中使用通信软件,为学生毕业后的远程软件开发职位做好准备。
2021-02-01 cs.SE
Opportunities in Software Engineering Research for Web API Consumption
如今,调用第三方代码越来越多地涉及通过其Web API调用Web服务,而不是下载库并调用库的API的更传统的场景。然而,对于调用这些Web API的开发人员来说,也存在新的挑战。在本文中,我们强调了这些挑战的广泛集合,并主张为软件工程研究提供机会,以支持开发人员使用Web API。在此背景下,我们概述了两个具体的研究思路:(1)Web API规范策展,使我们能够知道Web API的签名,(2)静态分析,能够提取URL,HTTP方法等Web API调用。此外,我们还介绍了如何结合(1)和(2)为使用Web API的应用程序开发人员提供IDE支持的新工作。随着Web API的广泛使用,支持Web API消费的研究提供了令人兴奋的机会。
2017-05-18 cs.SE
WebSPL: A Software Product Line for Web Applications
本文提出面向 Web 应用的软件产品线 WebSPL,并通过两个应用的案例研究,从复杂度、规模、重复行和技术债务等指标验证其复用潜力。
2024-04-03 cs.SE
Current Web Application Development and Measurement Practices for Small Software Firms
本文讨论的问题,目前的发展和衡量的做法,确定从约旦小型软件公司进行的试点研究。该研究旨在调查开发人员是否遵循Web应用程序开发中的开发和测量最佳实践。分析分两个阶段进行:第一,使用变量聚类对开发和度量实践进行分组,第二,确定接受程度。平均间隔用于确定可接受程度。层次聚类被用来对开发和测量实践进行分组。这项调查的实际结果将用于建立一个新的方法,在小型软件公司开发Web应用程序。
2012-05-28 cs.SE
Design Thinking and Creativity of Co-located vs. Globally Distributed Software Developers
内容:软件设计是软件开发人员思考并做出设计决策的活动,这些决策塑造了软件产品的结构和行为。软件设计是人们最不了解的软件工程活动之一。在协作设计环境中,各种类型的距离可能会导致潜在影响软件设计方式的挑战和影响。目的:为了有助于更好地理解协作软件设计,我们研究了地理距离如何影响其设计思维和讨论的创造性。方法:为此,我们进行了一个多案例研究,探讨在协同设计环境中的协同和分布式软件开发人员的设计思维和创造力。结果如下:与位于同一地点的开发人员相比,分布式开发人员在探索问题空间上花费的时间更少,这可能与不同的社会技术挑战有关,例如缺乏意识和共识。分布式开发似乎并不影响他们活动的创造性。结论:参与协同设计的开发人员需要意识到,在分布式环境中,问题空间探索会减少。除非分布式团队采取补偿措施,否则这可能会对开发产生不利影响。至于距离对创造力的影响,我们的结果是不确定的,需要进一步的研究。
2021-08-26 cs.SE
A Methodology of Guiding Web Content Mining and Knowledge Discovery in Evidence-based Software Engineering
系统性文献综述(Systematic Literature Review,SLR)是应用于循证软件工程(Evidence-Based Software Engineering,EBSE)的一种严格的方法论,用于识别、评估和综合相关证据,以回答特定的研究问题。受益于Web 2.0时代蓬勃发展的在线资料,技术Web内容开始成为EBSE的替代来源。Web知识已经从Web内容挖掘和知识发现技术中得到了研究和推导,但是它们仍然与回顾学术文献有显著的不同。因此,EBSE中直接采用Web知识缺乏系统的指导。在本文中,我们提出了一个SLR的适应,以弥合上述差距沿两个阶段。首先,我们遵循SLR的一般逻辑和程序来规范Web挖掘活动。其次,我们用Web挖掘友好的方法和途径替代和增强特定的SLR过程。在第二阶段,我们主要专注于通过集成一组自动化组件,从编程搜索到各种文本挖掘技术,来适应进行审查。
2017-04-25 cs.SE
Reliability improvement with PSP of Web-based software application
在不同的工业和学术环境中,软件的质量已经使用不同的分析研究进行了评估。目前的工作的贡献是集中在一种方法的发展,以改善基于网络的软件应用程序的可靠性的评价和分析。为了提高过程和产品的质量,我们在方法论中引入了个人软件过程(PSP)。评价+改进(Ei)过程在我们的方法中执行,以评估和改进软件系统的质量。我们在一个基于Web的软件系统中测试了我们的方法,并使用统计建模理论的可靠性分析和评估。对理想条件下的系统行为进行了评估,并与实际条件下执行的系统操作进行了比较。所获得的结果证明了我们的方法的有效性和适用性。
2012-09-12 cs.SE
The Impact of Dynamics of Collaborative Software Engineering on Introverts: A Study Protocol
背景:自从采用敏捷方法以来,软件工程师之间通过团队中的面对面讨论进行合作得到了促进。然而,这些讨论可能会降低内向的软件工程师的贡献,可能会导致次优的解决方案,并创造有利于外向的工作环境。目的:我们的目标是评估是否为软件工程师提供单独工作的时间,并对集体问题进行推理,这是一种使内向者更舒适地进行互动和贡献的设置,最终导致更好的解决方案。方法:我们计划进行一项受试者间研究,控制组的团队在团队讨论会议中设计软件架构,治疗组的团队在参与会议之前单独工作。我们将评估和比较内向者的贡献量,他们的主观经验,以及设计的解决方案。局限性:由于外向者在两组中都存在,我们无法得出结论,更好的解决方案仅仅是由于内向者的参与增加。对他们的主观经验和捐款数额的分析可能会提供证据,说明观察到的差异的原因。
2020-04-01 cs.SE
A Web-based modeling tool for the SEMAT Essence theory of Software Engineering
相对于更成熟的学科,软件工程缺乏一般的理论来建立它作为一门学科的基础。软件工程的本质理论(Essence)是由软件工程方法与理论(SEMAT)倡议提出的。本质目标是为软件工程实践及其广泛采用开发一个理论上的坚实基础。Essence还远未被学术界和工业界采用。SEMAT Accelerator(SematAcc)是一个用于软件工程的Web定位工具,它实现了SEMAT的Essence内核。SematAcc允许使用Essence,从而帮助理解它。该工具可以在受控实验和案例研究中教授,采用和研究Essence。
2013-07-31 cs.SE
Investigating the Awareness of Applying the Important Web Application Development and Measurement Practices in Small Software Firms
本文旨在讨论约旦小型软件公司目前的发展和测量实践的试点研究和分析。之所以这样做,是因为大多数开发人员在构建Web应用程序时没有使用任何特定的开发方法,也不知道如何在过程中集成合适的度量,以改善和减少开发生存周期的缺陷、时间和返工。此外,这项试点研究的目标是首先确定约旦小型软件公司的实际特点。其次,调查当前的开发和测量实践。第三,研究小型软件公司对构建Web应用程序的新开发方法的需求。因此,在约旦小型软件公司进行了试点调查。采用描述性统计分析,根据其重要性对开发和测量方法进行排序。本文介绍了试点调查的数据、分析和发现。这些实际调查结果将有助于建立新的方法,开发Web应用程序的小型软件公司考虑到如何将合适的测量程序集成到整个开发过程中,也将提供有用的信息,那些谁是在同一领域的研究。
2012-01-10 cs.SE
Collaborative Software Modeling in Virtual Reality
建模是概念设计和系统设计的关键活动。通过协作建模,最终用户、利益相关者、专家和企业家能够创建对系统表示的共享理解。统一建模语言(UML)是面向对象软件工程中主要的概念建模语言之一,但UML的建模质量及其工具支持越来越受到人们的关注。其中,其符号的二维表示的限制和缺乏自然的协作建模工具被报道是显着的。在本文中,我们探讨了使用虚拟现实(VR)技术的协同UML软件设计的潜力,通过比较它与经典的协同软件设计使用传统的设备(台式PC,笔记本电脑)。为此,我们开发了一个VR建模环境,为UML类图提供自然的协作建模体验。基于24名参与者的用户研究,我们比较了协作VR建模与传统建模的效率,有效性和用户满意度。结果表明,VR的使用在效率和效果方面存在一些缺点,但用户的乐趣,与远程协作者在同一个房间的感觉,以及协作的自然性都有所增加。
2021-07-27 cs.HC cs.SE
Collaborative, Code-Proximal Dynamic Software Visualization within Code Editors
本文提出一种嵌入代码编辑器的动态软件可视化方法,结合动态分析和分布式追踪,通过共享代码城市实现协作,用户研究显示多数参与者认为该方法有用。
2023-08-30 cs.SE
Think-on-Process: Dynamic Process Generation for Collaborative Development of Multi-Agent System
本文提出 ToP 动态流程生成框架,通过流程模型指导 LLM 生成开发实例,并结合编译器反馈、启发式筛选与流程挖掘迭代更新模型,显著提升 GPT-3.5/GPT-4 应对五类软件开发任务的能力。
2024-09-10 cs.SE
Computer-Supported Collaborative Learning in Software Engineering Education: A Systematic Mapping Study
自20世纪90年代初以来,计算机支持的协作学习(CSCL)一直是一个稳定的研究课题,并一直持续到今天。CSCL在课堂上的基本好处已经在许多教育领域建立起来,特别是提高学生的动机和批判性思维。本文对软件工程教育中计算机支持的协作学习的研究现状进行了系统的映射研究。这项研究调查了2003年至2013年发表的文章,以了解这一科学领域的进展情况。CSCL在软件工程教育中正在进行的研究主题涉及更广泛的学习社区和不同协作方法的有效性。我们发现,虽然研究确定了CSCL在从本地到全球的几个不同环境中的好处,但这些方法并不总是足够详细和比较,以确定哪些因素使其成功。
2019-06-25 cs.CY cs.SE
Six Years of Shiny in Research -- Collaborative Development of Web Tools in R
研究出版物中使用的光泽。从这个流行的R Web应用程序框架的出现到2018年,它已被用于许多不同的研究领域。虽然可以证明,Shiny应用程序的复杂性受到后台架构的限制,并且对于新手应用程序开发人员来说存在真正的安全问题,但协作的好处值得更广泛的研究社区关注。Shiny简化了不同专业用户的复杂方法的使用,并达到了适合最终用户的熟练程度。这使得不同的用户社区能够利用尖端的方法进行有效的交互。所审查的文献表明,可以将复杂的方法付诸实践,而不需要投资于专业培训。看来,Shiny在数据分析人员和其他学科人员之间的沟通中开辟了并行的好处,从而可能通过这项技术丰富研究。
2021-01-11 cs.SE stat.CO
Designing Collaborative AI-Driven Workflows for Scientific Software Engineering
Argonne National Laboratory(阿贡国家实验室);Fermi National Accelerator Laboratory(费米国家加速器实验室);RIKEN Center for Computational Science(理化学研究所计算科学中心)
本文提出在科学软件工程中采用协作式AI工作流,由领域专家制定规范、智能体在确定性编排下编写代码并辅以数值验证和人工审批,实验表明简单作者-审阅者循环在成本上更具优势。
2026-10-08 cs.SE
Co-designing for a Hybrid Workplace Experience in Software Development
针对IT组织混合办公模式下的高效协作需求,提出一种协同设计混合办公体验的工作坊方法,为规模化改进协作式软件开发提供参考。
2022-12-19 cs.SE
Collaborative Real Time Coding or How to Avoid the Dreaded Merge
在团队中合作开发软件的软件工程师通常必须手动合并他们对模块(例如类)所做的更改,因为更改与另一个工程师对同一个或另一个模块(例如供应商类)所做的更改相冲突。这是由于工程师单独编辑代码,并通过源代码控制或软件配置管理系统(SCM)松散地协调他们的工作。这项工作提出,以消除几乎所有的需要,手动合并最近的变化,提出了一个协作的实时的编码方法。在这种方法中,其他人可以实时的看到对代码的有效更改,但是中间更改(导致代码无法编译)会阻止其他工程师进行与被修改的实体(例如方法)相关的更改,同时允许他们在系统的大部分工作。协同实时的编辑系统的研究已经有20多年的历史。在这一领域的研究主要集中在协同文本和图形编辑。在这项工作中,我们解决了设计一个协作的实时的编码系统所面临的挑战,以及目前的主要差异相比,纯文本的协作编辑。然后,我们提出了一个原型插件的Eclipse集成开发环境(IDE),允许进行协作编码。
2015-04-25 cs.SE
Service Oriented Architecture A Revolution For Comprehensive Web Based Project Management Software
面向服务的体系结构项目管理软件的革命已经改变了今天的项目在Web服务的帮助下快速移动的方式。面向服务的体系结构提高了性能以及分布式和远程团队之间的通信。Web服务为项目管理软件提供了应用程序开发生命周期的可见性和控制,从而更好地控制从管理阶段到开发的整个开发过程。面向服务的项目管理软件体系结构的目标是在分配的预算内按时交付产品,并具有客户期望的功能。项目管理软件基本上是一个妥善管理的项目,有一套清晰、沟通和管理的目标和目的,其进度是可量化和可控制的。资源得到有效和高效的利用,以生产所需的产品。在面向服务的体系结构的帮助下,我们可以在不抛弃过去的情况下走向未来。一个项目通常有一套沟通的过程,涵盖了项目的日常活动,形成了项目框架。因此,每个团队成员都了解自己的角色,责任以及如何融入大局,从而促进资源的有效利用。
2012-07-20 cs.SE
Revealing Task Driven Knowledge Worker Behaviors in Open Source Software Communities
软件开发人员等知识工作者之间的协作活动是现代社会发展的基础,但深入了解他们在开放的在线社区中的行为模式是非常具有挑战性的。开源软件(OSS)存储库中大量数据的可用性(例如错误跟踪数据,电子邮件和评论)使我们能够以定量的方式调查这个问题。在本文中,我们对两个著名的OSS社区(即Eclipse和Mozilla)中与保证软件质量密切相关的在线协作活动进行了实证分析。我们的主要发现包括两个方面:(1)开发人员在两种不同的工作状态(正常和过载)下,在时间和空间上表现出两种截然相反的行为模式;(2)处理时间(包括bug修复时间和bug抛出时间)服从拉伸指数分布,而不是一般的幂律分布。我们的工作揭示了在不同任务驱动的负载条件下工作的熟练开发人员之间的在线协作活动之外的人类动力学规律,它可能是对当前人类动力学工作的重要补充。
2017-02-25 cs.SE
A Coding-free Software Framework of Developing Web Data Management Systems
越来越多的企业最近打算在云中部署数据管理系统。由于软件开发的专业性,非程序员仍然很难开发这种系统,即使是一个小的。然而,SaaS的发展带来了更多的编码自由软件开发的可行性比以前。本文提出了一套基于SaaS架构的数据管理系统的免编码构建理论和方法,包括一套实用的应用平台、一套构建方法和一套数据交换接口。通过抽象数据管理系统的共性特征,设计了一个通用的Web平台来快速生成和发布定制的系统实例。此外,我们还提出了一种利用电子表格中的特定需求表来开发数据管理系统的方法。相应的平台通过解析表模型,将需求表映射为系统实例,并在运行阶段实现目标系统。最后,我们实现了该框架,并将其部署在Web上。实验结果证明了免编码方法在开发Web数据管理系统中的可行性和有效性。
2019-10-13 cs.SE
A Collaborative and Pattern-Based Training Approach to Knowledge Acquisition and Decision-Making During the Design of Software Architectures Courses: A Case Study
Universidad del Cauca(考卡大学);Universidad Nacional de la Plata(拉普拉塔国立大学)
本文提出了一种基于协作和模式的训练方法,用于软件架构课程设计中的知识获取与决策制定,通过案例研究展示了如何通过训练模式提升学生能力。
2026-03-12 cs.SE
A Reliabel and an efficient web testing system
为了提高Web软件的可靠性和效率,测试团队必须具有创新精神。测试人员的经验和直觉也很重要,通常测试人员的破坏性本质会为用户带来可靠的软件。实际上,测试是参与项目的每个人的责任。
2019-02-08 cs.SE
Towards Human-Bot Collaborative Software Architecting with ChatGPT
Lancaster University Leipzig(兰卡斯特大学莱比锡校区);University of Jyväskylä(于韦斯屈莱大学);Wuhan University(武汉大学);University of Southern Queensland(南昆士兰大学)
构建软件密集型系统可能是一个复杂的过程。它处理统一涉众的观点、设计者的智慧、基于工具的自动化、模式驱动的重用等令人生畏的任务,以勾画出指导软件实现和评估的蓝图。尽管以架构为中心的软件工程(ACSE)有很多好处,但它也面临着许多挑战。ACSE挑战可能源于缺乏标准化流程、社会技术限制和缺乏人类专业知识等,这些都可能阻碍现有和新兴软件类别的开发(例如,物联网、区块链、量子系统)。在大语言模型上训练的软件开发机器人(DevBots)可以帮助协同架构师的知识与人工智能决策支持,以实现人机协作ACSE中的快速架构。ChatGPT是一种支持这种协作的新兴解决方案,这是一种颠覆性技术,主要不是为软件工程引入的,而是能够基于自然语言处理阐明和细化架构工件。我们详细介绍了一个案例研究,涉及一个新手软件架构师和ChatGPT的架构分析,合成和评估服务驱动的软件应用程序之间的合作。初步结果表明,ChatGPT可以模仿架构师的角色,以支持并经常领导ACSE,但是,它需要人为的监督和决策支持的协作架构。未来的研究重点是利用关于建筑师生产力的经验证据,并利用ChatGPT探索建筑的社会技术方面,以应对ACSE的新兴和未来挑战。
2023-02-26 cs.AI cs.SE
Software Architecture of Code Analysis Frameworks Matters: The Frama-C Example
实现大型软件,作为旨在用于工业环境的软件分析器,需要一个精心设计的软件架构,以简化其生命周期中的日常开发和维护过程。如果分析器不仅仅是一个单一的工具,而是一个开放的可扩展的协作框架,外部开发人员可以在其中开发相互协作的插件,这样一个设计良好的架构甚至变得更加重要。在这份经验报告中,我们解释了开发和维护开放的可扩展协作分析框架的困难,通过Frama-C的例子,一个平台,致力于分析用C编写的代码。我们还介绍了新的即将到来的软件架构的框架-C和它的目的是如何解决这些问题。
2015-08-17 cs.SE
Detecting Coordination Problems in Collaborative Software Development Environments
软件开发很少是个人的努力,通常涉及开发人员团队合作生成良好可靠的代码。在软件代码中,存在由软件组件使用来自其他组件的服务引起的技术依赖性。将这些软件模块的设计、开发和测试分配给人们的不同方式可能会导致他们之间的各种协调问题。我们主张开发人员、设计人员和测试人员的协作必须与技术任务结构相关并受其支配。这些协作实践是在我们所谓的社会技术模式中处理的。我们在本文中报告的TESNA项目(技术社会网络分析)解决了这个问题。我们提出了一种方法和工具,项目经理可以使用,以检测的社会技术协调问题。我们测试的方法和工具的一个小的和创新的软件产品公司的案例研究。
2010-06-07 cs.HC cs.SE
AgileCoder: Dynamic Collaborative Agents for Software Development based on Agile Methodology
FPT Software AI Center(FPT软件人工智能中心);Fulbright University(富布赖特大学)
针对现有软件智能体过度简化开发工作流的问题,提出融入敏捷方法论的多智能体系统AgileCoder,搭配动态代码图生成器,性能优于现有基准,展现多智能体在软件工程中的潜力。
2024-07-14 cs.AI cs.SE
Aspect-Oriented Programming in Secure Software Development: A Case Study of Security Aspects in Web Applications
本研究通过案例对比,证明面向切面编程(AOP)能模块化安全关注点,提升Web应用中安全机制的模块化、可重用性和可维护性,且性能开销极小。
2025-09-09 cs.SE
Comparing Example-Based Collaborative Reflection to Problem Solving Practice for Learning during Team-Based Software Engineering Projects
贡献的文学工作的例子和解决问题之间的能力治疗的相互作用,本文讨论了差异学习的两种方法时,学生被定位为领域专家学习新的概念。我们的评估是位于一个团队项目,是一个先进的软件工程课程的一部分。在本课程中,拥有基础领域知识但正在学习新概念的学生可以交替进行编程,然后进行基于工作实例的反思。他们要么被允许完成编程,要么在预先指定的时间后被缩减,以参与更长的基于工作示例的反射。我们发现在这两种情况下,测试前到测试后的学习都有显著的提高。然后,我们不仅发现更多的学习,当学生参加了更长的工作基于实例的反思,但也有显着的性能改善解决问题的迁移任务。这些研究结果表明,领域专家学习新概念受益更多的工作实例为基础的反思,而不是从解决问题。
2021-07-01 cs.SE
Harnessing customized built-in elements -- Empowering Component-Based Software Engineering and Design Systems with HTML5 Web Components
本研究探讨了HTML5定制化内置元素在基于组件的软件工程与设计系统中的作用,分析了其在提升代码模块化、可重用性方面的优势及面临的兼容性等挑战,并指出其是推动Web应用创新的核心驱动力。
2023-11-28 cs.SE
Exploring Web Search Engines to Find Architectural Knowledge
软件工程师需要相关的和最新的架构知识(AK),以便做出有根据的设计决策。然而,找到这样的AK是相当具有挑战性的。一种实用的方法是使用传统的搜索引擎(例如Google)在Web上搜索AK;这是软件工程师的常见做法。尽管如此,我们对AK是从哪里取回的,以及它有多有用知之甚少。在本文中,我们进行了实证研究,53名软件工程师,谁使用谷歌使用属性驱动设计方法进行设计决策。基于受试者如何评估检索结果的性质和相关性,我们确定了网络搜索引擎找到相关建筑信息的有效性。此外,我们确定了网络上AK的不同来源及其相关的AK概念。
2021-03-22 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
Quality Assurance And Integration Testing Aspects In Web Based Applications
集成测试是软件测试生存周期的重要阶段之一。随着互联网和Web服务的快速发展,基于Web的应用也在迅速增长,其重要性和复杂性也在不断增加。分布式组件、应用程序的异构性和多样性,以及它们对多平台的支持和协作性,使得这些应用程序变得更加复杂,规模也在迅速增长。这些应用程序的质量保证变得越来越重要。测试是实现和确保这些软件或基于Web的产品质量的关键过程之一。在基于Web的应用程序中涉及到许多测试挑战。但最重要的是,集成是与基于Web的应用程序相关的最关键的测试。在集成测试工作中涉及到许多具有挑战性的因素。这些因素对基于Web的应用程序的整体质量有近70%到80%的影响。在软件行业中,不同类型的测试方法被从业者用来解决与集成相关的问题,这些问题是由于基于Web的应用程序的复杂性不断增加。
2012-07-13 cs.SE
Collaborative Application Security Testing for DevSecOps: An Empirical Analysis of Challenges, Best Practices and Tool Support
DevSecOps是一种软件开发范式,高度重视开发人员(Dev),安全(Sec)和运营(Ops)团队之间的协作文化,以持续快速地交付安全软件。因此,要有效地采用这一模式,就需要了解这些职能团队之间协作的挑战、最佳做法和可用解决方案。然而,与这些团队相关的协作方面在DevSecOps文献中很少受到实证关注。因此,我们提出了一项研究,重点是一个关键的安全活动,应用程序安全测试(AST),从业者面临的困难,在DevSecOps环境中进行协作工作。我们的研究新颖地使用了48个系统选择的网络研讨会,技术讲座和小组讨论作为数据源,以定性分析软件从业者对这个高度发展的领域的最新趋势和新兴解决方案的讨论。我们发现,AST工具本身缺乏促进协作的功能是DevSecOps中与工具相关的关键挑战。此外,缺乏与角色定义、共享目标和所有权相关的清晰度也阻碍了协作AST(CoAST)。我们还收集了一系列协作的最佳实践(例如,左移安全性)、新兴的通信方法(例如,ChatOps)和新的团队结构(例如,混合团队)的海岸。最后,我们的研究确定了新工具功能的几个要求和未来研究的具体差距领域,为DevSecOps中的CoAST提供更好的支持。
2022-11-25 cs.SE
HTML Structure Exploration in 3D Software Cities
Kiel University(基尔大学);Universidad Rey Juan Carlos(雷伊胡安卡洛斯大学)
针对现有软件可视化工具未覆盖Web界面的问题,研究扩展了ExplorViz工具,在3D软件城市中嵌入Web视图并同源可视化DOM的HTML结构,经初步用户研究验证后提出了后续研究方向。
2025-08-26 cs.SE
Human-AI Guidelines in Practice: Leaky Abstractions as an Enabler in Collaborative Software Teams
在传统的软件开发中,用户体验(UX)设计师和工程师通过关注点分离(SoC)进行协作:设计师创建人机界面规范,工程师根据这些规范进行构建。然而,我们认为人类-人工智能系统阻碍了SoC,因为人类的需求必须塑造人工智能接口的设计,底层的人工智能子组件和训练数据。设计师和工程师目前如何在AI和UX设计方面进行合作?为了找到答案,我们采访了来自14个组织的21位行业专业人士(用户体验研究人员、人工智能工程师、数据科学家和经理),了解他们的协作工作实践和相关挑战。我们发现,隐藏的信息封装的SoC挑战跨设计和工程问题的合作。从业者描述发明特设表示暴露低层次的设计和实现细节(我们的特征为泄漏抽象),以“穿刺”SoC和跨专业知识的边界共享信息。我们确定了如何使用泄漏抽象在AI-UX边界进行协作,并正式定义了创建和使用泄漏抽象的过程。
2022-07-04 cs.HC cs.SE
Applying Model-based Requirements Engineering in Three Large European Collaborative Projects: An Experience Report
在本文中,我们报告我们5年的设计,开发,然后部署基于模型的需求工程(MBRE)的方法和语言的背景下,三个不同的大型欧洲合作项目提供复杂的软件解决方案的实践经验。基于在项目执行过程中收集的数据和通过之后实现的调查,我们打算表明这种方法可以在可扩展性方面带来有趣的好处(例如,大量已处理的需求)、异质性(例如,具有不同类型可再生能源背景的合作伙伴),可追溯性(例如从需求到软件组件)、自动化(例如需求文档生成)、有用性或可用性。为了说明我们的贡献,我们将MBRE方法和语言的应用与来自这些欧洲研究项目之一的具体元素结合起来。我们还进一步讨论了使用这种MBRE方法和相应的语言的一般好处和目前的局限性。
2021-05-07 cs.SE