Building Resource Adaptive Software Systems (BRASS): Objectives and System Evaluation
随着现代软件系统继续无情地增加复杂性和能力,用户已习惯于定期更新和升级,以避免过时-如果在挫折方面付出一些代价的话。就美国军方而言,获得运行良好的软件系统和底层内容对国家安全至关重要,但更新的问题并不比民用用户少,而且往往需要相当多的时间和费用。为了应对这些挑战,DARPA宣布了一项新的为期四年的研究项目,以调查软件系统和数据在超过100年的时间内保持稳健和功能所需的基本计算和算法要求。建筑资源自适应软件系统(BRASS)计划旨在实现长期软件系统的设计和实现的基础性进展,这些系统可以动态地适应它们所依赖的资源和运行环境的变化。麻省理工学院林肯实验室将提供测试框架和评估拟议的软件工具,以支持这一革命性的愿景。
2015-10-07 cs.SE
On Test Sequence Generation using Multi-Objective Particle Swarm Optimization
本文将测试序列生成建模为同时优化路径与Oracle成本的多目标问题,采用MOPSO生成高优先级、低成本测试序列,并证明其优于MOFA。
2024-04-09 cs.SE
Predicting the Objective and Priority of Issue Reports in Software Repositories
开发人员协作讨论、实现、使用和共享托管在软件存储库上的软件实体。正确的文档在成功的软件管理和维护中起着重要的作用。用户利用问题跟踪系统(一种软件存储库工具)跟踪问题报告,管理工作量和流程,最后记录团队工作的亮点。问题报告是协作管理的软件知识的丰富来源,可以包含报告的问题,对新功能的请求,或者仅仅是关于软件产品的问题。随着这些问题数量的增加,手动管理它们变得越来越困难。GitHub提供了标记问题的标签,作为问题管理的一种手段。然而,在GitHub的前1000个存储库中,大约有一半的问题没有任何标签。我们的目标是自动化软件团队管理问题报告的过程。我们提出了一个两阶段的方法来预测背后的目标打开一个问题,它的优先级使用功能工程方法和国家的最先进的文本分类。据我们所知,我们是第一个微调Transformer以进行问题分类的公司。我们在基于项目和跨项目的环境中对模型进行训练和评估。后一种方法提供了一个通用的预测模型,适用于任何看不见的软件项目或几乎没有历史数据的项目。我们提出的方法可以成功地预测问题报告的目标和优先级,分别为82%和75%的准确率。此外,我们对六个看不见的GitHub项目中未标记的问题进行了人工标记和评估,以评估跨项目模型在新数据上的性能。该模型达到90%的准确率。我们获得85%的平均百分比协议和71%的伦道夫的自由边际Kappa转化为大量的协议之间的贴标机。
2021-09-28 cs.SE
Multi-objective Software Architecture Refactoring driven by Quality Attributes
针对架构优化任务难度高、耗时长且资源消耗大的问题,提出了一种质量属性驱动的多目标软件架构重构优化框架,测试了多种遗传算法的性能,并通过两个不同特征的案例研究完成了框架验证。
2023-01-18 cs.SE
Systematically reviewing the layered architectural pattern principles and their use to reconstruct software architectures
体系结构重构是一种逆向工程活动,旨在恢复系统上丢失的决策。它可以帮助根据应用程序的体系结构模式识别遗留软件应用程序中的组件。识别架构技术债务是很有用的。我们感兴趣的是在分层应用程序中识别层,因为分层模式是构建大型系统最常用的模式之一。早期的组件重构工作主要关注于该模式,依赖于通用的组件标识标准,比如内聚和耦合。最近的工作已经确定了架构模式特定的标准,以识别该模式中的组件。然而,分层模式所体现的特定于架构模式的标准是松散定义的。在本文中,我们提出了第一个系统的文献综述(SLR)的文献,旨在清点这些标准的层内的遗留应用程序和分组下的四个原则,体现了基本的设计原则的基础上的架构模式。我们确定了六个这样的标准的设计规则的形式。我们还进行了第二次系统的文献综述,以综合文献的软件架构重建在这些标准。我们报告这些原则,它们所包含的规则,它们的表示,以及它们在软件架构重构中的使用。
2021-12-02 cs.SE
A measurement based software quality framework
在这份报告中,我们提出了一个解决问题的依赖于软件项目质量保证人员的经验,提供一个透明的,客观的和基于测量的质量框架。该框架通过定义和评估可测量的质量目标和阈值,直接将这些与升级机制联系起来,帮助质量保证专家在软件项目中做出客观和可比的决策。在现实生活中的案例研究中应用建议的基于测量的软件质量框架的第一个结果也在本报告中得到了解决。
2014-08-17 cs.SE
Introducing Interactions in Multi-Objective Optimization of Software Architectures
本研究针对软件架构多目标优化的资源密集型问题,提出引入设计者中间介入的交互式方法,经实验和用户研究验证,该方法可提升架构质量、发现新架构并实现探索效率与计算时间的更好平衡。
2024-12-19 cs.SE
Understanding by Reconstruction: Reversing the Software Development Process for LLM Pretraining
ByteDance Seed(字节跳动种子);Fudan University(复旦大学);M-A-P;ByteDance TikTok(字节跳动TikTok);Shanghai Innovation Institute(上海创新研究所);The Hong Kong University of Science and Technology(香港科技大学)
本文提出通过重构软件开发过程来提升LLM性能,通过模拟多智能体轨迹生成更丰富的监督信号,实验显示在多个基准测试中效果显著。
2026-03-19 cs.SE
Teaching Simulation as a Research Method in Empirical Software Engineering
本章面向教育者与研究生,结合教学经验阐明仿真在软件工程研究中的作用,并提供学习目标、指导与活动设计。
2025-01-08 cs.SE
A Survey of Software Engineering Practices in Turkey (extended version)
背景:了解行业中使用的软件工程实践和技术的类型是很重要的。在每个软件团队和公司中进行的软件工程实践的类型和成熟度方面有很宽的范围。为了描述在软件公司中进行的软件工程实践的类型,在不同的国家和地区进行了各种调查。土耳其有一个充满活力的软件行业,重要的是要描述和了解该行业的软件工程实践的状态。目标:我们的目标是描述和掌握土耳其软件行业软件工程实践类型的高级观点。在这项研究中,我们调查的软件工程实践包括:软件需求、设计、开发、测试、维护、配置管理、发布计划和支持实践。目前的调查是在土耳其软件行业背景下进行的最全面的调查。方法:为了实现上述目标,我们系统地设计了一个在线调查46个问题,根据我们过去的经验,在加拿大和土耳其的背景下,并使用软件工程知识体系(SWEBOK)。来自土耳其软件行业的202名执业软件工程师参加了调查。我们分析和报告在本文中的问题的结果。只要有可能,我们还会将我们的调查趋势和结果与2010年在加拿大软件行业进行的类似调查结果进行比较。
2014-12-16 cs.SE
FEMOSAA: Feature Guided and Knee Driven Multi-Objective Optimization for Self-Adaptive Software
自适应软件(SAS)可以在运行时重新配置自己以适应不断变化的环境,旨在不断优化冲突的非功能目标,例如,响应时间,能耗,吞吐量和成本等。在本文中,我们提出了特征引导和知识驱动的多目标优化自适应软件(FEMOSAA),一种新的框架,自动协同功能模型和多目标进化算法(MOEA),优化SAS在运行时。FEMOSAA分两个阶段运行:在设计阶段,FEMOSAA自动将工程师的SAS设计转换为特征模型,以适应MOEA,创建新的染色体表示和再现算子。在运行时,FEMOSAA利用特征模型作为领域知识来指导搜索,并进一步扩展MOEA,为找到更好的解决方案提供了更大的机会。此外,我们设计了一种新的方法来寻找膝盖的解决方案,它可以实现一个平衡的权衡。我们全面评估FEMOSAA上运行的两个SAS:一个是一个高度复杂的SAS与各种适应现实世界的软件下的现实工作负载跟踪,另一个是面向服务的SAS,可以动态组成的服务。特别是,我们比较了FEMOSAA的有效性和开销对它的四个变种和其他三个基于搜索的框架SAS在各种情况下,包括三个常用的MOEA,两个工作负载模式和各种冲突的质量目标。结果显示FEMOSAA的有效性及其优于其他方法,具有较高的统计学显著性和非平凡效应量。
2018-04-22 cs.SE
Many-Objective Optimization of Non-Functional Attributes based on Refactoring of Software Models
该研究提出一种基于NSGA-II遗传算法的软件模型多目标重构优化方法,兼顾性能、可靠性等多目标,在两个案例中实现性能最高提升42%、可靠性最高提升32%,验证了性能反模式和架构距离指标的有效性。
2023-01-23 cs.SE
Software Fault Localization Based on Multi-objective Feature Fusion and Deep Learning
针对传统软件故障定位方法特征多样性有限、精度低的问题,本文提出融合多目标特征选择与深度学习的新方法,通过提取三类故障特征并结合MLP和GRN模型,在Defects4J和PROMISE数据集上显著提升定位准确性、效率与泛化性。
2024-11-26 cs.SE
From Approval to Execution: Reconstruction-Aware Repair Analysis for LLM-Agent Software
针对LLM智能体软件中审批后操作可能被重建导致授权绕过的问题,提出重建稳定授权(ReSA)分析,通过APAS-Finder工具验证修复充分性,实验证明其有效性。
2026-09-23 cs.SE
Quality Attributes Optimization of Software Architecture: Research Challenges and Directions
本文针对软件架构质量属性优化中不同属性改进需求相互矛盾的问题,梳理了多目标软件架构优化领域的现有空白,提出了该方向的开放性挑战与研究方向。
2023-01-18 cs.SE
On the impact of Performance Antipatterns in multi-objective software model refactoring optimization
软件质量评估是一个具有挑战性和耗时的活动,模型是至关重要的,以面对现代软件应用程序的这种活动的复杂性。一个主要的挑战是,独特的质量属性的改进可能需要对应用程序进行对比的重构操作,如性能和可靠性之间的权衡。在这种情况下,多目标优化可以为设计师提供更广泛的观点,这些权衡,因此,可以导致确定适当的行动,考虑到独立的,甚至竞争的目标。在本文中,我们提出了一种方法,利用NSGA-II多目标进化算法搜索最佳的Pareto解决方案的软件重构边界,同时考虑的目标:i)性能变化,ii)可靠性,iii)性能反模式的数量,和iv)架构距离。该算法将随机生成的重构动作组合成解决方案(即,动作序列),并根据目标进行比较。我们已经在一个训练订票服务案例研究中应用了我们的方法,并且重点分析了性能反模式对解决方案质量的影响。事实上,我们观察到,当反模式进入多目标优化时,该方法可以找到更好的解决方案。特别是,性能反模式目标导致解决方案的性能提高了15%,相对于不考虑反模式的情况下,而不影响解决方案的质量对其他目标。
2022-12-16 cs.PF cs.SE
Focus Areas, Themes, and Objectives of Non-Functional Requirements in DevOps: A Systematic Mapping Study
软件非功能性需求解决了在开发和运行过程中必须考虑的大量目标、期望甚至责任。通常,这些非功能性需求来自不同的领域,它们的具体范围、概念和与功能性需求的分界往往是模糊的。在这项研究中,我们试图分类和分析相关的工作,软件工程在DevOps的上下文中,以澄清不同的重点领域,主题和目标的非功能性需求,并确定未来的研究方向在这一领域。我们进行了一个系统的映射研究,包括142个选定的主要研究,提取重点领域,并合成所描述的NFR的主题和目标。为了检查与DevOps中的非功能需求相关的非工程重点研究,我们进行了向后滚雪球的步骤,并额外纳入了17项主要研究。我们的分析揭示了7个经常性的重点领域和41个主题,这些主题是DevOps中NFR的特征,以及这些主题的典型目标。总体而言,DevOps中NFR的重点领域和主题非常多样化,反映了将软件工程与技术质量、业务、合规性和组织考虑因素保持一致所需的不同视角。在DevOps驱动的项目中,缺乏方法论支持来指定、测量和评估这些NFR的实现,这为该领域的未来研究提供了充足的机会。特别是,有必要为操作化非工程为重点的软件目标的经验验证的方法。
2022-01-17 cs.SE
Towards Objective-Tailored Genetic Improvement Through Large Language Models
本文提出利用大语言模型为遗传改进生成面向目标定制的变异体,并论证LLMs与GI可相互增强,从而扩展软件优化能力并辅助开发者。
2023-04-19 cs.SE
Objectives and Key Results in Software Teams: Challenges, Opportunities and Impact on Development
本文通过访谈47人并调查4000余名工程师,研究大型软件公司中目标设定与OKR实践,发现中层管理者和工程师态度是关键,并提出改进数据、透明度、沟通及推广的建议。
2023-11-01 cs.SE
Evaluation of Software Quality Through Refactoring Commit-Impact Analysis
Islamic University of Technology(伊斯兰技术大学)
本研究通过检查重构提交前后代码变更的影响,结合软件度量与GitHub开源软件的静态代码分析,探究代码修改与软件质量的相关性。
2026-10-12 cs.SE
Generating Pairwise Combinatorial Interaction Test Suites Using Single Objective Dragonfly Optimisation Algorithm
组合交互测试作为一种有效的软件测试技术,近年来得到了广泛的关注。它显示了它的能力,以减少测试用例的数量,必须考虑的被测软件的参数的组合作为一个相互作用的输入。这种组合可以被认为是不同软件系列的输入配置。成对组合测试集考虑了两个输入参数的交互作用,而不是多个参数的交互作用。有证据表明,该测试套件可以检测到大多数的故障在测试中的软件相比,更高的相互作用。本文提出了一种生成两两组合测试集的新技术。并对一种新的群智能优化算法--龙飞算法(DF)进行了评价.文中详细介绍了算法的设计和自适应过程。该算法通过不同的实验和基准测试进行了广泛的评估。评估表明,所提出的技术的效率测试套件生成和DF优化算法的有用性,为今后的调查。
2019-04-09 cs.SE
J-PET Framework: Software platform for PET tomography data reconstruction and analysis
J-PET Framework是一个用于数据分析的开源软件平台,用C++编写,基于ROOT包。它为重建、校准和滤波程序的实施以及正电子发射断层成像数据的用户级分析提供了通用环境。该库包含一组构建块,即使编程经验很少的用户也可以通过方便,简单且文档齐全的API将其组合成处理任务链。通用输入输出接口允许处理来自各种来源的数据:来自断层扫描采集系统或诊断设置(如数字示波器)的低级数据,以及高级断层扫描结构(如正弦图或响应线列表)。此外,该环境可以与蒙特卡罗模拟软件包,如GEANT和GATE,这是常用的医学科学界。
2020-05-27 cs.SE physics.ins-det physics.med-ph
State of the Practice in Software Effort Estimation: A Survey and Literature Review
工作量估计是软件项目成功的关键因素,定义为在时间表和预算内交付商定质量和功能的软件。传统上,工作量估计用于计划和跟踪项目资源。基于这些目标的工作量估计方法通常专注于提供精确的估计,并且通常不支持最近在软件行业中变得重要的目标,例如因果工作依赖关系的系统和可靠分析。本文介绍了从工业的角度来看,软件工作量估计的研究结果。该研究调查的工业目标,软件组织的能力,以应用某些估计方法,并实际应用的软件工作量估计的做法。最后,在调查中确定的努力估计方法的要求进行比较,对现有的估计方法。
2014-01-23 cs.SE
A Lean and Highly-automated Model-Based Software Development Process Based on DO-178C/DO-331
城市空中交通和无人机系统全球市场的出现吸引了世界各地的许多初创公司。这些组织在民用航空用于开发软件和电子硬件的传统程序方面几乎没有受过培训或经验。它们也受到资源的限制,无法分配给专门的专业人员小组,以遵循这些标准化程序。为了填补这一空白,本文提出了一个自定义的工作流程的基础上的一个子集的目标来自安全关键软件的基础标准DO-178 C/DO-331。从标准中选择目标是基于特定目标的重要性、自动化程度和可重用性。这种自定义工作流程旨在建立一个精益和高度自动化的开发生存周期,从而为研究和原型飞机提供具有更好可维护性的更高质量软件。它也可以作为某些应用软件的合规手段,如无人驾驶飞机系统,城市空中交通和通用航空。通过生成一组基本的开发和验证工件,自定义工作流程还为未来符合DO-178 C/DO-331的潜在认证提供了可扩展的基础。自定义的工作流程中演示了一个自动驾驶仪手动断开系统的案例研究。
2020-10-13 cs.SE
Many-Objective Software Remodularization using NSGA-III
University of Michigan(密歇根大学);Michigan State University(密歇根州立大学)
由于不断的变化和糟糕的设计选择,当今的软件系统非常复杂且难以维护。为了处理系统的复杂性,软件产品通常被分解为包含依赖类的包/模块。然而,它是具有挑战性的自动重新调整系统,以提高其可维护性。现有的大多数再模块化工作主要满足一个目标,即通过优化耦合和内聚来改善包的结构。此外,现有的研究大多局限于少数几种操作类型,如移动类和拆分包。许多其他目标,例如设计语义、减少变更数量以及最大限度地提高与开发变更历史的一致性,对于通过重新调整软件来提高软件质量非常重要。在本文中,我们提出了一种新的基于多目标搜索的方法使用NSGA-III。该过程的目的是找到最佳的重新模块化解决方案,改善包的结构,最大限度地减少更改的数量,保持语义一致性,并重用更改的历史。我们通过与软件工程师进行的定量和定性研究,使用四种不同的开源系统和一个汽车行业项目来评估我们方法的效率。
2020-05-13 cs.AI cs.SE
Analysis of Software Engineering Practices in General Software and Machine Learning Startups
本研究通过系统文献综述对比了ML初创企业与通用软件初创企业在软件开发生命周期五个阶段的软件工程实践差异,发现ML模型的非确定性带来了额外挑战,需采用不同策略保障产品质量。
2023-04-04 cs.SE
A Methodology for assessing Agile Software Development Approaches
敏捷方法为组织或团队提供了灵活性,可以根据他们的文化、价值观和他们开发的系统类型,采用选定的原则和实践子集。更具体地说,每个组织或团队都实施了定制的敏捷方法,以更好地满足其需求。然而,定制的方法在多大程度上支持组织的目标,或者更确切地说,该方法的“优点”是值得怀疑的。现有的敏捷评估方法侧重于比较分析,或者在范围和应用方面受到限制。在这项研究中,我们提出了一种结构化、系统化和全面的方法来评估敏捷方法的“优点”。我们基于以下几个方面来检验敏捷方法:(1)它的充分性;(2)组织支持所采用的原则和方法指定的实践的能力;以及(3)方法的有效性。我们提出了目标、原则和实践框架来指导我们的评估。该框架确定了(1)敏捷哲学的目标,(2)支持目标的原则,(3)反映原则的实践,(4)目标,原则和实践之间的联系,以及(5)每个实践的指标,以评估实践的有效性和组织支持其实施的程度。在本文中,我们讨论了我们的解决方案,初步结果,和未来的工作。
2011-08-01 cs.SE
FairRF: Multi-Objective Search for Single and Intersectional Software Fairness
Simula Research Laboratory(西穆拉研究实验室);University College London (UCL)(伦敦大学学院)
FairRF通过多目标进化搜索优化分类任务中的公平性和有效性,提供帕累托最优解以适应不同需求。
2026-01-12 cs.SE
Multi-objective Integer Linear Programming approach for Automatic Software Cognitive Complexity Reduction
University of Málaga(马拉加大学);Ayesa Advanced Digital Services Limited (ASDA)(阿耶萨高级数字服务有限公司)
本文提出多目标整数线性规划方法,用于自动降低软件的认知复杂度,通过平衡代码行数与复杂度来提升代码可维护性。
2026-01-29 cs.CL cs.SE
Finding Faster Configurations using FLASH
由于配置选项的数量可能很大,因此为软件系统找到良好的配置通常具有挑战性。软件工程师经常对配置做出糟糕的选择,甚至更糟的是,他们通常在生产中使用次优配置,这导致性能不足。为了帮助工程师在寻找(近)最佳配置,本文介绍了闪存,顺序模型为基础的方法,顺序探索配置空间,通过反映到目前为止评估的配置,以确定下一个最佳配置探索。FLASH扩展到软件系统,击败了该领域现有的基于模型的方法。FLASH运行速度比现有方法快得多,可以解决单目标和多目标优化问题。本文的核心观点是使用先验知识(从以前的运行中获得)来选择下一个有希望的配置。这种策略减少了工作量(即,测量次数),以找到(接近)最佳配置。我们评估FLASH使用30个场景的基础上7个软件系统,以证明FLASH节省了100%和80%的情况下,在单目标和多目标的问题分别高达几个数量级的最先进的技术相比,努力。
2018-09-01 cs.SE
Microservice Architecture Reconstruction and Visualization Techniques: A Review
微服务系统解决方案正在推动数字化转型;然而,缺少基本工具和系统视角,无法更好地观察、理解和管理这些系统及其属性和依赖关系。微服务架构导致了去中心化,这对系统运行有很多好处,但也给它们的发展带来了挑战。微服务系统通常缺乏以系统为中心的视角,这将有助于工程师更好地应对系统演进和质量评估。在这项工作中,我们探索了基于静态分析的微服务特定架构重构。这样的重建通常导致系统模型以可视化所选择的以系统为中心的视角。传统的模型涉及2D方法,然而,当服务激增时,这些方法的实用性受到限制。我们考虑了与微服务相关的各种架构视角,并评估了传统方法的相关性,将其与使用3D空间的替代数据可视化进行了比较。作为3D方法的代表,我们考虑了在增强现实中呈现的3D图形模型。为了开始测试从微服务系统中获得这些视角的可行性,我们开发并实现了用于软件架构重建和比较视角可视化的原型工具。使用这些原型,我们与软件从业者进行了一个小型的用户研究,以突出这些创新的可视化用于普通从业者的推理和任务的潜力和局限性。
2022-07-23 cs.SE
PITMuS: A Tool for Automated Bug Dataset Generation via Source-Level Mutant Reconstruction
University of Texas at Dallas(德克萨斯大学达拉斯分校)
本文提出PITMuS工具,通过源级变异体重建生成自动化bug数据集,解决现有工具生成的变异体难以复现和利用的问题,为bug定位和修复技术提供结构化数据支持。
2026-08-04 cs.SE
Teaching Survey Research in Software Engineering
本章基于国际教学与大规模调查经验,为软件工程中的调查研究教学提供教学大纲、学习目标、实践作业及各主题的可操作建议,并辅以在线教学资源。
2024-07-30 cs.SE
Report on the Fourth Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE4)
本报告记录并讨论了第四届可持续科学软件研讨会:实践与经验(WSSSPE4)。该报告包括对研讨会主旨演讲的描述,在研讨会上起草并在研讨会后不久定稿的使命和愿景声明,一套想法文件,立场文件,经验文件,演示和闪电会谈,以及小组讨论。报告的主要部分介绍了会议期间成立的一系列工作组,并讨论了每个工作组的参与者、目标和目的以及如何实现目标,以及可能希望加入该工作组的读者的联系方式。最后,我们提出了研讨会与会者的调查结果。
2017-05-18 cs.SE
A Surrogate-based Approach for Fast Multi-objective Architectural Refactoring Optimization
ISISTAN, CONICET-UNCPBA(ISISTAN, 阿根廷国家科学研究委员会-内格罗河省大学);SPENCER Lab, University of L’Aquila(拉奎拉大学SPENCER实验室);Johannes Kepler University Linz(林茨约翰·开普勒大学)
本文提出基于回归的代理模型替代昂贵分析工具,加速多目标架构重构优化,节省高达30%计算时间并保持帕累托前沿质量。
2026-09-09 cs.SE
Managing layers of risk: Uncertainty in large development programs combining agile software development and traditional project management
如何在敏捷项目的多个级别上隐式和显式地管理风险还没有得到广泛的研究,有必要调查如何在大型敏捷项目中使用风险管理。这是本探索性研究的目的,它调查了以下研究问题:一个大型软件/硬件开发项目如何使用敏捷实践管理在项目/子项目和工作包级别的不确定性?
2021-03-16 cs.SE
The Art of Software Design, a Video Game for Learning Software Design Principles
本文介绍了我们的游戏化的一部分,我们的软件设计课程。基于典型的设计原则,开发了一个激励学习游戏,用于训练学生的软件设计。我们使用Bloom的分类法来确定学习目标。我们让玩家在一个具有挑战性的水平为基础的游戏越来越复杂的直接反馈参与。玩家可以在可视化的控制和数据流的帮助下评估他们的设计行为。主要学习目标:应用设计原则,适合游戏的主要活动。这支持讲师的边做边学方法。用户测试表明可能的学习效果和可玩的游戏。
2014-01-20 cs.HC cs.SE
Towards a case-based learning approach to support software architecture education
软件架构教育对于教师、学生和软件行业专业人士来说仍然具有挑战性。已经提出了几项倡议,以减轻固有的挑战,包括游戏,支持工具,协作课程和动手项目。基于案例的学习方法已经被引入到软件体系结构中,其优点也得到了认可。然而,选择正确的情况下,涵盖既定的学习目标和开发学习活动,以实现高阶学习也是具有挑战性的。本文的主要目标是提出一种基于案例的学习方法,指导学习目标的制定,发现和选择真实世界的软件架构案例,以及教学活动的设计。在过去的几年里,我们将我们的方法应用于软件架构相关的课程。结果表明,它可以充分利用的方法,充分探索的情况下,教育的目的,同时也激励教师和学生的软件体系结构教育。
2022-09-12 cs.CY cs.SE
Interactive Multi-Objective Evolutionary Optimization of Software Architectures
University of Córdoba(科尔多瓦大学)
本文提出一种交互式多目标进化算法,将定量指标与工程师定性经验结合,通过架构偏好反馈优化适应度函数,有效引导软件架构搜索至专家感兴趣区域。
2024-01-08 cs.AI cs.NE cs.SE
SkillMOO: Multi-Objective Optimization of Agent Skills for Software Engineering
King's College London(伦敦国王学院);Queen's University Belfast(贝尔法斯特女王大学);Nanjing University(南京大学);Johannes Gutenberg University Mainz(美因茨约翰尼斯·古滕贝格大学);University College London(伦敦大学学院);University of Duisburg-Essen(杜伊斯堡- Essen大学)
本文提出SkillMOO框架,通过LLM提议的编辑和NSGA-II算法优化代理技能包,提升任务成功率并降低推理成本。
2026-08-07 cs.AI cs.SE
The Weights can be Harmful: Pareto Search versus Weighted Search in Multi-Objective Search-Based Software Engineering
Loughborough University(拉夫堡大学);University of Birmingham(伯明翰大学)
在基于搜索的软件工程(SBSE)中,当存在多个待优化目标时,通常采用Pareto搜索。它搜索问题的帕累托最优解的一个很好的近似值,利益相关者根据他们的偏好从中选择最喜欢的解决方案。然而,当利益相关者的明确偏好(例如,一组反映目标之间相对重要性的权重)在搜索之前可用,加权搜索被认为是第一选择,因为它通过将原始多目标问题转换为单目标问题来简化搜索,并且使得搜索能够集中于仅利益相关者感兴趣的内容。本文质疑这样一个“加权搜索优先”的信念。我们表明,权重,事实上,是有害的搜索过程中,即使存在明确的偏好。具体来说,我们进行了一个大规模的实证研究,其中包括38个系统/项目,从三个代表性的SBSE问题,连同两种类型的搜索预算和9套权重,导致604例比较。我们的主要发现是,加权搜索达到一定程度的解决方案的质量消耗相对较少的资源在搜索的早期阶段,然而,帕累托搜索是在大多数的时间(高达77%的情况下)显着优于其加权对应,只要我们允许一个足够的,但不是不切实际的搜索预算。这一点,连同其他研究结果和可操作的建议,在文件中,使我们能够编纂务实和全面的指导选择加权和帕累托搜索SBSE的情况下,明确的偏好。所有代码和数据都可以在https://github.com/ideas-labo/pareto-vs-weight-for-sbse上访问。
2022-02-08 cs.AI cs.SE
Performance of Genetic Algorithms in the Context of Software Model Refactoring
针对软件模型重构中重构方案空间大、需多目标优化的问题,本文对比三种遗传算法的性能与解质量,发现不同算法在速度、内存占用上存在显著差异。
2023-08-26 cs.PF cs.SE
Safety and Performance, Why not Both? Bi-Objective Optimized Model Compression toward AI Software Deployment
Peking University(北京大学);Shanghai University of Finance and Economics(上海财经大学)
人工智能(AI)软件中的深度学习模型的大小正在迅速增加,这阻碍了在资源受限设备上的大规模部署(例如,智能手机)。为了缓解这个问题,人工智能软件压缩起着至关重要的作用,其目的是在保持高性能的同时压缩模型大小。然而,大模型中的固有缺陷可能被压缩模型继承。这样的缺陷可能很容易被攻击者利用,因为压缩模型通常部署在大量设备中,而没有足够的保护。在本文中,我们试图解决安全模型压缩问题,从安全性能协同优化的角度。具体来说,受测试驱动的开发(TDD)范式在软件工程,我们提出了一个测试驱动的稀疏训练框架称为SafeCompress。通过模拟攻击机制作为安全测试,SafeCompress可以按照动态稀疏训练范式自动将大模型压缩为小模型。此外,考虑到代表性的攻击,即,成员推断攻击(MIA),提出了一种具体的安全模型压缩机制MIA-SafeCompress。进行了广泛的实验,以评估MIA-SafeCompress在五个数据集上的计算机视觉和自然语言处理任务。结果验证了该方法的有效性和推广性。我们还讨论了如何适应SafeCompress的其他攻击,除了MIA,展示了SafeCompress的灵活性。
2022-09-09 cs.CR cs.LG cs.SE
Interactive Ant Colony Optimisation (iACO) for Early Lifecycle Software Design
University of the West of England(西英格兰大学)
软件设计是软件开发成功的关键,也是软件工程师需要解决的多目标问题。在试图帮助软件设计者,交互式(即人在环)Meta启发式搜索技术,如进化计算已被应用,并显示出有前途的结果。最近的调查还表明,蚁群优化(ACO)可以优于进化计算,成为交互式软件设计的潜在搜索引擎。在有限的计算预算下,ACO可以在较少的迭代次数内产生更好的候选设计方案。基于这些发现,我们提出了一种新的交互式ACO(iACO)的方法,以帮助设计师在早期的生命周期软件设计,其中的搜索是引导联合主观设计师的评价以及机器健身功能的结构完整性和代理优雅的软件设计。结果表明,iACO是快速,响应和高效的交互式,动态的多目标搜索在早期生命周期的软件设计。研究参与者将iACO检索体验评为引人注目。适应度度量权重的机器学习的结果表明,软件设计优雅性确实在候选软件设计的设计师评估中起着重要作用。我们的结论是,类(NAC)之间的属性和方法的数量的均匀性是一个重要的替代优雅的措施,这反过来又表明,这种均匀性的分布,结合结构完整性,是一个隐含的,但有效的早期生命周期软件设计的关键组成部分。
2014-06-23 cs.AI cs.SE
How to Evaluate Solutions in Pareto-based Search-Based Software Engineering? A Critical Review and Methodological Guidance
University of Birmingham(伯明翰大学);Loughborough University(拉夫堡大学);Southern University of Science and Technology(南方科技大学)
随着现代需求的增加,在许多软件工程(SE)场景中同时考虑多个目标/标准的趋势越来越明显。这样的多目标优化场景伴随着一个重要的问题-如何评估优化算法的结果,其通常是一组不可比的解决方案(即,彼此之间是帕累托非支配的)。这个问题对于SE社区来说可能是一个挑战,特别是对于基于搜索的SE(SBSE)的从业者来说。一方面,多目标优化对SE/SBSE研究人员来说仍然是相对较新的,他们可能无法为他们的问题确定正确的评估方法。另一方面,简单地遵循一般多目标优化问题的评估方法可能不适合特定的SE问题,特别是当问题的性质或决策者的偏好显式/隐式可用时。这在文献中得到了很好的回应,各种不适当/不充分的选择和不准确/误导性的使用评价方法。在本文中,我们首先进行了系统的和批判性的审查质量评价多目标优化SBSE。我们调查了2009年至2019年期间发表的717篇论文,这些论文来自7个知识库的36个地点,并选择了95项突出的研究,通过这些研究,我们确定了该领域中五个重要但被忽视的问题。然后,我们进行了深入的分析,质量评价指标/方法和一般情况下,SBSE,其中,连同所确定的问题,使我们能够编纂的方法指南,选择和使用评估方法在不同的SBSE场景。
2020-11-28 cs.AI cs.SE