Supporting Software Engineering Research and Education by Annotating Public Videos of Developers Programming
软件工程长期以来一直在研究软件开发人员如何工作,构建了一个工作主体,形成了许多软件工程最佳实践、工具和理论的基础。最近,一些开发人员开始录制自己参与开源项目编程任务的视频,使他们能够与其他开发人员分享知识和社交。我们相信这些视频为软件工程研究和教育提供了重要的机会。在本文中,我们讨论了这些视频的潜在用途,以及如何最好地实现这种设想的使用开放的问题。我们建议创建一个中央存储库的编程视频,使分析和注释视频,以说明感兴趣的特定行为,如提问和回答问题,采用策略,和软件工程理论。这样一个知识库将提供一种重要的新方法,使软件工程研究人员和学生都能理解软件开发人员是如何工作的。
2019-05-09 cs.SE
SCALL: Software Component Allocator for Heterogeneous Embedded Systems
在异构计算平台上分配软件组件涉及硬决策;处理具有特定处理范例的不同类型的计算单元和需要特定资源的许多软件组件。在早期设计阶段探索设计空间以向系统架构师提供部署备选方案的分配方法可以对底层平台的利用率产生重大影响。在本文中,我们提出了SCALL,早期的原型工具,它使用的加权多目标设计空间探索,以支持系统架构师在复杂的分配决策在早期设计阶段的知识和层次分析法。
2016-12-31 cs.SE
An Analysis of Technical Debt Management Through Resources Allocation Policies in Software Maintenance Process
本文基于系统动力学方法,在大量文献回顾和二手数据的基础上,建立了一个计算模拟模型,通过分析软件维护过程中的资源配置策略,分析了软件维护过程中的技术债务管理,以说明不同的策略如何导致不同行为的出现。大多数将系统动力学应用于软件项目研究的工作,都集中在其生存周期的初始阶段,而对于运行和维护阶段的长期行为则留下了空白。结果表明,过度关注完善的维护活动可能比进行定期预防性维护以减少所产生的技术债务成本更高,最终部署的功能更少,积压更高,生产力更低,可维护性更低,技术原理更高。
2016-09-22 cs.SE
Supporting Belonging in Software Engineering Through Role Models Exposure
University of Calgary(卡尔加里大学)
本文探讨了如何通过嵌入历史人物榜样来增强软件工程教育中的归属感,通过分析教学实践,发现这种低干扰的教学方法能有效提升多样性代表性,同时保持技术严谨性。
2026-04-28 cs.SE
A Risk-driven Model for Work Allocation in Global Software Development Projects
在全球范围内分布软件开发项目的风险和潜在收益在很大程度上取决于如何将工作分配到不同的开发站点和地区。现有的任务分配方法很可能忽略了考虑多种标准的相关性以及任务分配对风险和潜在效益的影响。为了评估特定工作分配产生的风险,并利用组织特定的经验,我们开发了一个可定制的风险驱动模型。它包括两个主要步骤:建议一套任务分配方案的基础上,项目和现场的具体特点,并分析它与可能的项目风险所产生的工作分配。为了评估该模型,我们在一家跨国IT公司进行了一系列半结构化访谈。评价结果表明,该模型的建议大多符合回顾性意见所表达的参与经验丰富的管理人员。
2013-12-09 cs.SE
Supporting the monitoring of the verification process of critical systems'software
关键软件系统由于其操作环境的原因,在安全性、可靠性和可靠性方面面临着严格的要求。由于硬件与软件密集型部署的集成,安全性和安全性多年来逐渐变得重要,这引入了额外的错误源。因此,有必要遵循高质量的详尽的软件开发过程,除了必要的开发活动,以提高安全性和安全性,还集成技术,以提高软件开发过程本身的可靠性。然而,在实践中,使用自动化技术核查核查进程的情况并不十分普遍。这主要是由于所需技术成本高,而且在适应不同的规范和条例时很复杂。这项工作提出了一种全面管理验证过程的方法;该方法允许工程师监测和控制有关适用标准的项目状态。这种方法已通过在工具中的实现及其在实际项目中的应用得到验证。
2015-12-15 cs.SE
TaskAllocator: A Recommendation Approach for Role-based Tasks Allocation in Agile Software Development
在本文中,我们提出了一个推荐方法-- TaskAllocator --以预测传入的任务分配给潜在的合适的角色。建议的方法,确定团队的角色,而不是个人,允许项目经理执行更好的任务分配的情况下,个人开发人员被过度使用或转移到不同的角色/项目。我们对从Taiga.io资源库中获得的10个敏捷案例研究项目进行了评估。为了确定TaskAllocator的性能,我们通过将其与当代机器学习模型进行比较来进行基准研究。TaskAllocator的适用性通过一个插件进行了评估,该插件可以与JIRA集成,并在项目中添加新任务时提供有关合适角色的建议。最后,插件的源代码和所使用的数据集已经公开。
2021-03-03 cs.SE
SLRMentor: An LLM-Based Tool Supporting Learning of SLR in Software Engineering
University of Calgary(卡尔加里大学);University of Hawai‘i at Mānoa(夏威夷大学马诺阿分校);Universidade Federal Rural de Pernambuco (UFRPE)(伯南布哥联邦农村大学)
提出SLRMentor对话助手,利用LLM支持软件工程中系统文献综述的学习与规划,通过引导搜索字符串构建和纳入排除标准推理,降低新手入门门槛。
2026-06-05 cs.SE
Supporting software documentation with source code summarization
源代码摘要是生成描述软件代码的摘要的过程,大多数源代码摘要通常是手动生成的,其中摘要是由软件开发人员编写的。最近,新的自动化方法变得越来越有用。这些方法在某些情况下是有效的。这些方法的主要缺点是它们从不利用代码依赖性,并且总结软件类或方法,而不是两者。本文提出了一种源代码摘要方法(Suncode),它为软件系统中的每个类和方法产生一个简短的描述。为了验证该方法,它已被应用到几个案例研究。此外,将生成的摘要与人类专家编写的摘要以及最先进的解决方案编写的摘要进行比较。本文的研究结果发现,与其他研究相比,Suncode摘要提供了更好的代码依赖信息。此外,Suncode摘要可以改进和支持当前的软件文档。结果发现,手工编写的摘要更精确,也更简短。
2018-12-14 cs.SE
Institutional Policy Pathways for Supporting Research Software: Global Trends and Local Practices
本文探讨了支持研究软件的机构政策路径,提出三层框架以促进软件在科研中的认可与可持续发展。
2025-11-26 cs.SE
Towards a Strategy for Supporting the Engineering of Contemporary Software Systems
物联网、工业4.0和智能城市等当代软件系统对它们的工程提出了挑战,因为它们质疑我们传统的软件开发形式。它们代表了通信设备和技术集成的一个有前途的范例。它正在导致从传统的整体开发观(利益相关者最终获得软件产品)转变为通过网络互连的物理对象和嵌入式智能来支持活动的实体化软件系统。因此,有必要重新审视我们开发软件系统的方式,并开始考虑这些新型应用程序所需的特殊性。本论文旨在研究这些新类型的应用程序的特殊性,以支持在这种应用程序和系统的工程决策框架的定义。为此,我们使用物联网系统作为CSS的替代品,因为它们呈现了我们旨在研究的当代性和多学科性。
2019-04-26 cs.SE
Supporting Contextual Conversational Agent-Based Software Development
针对软件开发中情境信息分散难获取、现有实践缺乏有效流程指导的问题,提出基于对话智能体的知识增强软件开发方法,为开发者提供任务相关信息与工作流建议,推动软件工程领域人机交互向对话模式演进。
2023-05-01 cs.SE
scg-cli -- a Tool Supporting Software Comprehension via Extraction and Analysis of Semantic Code Graph
本研究提出命令行工具scg-cli,它提取Java/Scala项目语义信息构建语义代码图,支持度量、关键实体识别等分析,可导出供外部工具分析,并用commons-io项目验证功能。
2023-10-03 cs.SE
Supporting Software Maintenance with Dynamically Generated Document Hierarchies
本文提出全自动文档生成流水线HGEN,通过LLM将源代码经六阶段转换为多层次文档,并在多个开源与工业项目中验证其质量接近人工文档且覆盖率更高。
2024-08-11 cs.SE
Round-Trip Sketches: Supporting the Lifecycle of Software Development Sketches from Analog to Digital and Back
草图是理解、设计和交流软件系统的不同方面(如需求或架构)的重要活动。通常,草图开始在纸上或白板上,修改,并可能演变成数字版本。然后用户可以打印修改后的草图,在纸上修改,然后再次修改。现有工具侧重于无纸化工作流程,即,存档模拟文档或依赖特殊硬件-它们不专注于将数字版本集成到许多用户遵循的以模拟为中心的工作流程中。在本文中,我们提出了概念设计和原型的LivelySketches,一个工具,支持“往返”的生命周期的草图从模拟到数字和背部。建议的工作流程包括捕获模拟和数字草图以及相关的上下文信息。此外,用户可以将草图链接到其他相关草图或文档。他们可以使用草图的数字以及增强的模拟版本访问链接的人工制品和捕获的信息。我们进一步提出了一个形成性的用户研究与四名学生的结果,并概述了未来工作的可能方向。
2017-08-05 cs.SE
Chatbot Based Solution for Supporting Software Incident Management Process
本文提出并讨论了实现聊天机器人的一系列步骤,以支持软件事件管理过程中的决策活动。每个步骤都独立于用于构建聊天机器人的平台,并详细介绍了各自的活动。建议的步骤可以以连续和适应性强的方式进行,有利于聊天机器人的持续培训,并允许对在软件事件管理过程中工作的专家的意图进行越来越有凝聚力的解释。根据ITIL框架,软件事件解决过程中,被认为是实验。最后给出了聊天机器人的构建步骤、基于DialogFlow平台的解决方案以及实验结果。
2022-01-15 cs.AI cs.SE
Supporting acceptance testing in distributed software projects with integrated feedback systems: Experiences and requirements
在验收测试过程中,客户评估系统是否满足他们的期望,并经常发现应该改进的问题。这些发现必须传达给开发人员,我们观察到这是一项容易出错的任务,特别是在分布式团队中。在这里,通常不可能让每个站点的开发人员代表参加测试。不在场的开发人员可能会误解没有充分记录的结果。这阻碍了问题的解决,并危及客户满意度。集成反馈系统有望缓解这一问题。它们允许轻松捕获结果及其背景。正确应用,这种技术可以改善反馈,同时减少客户的努力。本文收集了我们的经验,比较验收测试与反馈系统,在分布式项目。我们的研究结果表明,如果满足某些要求,这种技术可以提高验收测试。我们确定了反馈系统应该满足的关键要求,以支持验收测试。
2014-09-01 cs.SE
Supporting Process Maturation with the Enhanced CoBRA Method
成本估算是软件开发企业的一个非常重要的领域。在学习型组织的背景下,评估的适用性和准确性并不是唯一的验收标准。估算技术对理解和成熟相关组织过程(如成本和生产率因素的识别、测量、数据验证、模型验证、模型维护)的贡献最近变得越来越重要。然而,大多数提出的成本建模方法提供的软件工程师几乎没有任何帮助,在支持相关的过程。没有为验证所创建的成本模型(包括基本的数据汇集流程)提供足够的支持,或者在获得有效模型的情况下,没有为应用这些模型实现组织的目标(如提高生产率或缩短进度)提供足够的支持。本文提出了一种增强的Cobra(R)成本建模方法,系统地包括额外的定量方法到迭代分析反馈周期。应用于冲电气工业公司,有限公司、在日本,CoBRA(R)方法有助于实现以下目标,包括:(1)成熟现有的测量过程,(2)提高Oki软件项目决策者关于成本相关软件过程的专业知识,以及(3)将初始估计误差从最初的120%降低到14%。
2014-02-11 cs.SE
Guiding Effort Allocation in Open-Source Software Projects Using Bus Factor Analysis
针对开源项目关键人员流失风险,提出用代码行变更等新指标计算巴士因子,对比CST与RIG算法在五个GitHub项目及子目录上的表现。
2024-01-06 cs.SE
Supporting Real Demands in Software Engineering with a Four Steps Project-Based Learning Approach
基于项目的学习(PBL)是一种以学生为中心,边做边学的方法,它围绕项目组织学习。虽然企业家精神和PBL在SE教育是激动人心的研究课题,似乎有很少的工作集中在涉及外部利益相关者的利弊,以支持真正的需求,在软件工程教育。在实际项目中工作也有助于学生获得领导技能,如沟通,项目管理和团队合作。本文介绍了一个案例研究整合学生从不同的软件工程计划,并涉及外部利益相关者,支持PBL的概念。我们介绍了这项研究是如何设计和实施的一个大型机构,在四个步骤,总结如下:(一)需求收集和设计;(二)信息系统开发和实施;(三)集成测试和部署过程;(四)支持和维护活动。该研究有59名学生的参与,从专业技术课程的第一步,在团队中工作,和10名本科生从学士学位课程在信息系统在以下步骤中,成对工作。总体而言,利益攸关方和学生的反馈超出了预期,但增加了教师的工作量。我们能够提炼出一套新的经验教训,我们希望其中至少有一些对任何实施类似课程的人都有用。作为这项研究的结果,我们计划通过定义具体的成果和测量,在制度上正式的PBL课程改进过程。
2021-02-02 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
A Parametric Analysis of Project Management Performance to Enhance Software Development Process
项目管理过程在软件项目的有效开发中起着重要的作用。项目管理过程中的关键挑战是对时间、成本、缺陷数量的估计,以及随后对apt开发人员的选择。因此,对上述因素的准确估计决定了项目的成功程度。本文通过对一家服务型软件公司开发的几个项目的实证研究,来理解项目管理过程。分析揭示了存在的变化,在上述因素之间的估计和观察结果。它进一步抓住了需要改善项目管理过程中的估计和资源分配,以实现高质量的软件产品。因此,本文旨在提高软件工程人员的认识,更好地估计和准确分配资源的重要性和意义,以开发成功的项目。
2014-07-20 cs.SE
An Analytical Approach for Project Managers in Effective Defect Management in Software Process
在任何软件行业中,缺陷估计和预测都是软件项目成功的主要调节因素。项目经理在有效预测和评估资源能力方面的成熟度和能力是产生高质量软件的战略驱动力之一。目前,还没有通过实证分析开发的评估技术来评估项目经理对有效缺陷管理的资源分配的决策能力。本文提出了一个基于产品的软件组织中进行的实证研究。通过对几个项目的深入调查,揭示了项目经理决策能力对实现上述目标的影响。本文使项目管理人员进一步认识到预测定位在资源分配中的重要性,以开发高质量的无缺陷软件产品。它还提高了公司的成熟度和在竞争环境中的持久性。
2012-03-29 cs.SE
Supporting Robotic Software Migration Using Static Analysis and Model-Driven Engineering
University of York(约克大学);McMaster University(麦克马斯特大学)
机器人系统的广泛使用有助于开发与运行机器人系统的硬件平台高度耦合的机器人软件。由于维护成本增加或业务优先级变化,机器人硬件很少升级,从而增加了技术停滞的风险。要降低这一风险,就需要将系统及其软件迁移到新的硬件平台。传统的软件工程实践,如完全重新开发和基于代码的迁移,虽然有助于减轻这些过时的问题,他们是耗时和过于昂贵。我们的RoboSMi模型驱动方法支持控制机器人系统的软件在硬件平台之间的迁移。首先,RoboSMi对源硬件平台的机器人软件执行静态分析,以识别平台相关和平台无关的软件结构。通过分析表示目标平台上机器人组件架构的模型,RoboSMi建立这些组件的硬件配置,并为每个组件建议软件库,其执行将使机器人软件能够控制组件。最后,RoboSMi通过代码生成为目标平台生成软件,并指出需要机器人工程师手动干预才能完成迁移的区域。我们评估RoboSMi的适用性,并分析其使用所提供的自动化水平和性能,通过将部署用于环境监测的两个机器人系统和从螺旋桨活动板到Arduino Uno的线路跟踪任务。
2020-08-05 cs.RO cs.SE
umd-verification: Automation of Software Validation for the EGI federated e-Infrastructure
在EGI e-Infrastructure中支持e-Science需要广泛而可靠的软件,用于高级计算用途,部署在大约300个欧洲和全球数据中心。统一中间件分发(UMD)和云中间件分发(CMD)是为EGI电子基础设施消费提供软件的渠道。软件按照软件供应过程(SWPP)进行编译、确认和分发,其中质量标准(QC)定义设定了EGI验收的最低质量要求。目前UMD和CMD发行版中存在的软件组件越来越多,阻碍了传统的基于手动的验证机制的应用,从而推动了自动化解决方案的采用。本文介绍了umd验证,一个开源的工具,强制执行的QC要求,在一个自动化的方式为科学处置的软件产品的持续验证的履行。UMD验证工具已成功集成到SWPP管道中,并逐步支持UMD和CMD存储库中产品的全面验证。虽然支持新产品的成本取决于基础设施即代码解决方案的可用性,以接管部署和高测试覆盖率,但已经集成的产品所获得的结果是有希望的,因为产品验证所投入的时间已经大大减少。此外,自动化的采用为流程的可靠性带来了好处,例如消除了与人为相关的错误或先前测试功能的回归风险。
2018-07-30 cs.SE
Supporting Modularity in Simulink Models
基于模型的开发(MBD)广泛用于嵌入式控件开发,Matlab Simulink是工业中最常用的建模环境之一。与所有软件一样,Simulink模型在其生命周期中会不断演变,必须加以维护。模块化是促进复杂软件构造的基本软件工程原则,并且在文本语言(例如C)中使用。然而,由于Simulink是一种图形化建模语言,目前还不清楚如何在Simulink开发中利用模块化,也不清楚当前的Simulink建模结构是否支持模块化。通过引入Simulink模块的概念,提出了一种在Simulink中实现模块化的有效方法。该方法的有效性是使用著名的模块化指标,包括耦合和内聚,圈复杂度,信息隐藏能力。定义了一个语法接口,以表示跨模块边界的所有数据流。还提出了四个建模准则,以鼓励最佳做法。此外,一个自定义的工具,支持Simulink模块的建模描述。最后,这项工作是证明和评估一个真实世界的例子,从核领域。
2020-07-20 cs.SE
Towards Automatic Support of Software Model Evolution with Large Language~Models
Siemens AG(西门子股份公司);Saarland University(萨尔大学);HKA Karlsruhe(卡尔斯鲁厄应用技术大学)
针对软件模型演化缺乏自动化辅助的问题,提出利用大语言模型实现模型补全与编辑模式挖掘的方法,经模拟仓库对照实验验证其有效性,为软件模型演化自动化提供了新方向。
2023-12-19 cs.AI cs.SE
Application of Sizing Estimation Techniques for Business Critical Software Project Management
估算是软件项目管理生存周期中最关键的领域之一,与许多其他行业(如建筑业,制造业等)相比,软件项目管理仍在不断发展和不太成熟。持续的错误估计迫使研究人员、从业人员和商业组织将注意力转向问题的另一个方面,并认真验证另一个组成部分,即规模估计。最近的研究表明,规模是成本的主要决定因素,因此,准确的规模估计是至关重要的良好的成本估计。因此,提高规模估计的准确性有助于提高成本和进度估计的准确性。此外,软件规模和成本估计在项目开始时具有最高的效用,此时最重要的决策(例如预算分配,人员分配等)。都有主了然而,困境在于,在这个阶段,只有项目的高级需求是可用的。利用这些高级信息来准确估计软件大小是一项极具挑战性和高风险的任务。本研究承认风险的存在和影响,在任何软件的估计,并提供务实的风险缓解策略。
2014-05-24 cs.SE
KRAFT -- A Knowledge-Graph-Based Resource Allocation Framework
KRAFT利用知识图谱和推理技术,在业务流程管理中实现适应性强且透明的资源分配决策,克服了传统系统的僵化和自动化方法缺乏可解释性的问题。
2025-03-27 cs.SE
Experience on Re-engineering Applying with Software Product Line
在本文中,我们提出了我们的经验的基础上,再工程项目。软件项目是对企业原有的系统进行重新设计,以满足新的需求和业务功能的变化。再工程是一个不仅涉及软件系统,而且涉及底层业务模型的过程。特别是,新的商业模式是与新技术一起设计的,以支持新系统。本文介绍了应用软件产品线方法开发支持原有业务功能和新业务功能的新系统的经验。
2012-06-19 cs.SE
Symbolic quantum programming for supporting applications of quantum computing technologies
本文概述了量子软件开发工具的现状与优缺点,提出了一种支持符号操作、函数式编程且兼容高性能与云计算的量子程序开发架构,并展示了其在量子软件测试与电路构建中的应用。
2023-02-18 cs.PL cs.SE quant-ph
Supporting Software Formal Verification with Large Language Models: An Experimental Study
本文提出 SpecVerify 框架,将 Claude 3.5 Sonnet 与 ESBMC 结合实现自动化形式化验证,在九个信息物理系统上达到 46.5% 准确率,并表明 LLM 可降低验证门槛但人机协作仍不可或缺。
2025-07-07 cs.SE
Supporting software engineering tasks with agentic AI: Demonstration on document retrieval and test scenario generation
Gratex International(格拉特克斯国际);Department of Applied Informatics Faculty of Mathematics, Physics and Informatics Comenius University(应用信息学院数学、物理和信息学院康门ius大学)
本文提出利用代理AI解决软件工程中的文档检索和测试场景生成问题,通过专用代理处理不同任务,提升软件开发效率。
2026-02-04 cs.AI cs.SE
Revised Modularity Index to Measure Modularity of OSS Projects with Case Study of Freemind
开源软件(OSS)项目在全球范围内越来越受欢迎。许多研究人员的研究表明,重要的关键成功因素是源代码的模块化。本文提出了一种用于度量基于Java的OSS项目模块化水平的软件度量标准--模块化指数。为了说明模块化指数在分析OSS项目中的有效性,本文将模块化指数及其支持软件度量用于分析Freemind思维导图OSS项目的发展过程。使用模块化指数及其支持度量的分析显示了Freemind OSS项目的优势和劣势。
2013-09-23 cs.SE
Archify: A Recommender System of Architectural Design Decisions
软件体系结构在软件质量保证中起着至关重要的作用。然而,中小型公司(SMC)往往缺乏具有软件架构技能和专业知识的专业人员。这种情况可能会影响软件产品的最终质量,并给项目预算带来额外的咨询费用压力。本文介绍了一个名为Archify的建筑设计决策推荐系统。我们的目标是支持SMC公司在架构设计他们的产品的努力的一部分。Archify实现了一个向导风格的界面,可以指导开发人员或项目经理解决一系列特定的问题。当用户回答这些问题时,Archify会缓冲一组相应的架构决策建议。作为最终结果,系统根据开发中软件的需求(由用户提供)推荐一组与项目需求相匹配的架构决策。来自学术界和工业界的19位专业人士通过两项调查对Archify进行了评估。调查结果显示,94.7%的参与者认可Archify作为支持工具。答复者还强调缺乏支持软件架构设计的工具,并指出拟议系统的相关性。
2021-06-15 cs.SE
Evolutionary Optimization of AI-Collapsed Software Development Stacks: Labor Tipping Points and Workforce Realignment
Athena’s Zephyr LLC(阿瑞涅的泽费尔有限责任公司)
本文提出一个量化框架,用于优化软件开发中人类与AI劳动力的分配,通过建立基线和AI压缩劳动力模型,推导出安全裁员临界点方程,并在多目标进化优化框架中嵌入,实验揭示了可复现的自动化策略,降低成本同时保持质量和稳定的工作负载。
2026-05-12 cs.SE
Learning migration models for supporting incremental language migrations of software applications
遗留系统可以定义为一个显著抵制修改和进化的系统。根据文献,有两种主要的策略来迁移遗留系统:(a)用新系统替换遗留系统,(b)增量地将部分从遗留系统迁移到新系统。增量迁移允许开发人员更好地控制迁移过程中可能发生的风险。然而,这种策略更复杂,因为它需要将遗留系统分解为不同的部分,例如一组文件,并定义它们在迁移过程中的迁移顺序。据我们所知,没有办法支持开发人员进行这些活动。目的:本文提出了一种支持应用程序从一种源语言到另一种目标语言的增量语言迁移的方法MigrationExp。MigrationExp建议在特定迁移迭代中首先迁移的文件。作为一种新颖的方法,我们的方法依赖于一个排名模型的学习,使用学习排名算法,由开发人员进行迁移。方法:我们在Android应用程序迁移的背景下验证了我们的方法,从Java到Kotlin,一种新的Android官方语言。我们通过将Java代码迁移到开源应用程序开发人员编写的Kotlin来训练我们的模型。结果如下:结果表明,在提出文件迁移的任务上,我们的方法在准确预测经验观察到的迁移顺序的能力方面优于Google提出的先前的迁移策略。结论:由于大多数Android应用程序都是用Java编写的,因此我们得出结论,支持开发人员的方法(如MigrationExp)可能会对Android应用程序的开发产生重大影响。
2022-10-03 cs.SE
Supporting the Adoption of Privacy-Enhancing Technologies through Requirements Engineering
Blekinge Institute of Technology(布莱金厄理工学院);fortiss GmbH(fortiss有限公司);Google(谷歌);MAYA Data Privacy Limited(MAYA数据隐私有限公司);adidas AG(阿迪达斯股份公司);JAGGAER LLC(JAGGAER有限责任公司)
本文从需求工程视角分析隐私增强技术(PETs)在软件工程中采用面临的跨利益相关者和跨学科挑战,提出通过系统化处理工程、商业和法律视角来促进PETs采用。
2026-06-17 cs.SE
A green program lifecycle supporting energy-efficient applications
随着物联网(IoT)的出现,由于互联网连接设备在我们的日常生活中无处不在(例如,电表、可穿戴设备等)。虽然软件系统不直接消耗能量,但它们强烈影响硬件的能量消耗。因此,开发人员应该更多地了解这些系统在其生命周期中消耗的能源,并考虑对我们地球可持续性的长期影响。实际上,一旦部署,系统消耗的能量取决于主要由使用上下文确定的几个因素。这意味着节能软件开发领域需要绿色开发生命周期,提供适当的方法和工具,以在设计时早期识别和分析应用程序的能源热点,并了解它们如何自适应运行时上下文使用。令人遗憾的是,开发人员和用户以及他们在应用程序执行期间消耗的能量中的责任的观点很狭隘。正如最近的一些研究所显示的那样,开发人员很少解决能源效率问题,主要是因为他们缺乏适当的方法和工具来帮助他们在运行时生成绿色软件。因此,尽管软件能效在一个越来越依赖技术的世界中变得越来越重要,但由工具支持的自绿化系统的开发过程仍处于起步阶段。另一方面,考虑到许多当前应用通常部署在智能电话或任何种类的智能对象(例如,传感器、手表等),优化执行期间的能耗也将对电池节省产生重大影响,从而提高最终用户的体验质量。
2017-06-21 cs.SE
Measuring LLM Trust Allocation Across Conflicting Software Artifacts
University of Texas at Dallas(德克萨斯大学达拉斯分校);IQVIA Inc.(IQVIA公司)
研究探讨LLM在处理冲突软件构件时的信任分配问题,提出TRACE框架评估不同构件的质量、不一致性和信任校准,发现模型在检测文档错误时表现优于实现错误,但对实现漂移而文档无误的情况检测率下降,且信任校准不佳。
2026-07-23 cs.AI cs.SE
An Introduction to Software Engineering and Fault Tolerance
这本书由描述将容错集成到软件开发过程中的新方法的章节组成。它们涵盖了广泛的主题,侧重于容错在不同阶段的软件开发,软件工程技术的验证和确认的容错手段,和语言支持容错规范和实施。因此,本书分为以下三个部分:A部分:容错工程:从需求到代码; B部分:容错系统的验证和确认; C部分:工程容错系统的语言和工具。
2010-11-06 cs.SE
An Example for BeSpaceD and its Use for Decision Support in Industrial Automation
我们描述了我们的形式化方法为基础的空间推理框架BeSpaceD及其在工业自动化决策支持中的应用。特别是,我们支持基于工业工厂和采矿业务的正式模型的分析和决策。BeSpaceD是一个用于确定时空模型的几何和拓扑属性的框架。我们提出了一个例子,并报告我们正在进行的经验与应用程序在不同的项目,围绕软件和网络物理系统工程。这个例子的特点是抽象了一个生产工厂模型的各个方面。使用的例子,我们激励使用我们的框架的背景下,现有的软件平台支持监控,事故处理和维护的工业自动化设施在远程位置。
2015-12-15 cs.SE
Software development in the age of LLMs and XR
该研究设想生成式AI主导软件开发、XR设备普及的未来场景,分析其对IDE的影响、对开发流程的冲击,以及所需的开发者支持工具。
2024-04-15 cs.SE
Toward Organizational Decoupling in Microservices Through Key Developer Allocation
该研究提出一种识别微服务项目中关键开发者的方法,并探讨其与组织耦合的联系,以通过检测和缓解组织耦合来维护和优化微服务架构,防止退化。
2025-01-29 cs.SE
Total Recall, Language Processing, and Software Engineering
软件工程问题的一个广泛的类别可以概括为“总召回问题”。这篇短文声称,在软件工程中识别和探索全召回语言处理问题是一项具有广泛适用性的重要任务。为了实现这一点,我们表明,通过应用和适应最先进的主动学习和文本挖掘,总召回问题的解决方案,可以帮助解决两个重要的软件工程任务:(a)支持大型文献综述和(b)识别软件安全漏洞。此外,我们推测(c)测试用例优先级和(d)静态警告识别也可以归类为总召回问题。“全面回忆”在软件工程中的广泛应用表明,存在一些基础框架,不仅包括自然语言处理,还包括广泛的重要软件工程任务。
2018-08-31 cs.SE
Case Study Based Software Engineering Project Development: State of Art
本文指出了案例研究方法在教育和培训软件设计师和软件工程师方面的重要性和有效性。随后介绍了基于案例教学法的软件工程在专业人才培养中的应用,并对软件设计人员培养中存在的问题以及如何运用案例教学法进行阐述。本文介绍了一个名为在线塔标绘系统(OTPS)的软件项目,以开发一个完整和全面的案例研究,以及支持的教育材料。该案例研究旨在展示各种软件领域,模块和课程:从学士到硕士,博士,甚至是正在进行的专业发展。
2013-06-11 cs.SE
Modeling and Analyzing Release Trajectory based on the Process of Issue Tracking
软件发布开发过程,我们称之为“发布轨迹”,涉及通常按不同类别分类的开发活动,例如纳入新功能,改进软件或修复错误,并与“问题”相关联。释放轨迹管理是一项困难而关键的任务。管理人员必须了解开发过程的各个方面,以管理与软件相关的问题。问题跟踪系统(ITS)在支持发布轨迹管理方面发挥着核心作用。这些系统支持报告和跟踪不同类型的问题(如“错误”、“功能”、“改进”等),记录有关软件开发过程的丰富数据。然而,在ITS中记录的历史数据仍然没有很好地建模,以支持实际需要的释放轨迹管理。在本文中,我们描述了一个序列分析方法建模和分析发布的轨迹,使用报告的问题的跟踪过程。释放轨迹分析是基于跟踪的问题的类别和它们的时间变化,并旨在解决有关未解决的问题的共存,在释放轨迹的不同状态之间的转换,释放轨迹的复发模式,和释放轨迹的属性的重要问题。
2015-03-17 cs.SE
gazel: Supporting Source Code Edits in Eye-Tracking Studies
眼动追踪工具被用于软件工程研究中,以研究各种软件开发活动。然而,这些工具的一个主要限制是它们无法跟踪涉及源代码编辑的活动的凝视数据。我们提出了一种新的解决方案,以支持眼动追踪实验的任务,涉及源代码编辑的iTrace社区基础设施的扩展。我们介绍了iTrace-Atom插件和gazel --一个Python数据处理管道,它将凝视信息映射到不断变化的源代码元素,并为研究人员提供了一种查询这种动态数据的方法。iTrace-Atom通过一系列模拟进行评估,在超过1,000 Hz的高眼动追踪速度下准确率超过99%。iTrace和gazel彻底改变了眼动追踪研究在现实环境中进行的方式,包括滚动、上下文切换和编辑。这为支持许多日常的软件工程任务打开了大门,例如bug修复、添加新功能和重构。
2021-06-19 cs.HC cs.SE
Context-Augmented Software Development Projects: Literature Review and Preliminary Framework
软件开发是一项复杂的活动,依赖于各种技术和人们的专业知识。开发软件的方法高度依赖于这些不同的特征,这些特征是开发人员所服从的上下文。这个上下文包含大量的知识,不捕获它意味着知识不断丢失。虽然广泛的研究,在软件开发中的上下文仍然是不明确的,也没有提出一个更广泛的观点,软件开发人员和工具所需要的上下文。因此,开发人员的生产力受到影响,因为重用这种丰富上下文的能力受到阻碍。本文提出了一个文献综述的软件开发环境,通过九个研究问题。本研究的目的是使所发现的上下文显式到一个集成的视图,并提出了一个平台,以帮助软件开发使用上下文信息。我们相信,通过上下文知识的表示和挖掘来支持推荐和实时提供,可以显着改善大数据软件项目的开发。
2019-10-17 cs.SE
Identifying the Importance of Software Reuse in COCOMO81, COCOMOII
软件项目管理是对项目计划、项目监控和项目终止的补充。计划的基本目标是寻找未来,诊断为成功完成项目而基本完成的属性,使进度计划生动化,并为属性分配资源。软件成本估算在软件项目的资源分配和投标等决策中起着至关重要的作用。本文阐述了传统的软件成本估算方法的概述。将各公司对软件项目的成本、工作量估算结果进行汇总,并将其与现有的成本模型进行分离,计算出MRE(平均相对误差)。我们已经将历史数据管理到COCOMO81,COCOMOII模型,并确定了恒星的困境是,没有成本模型给出了软件项目的准确估计。
2009-12-11 cs.SE
Traceability Support for Multi-Lingual Software Projects
软件可追溯性在不同的软件工件(如需求、设计、代码和测试用例)之间建立关联。由于手工创建和维护链接的成本很高,许多研究人员提出了基于信息检索技术的自动化方法。然而,许多全球分布的软件项目产生用两种或更多种语言编写的软件工件。混合语言的使用降低了自动跟踪解决方案的效率。在本文中,我们首先分析和讨论跨多个项目的混合语言使用的模式,然后评估几种不同的跟踪算法,包括向量空间模型(VSM),潜在语义索引(LSI),潜在狄利克雷分配(LDA),以及各种模型,结合单语言和跨语言的词嵌入与生成向量空间模型(GVSM)。基于对14个汉英项目的分析,我们的结果表明,使用单语种词嵌入集成到GVSM与机器翻译作为预处理步骤,实现了最佳的性能。
2020-06-30 cs.SE
The Four Pillars of Research Software Engineering
构建能够支持现代研究所需的数据和计算的巨大增长的软件需要具有越来越专业的技能集的个人,这些技能集需要时间来开发和维护。研究软件工程运动始于英国,近年来逐渐发展起来,旨在认识和支持这些人。为什么研究软件对研究社区之外的专业软件开发从业者很重要?研究软件可以对更广泛的世界产生巨大的影响,最近的进展意味着该领域现在可以被认为是专业软件开发职业生涯的一个更现实的选择。在这篇文章中,我们提出了一个结构,以及支持证据的现实世界的活动,它定义了四个要素,我们认为是关键的研究软件工程提供全面和可持续的支持。我们还强调了更广泛的开发人员社区可以从这些活动中学习和参与的方式。
2023-01-25 cs.SE
Towards Supporting Quality Architecture Evaluation with LLM Tools
Rey Juan Carlos University(雷伊胡安卡洛斯大学);Universidad del Centro de la Provincia de Buenos Aires(布宜诺斯艾利斯省中部大学);Universidad Politécnica de Madrid(马德里理工大学)
本文探讨利用LLM工具自动化架构评估,通过对比学生建议的质量场景与经验架构师及LLM工具的结果,发现LLM在风险分析和权衡分析中表现更优,显著降低评估工作量。
2026-03-30 cs.SE
Supporting AI Engineering on the IoT Edge through Model-Driven TinyML
Technical University of Munich(慕尼黑工业大学);Univ. of Antwerp(安特卫普大学);Flanders Make(法兰德斯制造研究院);Univ. of Reading(雷丁大学)
以网络为中心的人工智能(AI)和物联网(IoT)支持的网络物理系统(CPS)和服务的软件工程涉及复杂的设计和验证挑战。在本文中,我们提出了一种新的方法,基于模型驱动的软件工程范式,特别是特定领域的建模方法。我们专注于人工智能的一个子学科,即机器学习(ML),并建议将数据分析和ML委托给物联网边缘。通过这种方式,我们可以提高机器学习的服务质量,例如其可用性和性能,无论网络条件如何,以及维护隐私,安全性和可持续性。我们让从业者将机器学习任务分配给异构边缘设备,包括高度资源受限的嵌入式微控制器,其主存储器数量级为千字节,能耗数量级为毫瓦。它被称为TinyML。此外,我们展示了如何在软件开发过程中使用不同层次的抽象,即平台无关和平台特定的模型的软件模型。最后,我们验证了所提出的方法,使用案例研究解决预测维护的液压系统与各种网络传感器和执行器。
2022-04-03 cs.AI cs.LG cs.SE