Maintenance Support in Open Source Software Projects
互联网的便捷和大部分免费访问导致了开源软件(OSS)的使用越来越多。然而,人们普遍认为,封闭的专有软件在软件维护和管理等领域仍然更优越。本研究的研究模型建立了维护问题(如用户请求和错误处理)与开源软件通过项目论坛、邮件列表和跟踪器提供的支持之间的关系。为了进行这项研究,我们使用了一个由120个开源软件项目组成的数据集,涵盖了广泛的类别。研究结果表明,项目论坛和邮件列表在解决开放源码软件中的用户请求方面发挥着重要作用。然而,根据实证调查,已经探索出跟踪器被用作错误报告以及用户请求的有效媒介。
2015-11-27 cs.SE
An Empirical Study of User Support Tools in Open Source Software
最终用户的积极响应对于任何软件的成功都是至关重要的。商业软件和开源软件(OSS)都是如此。开放源码软件之所以受欢迎,不仅是因为它通常是免费的,而且还因为它通常通过公共平台提供的用户支持。本研究的研究模式建立了开放源码软件用户支持和可用的支持工具之间的关系。为了进行这项研究,我们使用了不同类别的100个OSS项目的数据集,并检查了不同OSS项目提供的五个用户支持工具。结果表明,项目跟踪器、用户邮件列表和更新版本在获得用户支持方面发挥着重要作用。然而,我们无法找到用户支持和文档之间的重要联系,以及用户支持和OSS项目提供的故障排除指南之间的重要联系。
2020-05-20 cs.SE
Institutional Policy Pathways for Supporting Research Software: Global Trends and Local Practices
本文探讨了支持研究软件的机构政策路径,提出三层框架以促进软件在科研中的认可与可持续发展。
2025-11-26 cs.SE
On Debugging the Performance of Configurable Software Systems: Developer Needs and Tailored Tool Support
确定一个可配置的软件系统是否存在性能缺陷或配置错误通常具有挑战性。虽然有许多调试技术,可以支持开发人员在这项任务中,有有限的经验证据的技术是如何有用的,以解决开发人员的实际需求时,调试可配置的软件系统的性能;大多数技术往往是在技术的准确性,而不是他们的可用性方面进行评估。在本文中,我们采取以人为本的方法来识别,设计,实施和评估的解决方案,以支持开发人员在调试可配置的软件系统的性能的过程中。我们首先与19名开发人员进行了探索性研究,以确定开发人员在此过程中的信息需求。随后,我们设计并实现了一个量身定制的工具,从以前的工作中调整技术,以支持这些需求。两个用户研究,共有20名开发人员,验证和确认,我们提供的信息可以帮助开发人员调试可配置软件系统的性能。
2022-03-19 cs.SE
THE ADELE-TEMPO experience : an environment to support process modeling and enaction
以过程为中心的软件工程环境(PSEE)近年来吸引了大量的研究者。在这样的环境中,软件过程由PSEE明确描述和解释,允许软件活动自动化,辅助和强制执行。Lehman and Belady(1985)& Osterweil(1987)认为,这种能力是软件开发环境中提高软件产品质量和软件开发人员生产力的核心要素。我们在阿黛尔项目的框架内解决了这些问题。Adele内核,最初是一个配置管理系统,已经扩展到1)复杂产品模型的建模和支持:对象管理器2)软件过程的建模和支持:活动管理器和3)软件产品演化的建模和支持:配置管理器。对于数据和产品建模,ER/OO模型已经实现,包括SEE特定功能;在Adele内核(商业产品)之上,我们开发了一个Process Manager研究原型Tempo,这是一种基于两个主要概念的可执行形式主义:对象可能具有不同的描述(角色),这取决于使用它们的过程,并且过程通过显式连接进行同步和协调。ADL-Tempo是围绕软件产品、工作环境和软件过程的概念组织的。
2020-05-21 cs.SE
Revisiting Abstractions for Software Architecture and Tools to Support Them
本文回顾了1995年关于软件架构抽象的论文,将其置于软件开发抽象能力增强的历史背景中,反思其影响,并探讨该抽象识别策略在当前架构思想与挑战中的适用性。
2025-03-06 cs.SE
Towards a Strategy for Supporting the Engineering of Contemporary Software Systems
物联网、工业4.0和智能城市等当代软件系统对它们的工程提出了挑战,因为它们质疑我们传统的软件开发形式。它们代表了通信设备和技术集成的一个有前途的范例。它正在导致从传统的整体开发观(利益相关者最终获得软件产品)转变为通过网络互连的物理对象和嵌入式智能来支持活动的实体化软件系统。因此,有必要重新审视我们开发软件系统的方式,并开始考虑这些新型应用程序所需的特殊性。本论文旨在研究这些新类型的应用程序的特殊性,以支持在这种应用程序和系统的工程决策框架的定义。为此,我们使用物联网系统作为CSS的替代品,因为它们呈现了我们旨在研究的当代性和多学科性。
2019-04-26 cs.SE
The Four Pillars of Research Software Engineering
构建能够支持现代研究所需的数据和计算的巨大增长的软件需要具有越来越专业的技能集的个人,这些技能集需要时间来开发和维护。研究软件工程运动始于英国,近年来逐渐发展起来,旨在认识和支持这些人。为什么研究软件对研究社区之外的专业软件开发从业者很重要?研究软件可以对更广泛的世界产生巨大的影响,最近的进展意味着该领域现在可以被认为是专业软件开发职业生涯的一个更现实的选择。在这篇文章中,我们提出了一个结构,以及支持证据的现实世界的活动,它定义了四个要素,我们认为是关键的研究软件工程提供全面和可持续的支持。我们还强调了更广泛的开发人员社区可以从这些活动中学习和参与的方式。
2023-01-25 cs.SE
IoT Roadmap: Support for Internet of Things Software Systems Engineering
路线图是在博士学位的背景下进行的。在里约热内卢联邦大学系统工程和计算项目实验软件工程小组(COPPE/UFRJ)和法国高等理工大学工业和人类自动化控制、机械工程和计算机科学实验室(LAMIH UMR CNRS 8201)的合作下,该研究项目已于2011年12月12日在巴黎大学完成。路线图是对物联网应用特殊性的调查结果。它是从不同实验研究中收集的概念和证据的具体组织。它支持物联网软件系统的定义,并为项目团队提供特定项目来讨论和定义与指定、设计和实施物联网应用程序相关的基本方面。
2021-07-12 cs.SE
Transformation of UML Behavioral Diagrams to Support Software Model Checking
统一建模语言(UML)目前被接受为建模(面向对象)软件的标准,它在航空航天工业中的使用正在增加。根据UML开发的复杂软件的验证和确认并不是微不足道的,因为软件本身的复杂性,以及可以用于对软件的行为和结构建模的几种不同的UML模型/图。本文提出了一种方法来转换多达三个不同的UML行为图(序列,行为状态机,活动)到一个单一的过渡系统,以支持模型检验的软件开发按照UML。在我们的方法中,属性是基于用例描述形式化的。转换是针对NuSMV模型检查器完成的,但我们看到了使用其他模型检查器的可能性,例如SPIN。我们的工作的主要贡献是一个非形式语言(UML)的形式语言(语言的NuSMV模型检查器)在实践中的正式方法在软件开发中更大的采用转换。
2014-04-03 cs.SE
An overview of metrics-based approaches to support software components reusability assessment
目的:介绍了基于度量的软件构件和构件组装质量评估的研究现状。方法:比较文献中可用的几种方法,使用包括几个方面的框架,如范围,意图,定义技术和成熟度。结果如下:识别当前方法的共同缺点,如定义的模糊性,缺乏足够的指定形式主义和当前的质量模型和度量的软件组件的验证不足。结论:组件和基于组件的基础设施的质量评估对实验软件工程社区提出了新的挑战。
2011-09-30 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
Assessing Support for Industry Standards in Reference Medical Software Architectures
开发医疗器械软件的行业标准规定了合格器械必须满足的要求。已经提出了许多参考软件架构来开发这样的软件。ISO/IEC 25010:2011系列标准提供了一个全面的软件产品质量模型,包括医疗器械中高度期望的特性。此外,像4+1视图这样的框架提供了一个强大的框架来开发任何软件(包括医疗器械)的软件架构或高级设计。然而,医疗器械软件的工业标准和参考架构与ISO/IEC 25010:2011和4+1视图之间的一致性尚未得到很好的理解。本文旨在探讨ISO/IEC 25010:2011和4+1视图如何得到当前标准(即ISO 13485:2016、ISO 14971:2012、IEC 62304:2006和IEC 62366:2015)以及当前医疗器械软件参考架构的支持。我们将医疗器械标准的要求分类为ISO/IEC 25010:2011的质量和4+1视图的架构视图。遵循系统性文献综述(SLR)方法,对当前参考软件体系结构进行了评审,并映射了它们对上一步骤中识别的ISO/IEC 25010:2011质量的支持。我们的研究结果表明,ISO/IEC 25010:2011质量,如功能适用性,可移植性,可维护性,可用性,安全性,可靠性和兼容性在医疗器械标准中得到高度重视。此外,我们表明,目前的参考架构只部分支持这些品质。本文可以帮助医疗设备开发人员确定开发符合标准的软件的重点领域。一项涉及开发中医疗设备的更…
2021-07-17 cs.SE
MIT Lincoln Laboratory: A Case Study on Improving Software Support for Research Projects
MIT林肯实验室通过集中化软件支持工具链和建立人才匹配数据库,提升科研项目软件开发效率与文化氛围。
2025-12-01 cs.SE
A Cognitive and Machine Learning-Based Software Development Paradigm Supported by Context
认知和机器学习(ML)使能系统的使用的进步推动了对新方法和工具的追求,以支持支持软件开发人员执行他们的任务。首先,由于软件开发是一项复杂和动态的活动,这些任务高度依赖于软件项目及其上下文的特征,开发人员需要基于任务上下文的信息和指导方面的全面支持。其次,缺乏基于会话引导代理的方法,这些方法考虑了注意力和记忆力等认知方面。第三,还缺乏利用历史隐式或隐性数据来推断关于项目任务的新知识的技术,诸如相关任务、任务专家、任务完成和警告所需的相关信息,以及过程的导航方面,诸如接下来执行什么任务和最佳任务排序。基于这些挑战,本文介绍了一种新的模式,人机软件支持的背景下,认知辅助,和机器学习,并简要介绍了正在进行的研究活动,以实现这一模式。该研究利用了上下文感知软件流程、聊天机器人等认知计算和推荐系统等机器学习中提供的紧急方法之间的协同作用。这些新颖的范例有可能改变软件开发的方式,允许开发人员在参与项目时实时接收有价值的信息和指导。
2021-02-10 cs.SE
Guided Support for Collaborative Modeling, Enactment and Simulation of Software Development Processes
近年来,分布式软件开发的重要性在软件工程社区中得到了越来越多的关注。经济约束、越来越多的开发活动外包以及公司日益增长的空间分布带来了如何组织分布式开发的挑战。在这篇文章中,我们认为,一个共同的过程理解是成功的分布式开发所必需的。集成的过程规划、指导和实施被视为使技术能够达到独特的过程视图。我们勾勒出一个综合的软件过程建模环境SPEARMINT和XCHIPS系统基于Web的过程支持。因此,规划人员和开发人员通过电子过程指南(EPG)获得了协作规划和制定支持以及高级过程指南。我们描述了使用这种集成环境的学习系统的开发使用的案例研究。
2014-02-18 cs.SE
VISON: An Ontology-Based Approach for Software Visualization Tool Discoverability
虽然在软件可视化的研究文献中已经提出了许多工具,但很少有证据表明它们被采用。为了选择一个合适的可视化工具,从业者需要分析工具的各种特性,例如它们支持的软件关注点和成熟度。事实上,有些工具可能是原型,其寿命预计很短,而其他工具可能是相当成熟的产品,可以维护更长的时间。虽然这样的特点经常在论文中描述,我们推测,从业者愿意采用软件可视化需要额外的支持,以发现合适的可视化工具。在本文件中,我们将详细说明我们为提供这种支持所作的努力。为此,我们系统地分析了软件可视化文献中的研究论文,并策划了一个包含70种可用工具的目录,这些工具采用各种可视化技术来支持对多个软件问题的分析。我们进一步封装这些特征的本体。VISON,我们的软件可视化本体,捕捉这些语义的概念和关系。我们报告的早期结果的使用场景,展示了本体如何可以支持(一)开发人员找到合适的工具,为特定的发展问题,和(ii)研究人员提出新的软件可视化工具,以确定一个基线工具的控制实验。
2019-08-12 cs.SE
The Study and Approach of Software Re-Engineering
软件再工程的本质是改进或改造现有软件,使其能够被理解,控制和重用为新软件。需求,软件再工程的必要性大大增加。这些系统软件已经过时,不再用于架构,它们运行的平台稳定一致,它们支持开发和支持需求的变化。软件再工程是恢复和重用现有软件中固有的东西,将软件维护成本控制在最低限度,为未来软件开发奠定基础的重要手段。
2011-12-17 cs.SE
Critical Aspects of Modern Open Source SoftwareTechnology to Support Emerging Demands
软件在我们的日常生活中已经获得了巨大的重要性,并且正在处理当今技术世界的各个方面。软件的概念在最初的阶段是由一个非常精确的少数个人实现的,现在它无处不在,无论是个人生活还是组织。财力雄厚的组织和能够购买技术时代这一慷慨的人可以有效地满足他们的愿望。可以肯定的是,这不是一个普遍的情况下,一个是财政雄厚,可以轻松地负担所需的软件。有许多用户不能这样做。开源软件为这些用户提供了一条出路,它为他们提供了与同等软件相同的设施和功能,而不考虑任何财务压力.因此,经济拮据的个人或组织可以利用开源软件来实现他们想要的任务。在这篇研究论文中,通过对Ubuntu作为一种新兴的高质量开源现代操作系统与众所周知的Microsoft Windows操作系统进行简要比较,对开源软件进行了分析
2011-09-01 cs.SE
Mind the Gap: The Missing Features of the Tools to Support User Studies in Software Engineering
本文通过以功能为桥梁分析现有工具与用户研究障碍之间的差距,发现多项障碍缺乏工具支持,并提出新功能并经102名研究人员验证获得显著认可。
2025-04-11 cs.SE
Software Defect Prediction Using Support Vector Machine
软件缺陷预测是软件开发过程中的一项重要任务,它可以帮助管理人员识别出最易出现缺陷的模块。从而降低了测试成本,有效地分配了测试资源。许多分类方法可以用来确定软件是否有缺陷。由于支持向量机在不同的数据集和参数设置下的不稳定性,使得支持向量机在这类问题中的应用并不广泛。影响精度的主要参数是核函数的选择。核函数的使用在以前的论文中没有得到深入的研究。因此,本研究以六种不同的核函数来检验支持向量机的效能与准确度。来自PROMISE项目的各种公共数据集实证验证了我们的假设。结果表明,没有核函数可以在不同的实验设置提供稳定的性能。此外,使用PCA作为特征约简算法在某些数据集上显示出轻微的准确性提高。
2022-09-10 cs.SE
Traceability Support for Multi-Lingual Software Projects
软件可追溯性在不同的软件工件(如需求、设计、代码和测试用例)之间建立关联。由于手工创建和维护链接的成本很高,许多研究人员提出了基于信息检索技术的自动化方法。然而,许多全球分布的软件项目产生用两种或更多种语言编写的软件工件。混合语言的使用降低了自动跟踪解决方案的效率。在本文中,我们首先分析和讨论跨多个项目的混合语言使用的模式,然后评估几种不同的跟踪算法,包括向量空间模型(VSM),潜在语义索引(LSI),潜在狄利克雷分配(LDA),以及各种模型,结合单语言和跨语言的词嵌入与生成向量空间模型(GVSM)。基于对14个汉英项目的分析,我们的结果表明,使用单语种词嵌入集成到GVSM与机器翻译作为预处理步骤,实现了最佳的性能。
2020-06-30 cs.SE
Myths and Realities about Online Forums in Open Source Software Development: An Empirical Study
由于互联网的提供和使用日益增多,自由和开放源码软件的使用势头越来越大。各组织现在也在采用开放源码软件,尽管有一些保留,特别是在提供和获得支持方面。关于自由和开源软件的一些最大的担忧是发布后的软件缺陷及其纠正,动态需求的管理和对用户的支持。一个普遍的看法是,这类软件没有适当的支持。一个相互矛盾的论点是,由于互联网用户积极参与在线论坛,实际上有大量资源可用于沟通和管理支助的提供。这一实证调查的研究模式审查了现有证据,以评估这一普遍持有的信念是基于开放源码软件目前发展的事实,还是仅仅是围绕开放源码软件发展形成的神话。我们分析了一个由1880个开源软件项目组成的数据集,涵盖了本次调查的广泛类别。结果表明,在线论坛在管理软件缺陷、实施新需求和为开源软件用户提供支持方面发挥了重要作用,并已成为开源项目维护的主要帮助来源。
2015-07-24 cs.SE
Supporting Contextual Conversational Agent-Based Software Development
针对软件开发中情境信息分散难获取、现有实践缺乏有效流程指导的问题,提出基于对话智能体的知识增强软件开发方法,为开发者提供任务相关信息与工作流建议,推动软件工程领域人机交互向对话模式演进。
2023-05-01 cs.SE
Extending LLM-based support for software engineers with ADHD
University of Calgary(卡尔加里大学);University of Hawaii at Manoa(夏威夷大学马诺阿分校);UFRPE Federal University of Pernambuco(伯南布哥联邦大学)
本研究提出Tether 2.0,一个基于LLM的助手,通过工作流导向交互支持ADHD软件工程师,在规划、编码、调试和审查中提供结构化模式与持久记忆,经专家反馈和实际使用验证,能促进任务进展和中断后恢复。
2026-10-02 cs.SE
Model Checking with Program Slicing Based on Variable Dependence Graphs
在嵌入式控制系统中,由于软件复杂性导致例如与时序相关的问题,软件缺陷的潜在风险一直在增加。这些缺陷很少通过测试或模拟发现。为了检测这种缺陷,我们提出了一种建模方法,可以生成软件模型的模型检验与程序切片技术的基础上的变量依赖图。最后将该方法应用于一个汽车控制软件的实例中,验证了该方法的有效性。此外,我们开发了一个软件工具来自动化模型生成,并取得了35%的总验证时间减少模型检验。
2013-01-01 cs.LO cs.SE
Supporting the monitoring of the verification process of critical systems'software
关键软件系统由于其操作环境的原因,在安全性、可靠性和可靠性方面面临着严格的要求。由于硬件与软件密集型部署的集成,安全性和安全性多年来逐渐变得重要,这引入了额外的错误源。因此,有必要遵循高质量的详尽的软件开发过程,除了必要的开发活动,以提高安全性和安全性,还集成技术,以提高软件开发过程本身的可靠性。然而,在实践中,使用自动化技术核查核查进程的情况并不十分普遍。这主要是由于所需技术成本高,而且在适应不同的规范和条例时很复杂。这项工作提出了一种全面管理验证过程的方法;该方法允许工程师监测和控制有关适用标准的项目状态。这种方法已通过在工具中的实现及其在实际项目中的应用得到验证。
2015-12-15 cs.SE
Proceedings Second International Workshop on Algebraic Methods in Model-based Software Engineering
在过去的几年里,在代数社区中有很多关于使用代数方法为模型驱动的软件工程提供支持的活动。该研讨会的目的是聚集致力于代数方法开发和应用的研究人员,为基于模型的软件工程提供严格的支持。与研讨会相关的主题是所有与软件工程中代数方法的使用相关的主题,包括但不限于:正式指定和验证基于模型的软件工程概念和相关概念(MDE,UML,OCL,MOF,DSL等);用于上述的工具支架;整合正式和非正式的方法;和理论框架(代数,重写为基础,范畴理论为基础,.)。研讨会的主要目标是检查、讨论和联系代数社区中现有的项目,这些项目解决了模型驱动软件工程中常见的开放问题。
2011-06-29 cs.SE
On Assessing the Complexity of Software Architectures
本文提出了一些适合评估软件系统体系结构属性的新体系结构度量。我们的方法的主要特点是通过分析架构中的各种类型的架构依赖来评估软件架构的复杂性。
2001-05-05 cs.SE
Tether: A Personalized Support Assistant for Software Engineers with ADHD
本文提出 LLM 驱动的桌面应用 Tether,融合活动监控、RAG 与游戏化,为患 ADHD 的软件工程师提供情境化专注与对话支持。
2025-09-02 cs.SE
A Survey on Sustainable Software Ecosystems to Support Experimental and Observational Science at Oak Ridge National Laboratory
为了寻找支持橡树岭国家实验室(ORNL)实验和观测科学(EOS)的软件生态系统的可持续方法,我们进行了一项调查,以了解EOS软件和数据的当前和未来前景。本文介绍了我们用来确定感兴趣的重要领域、差距和潜在机会的调查设计,然后对所获得的答复进行了讨论。该调查提出了有关项目人口统计、技术方法和当前及未来五年所需技能的问题。该研究于2021年6月至7月在38名ORNL参与者中进行,并遵循人类受试者培训所需的指南。我们计划利用收集的信息来帮助指导可持续的、基于社区的和可重用的科学软件生态系统的愿景,这些生态系统需要有效地适应:i)下一代仪器和计算(例如边缘、分布式、加速器)中异构硬件的不断发展的格局,ii)使用人工智能的数据驱动科学的数据管理要求。
2022-04-12 cs.SE
Moving on from the software engineers' gambit: an approach to support the defense of software effort estimates
提高生产力和更快交付的压力越来越多地渗透到软件组织中。这可能会导致软件工程师像下棋的棋手一样采取行动--牺牲他们在技术上合理的估计,从而使他们的团队面临时间压力。反过来,时间压力会产生各种不利影响,例如产品质量差和情绪困扰,降低生产力,从而导致更多的时间压力和延迟:一个难以停止的恶性循环。这表明,有必要从屈服于压力的被动策略转向更积极的维护软件评估的策略。因此,我们提出了一种方法,支持软件估计在获取知识,如何进行这种防御,通过引入谈判原则封装在一组防御镜头,通过数字仿真。我们通过与来自不同公司的软件从业人员进行对照实验来评估所提出的方法。我们收集了参与者的态度,主观规范,感知行为控制,并根据计划行为理论进行辩护的意图。我们采用了频率论和贝叶斯方法进行数据分析。结果显示,在参与数字模拟和了解镜片后,实验组参与者的分数有所提高。与对照组相比,他们在面对压力情景时更倾向于选择防御行动,以反映压力超过估计的原因和结果。定性证据表明,从业者认为这套镜头在他们目前的工作环境中是有用的。总的来说,这些结果显示了所提出的方法的有效性及其对行业的感知相关性,尽管参与所需的时间很短。
2023-02-14 cs.SE
Building a Sustainable Structure for Research Software Engineering Activities
研究软件工程的概况已经大大提高了在世界各地的机构的发展,形成团体和社区,可以支持有效的,可持续发展的研究软件。然而,我们观察到,还有很长的路要走,以建立一个清晰的理解,什么方法提供最好的支持,研究软件开发人员在不同的情况下,以及如何这样的理解可以用来建议更正式的结构,模型或框架,可以帮助进一步支持研究软件工程的增长。本文提出了一些初步的想法,并提出了一个初步的高层次模型的基础上,作者之间的讨论围绕的概念,一组支柱代表的关键活动和过程,形成了一个成功的研究软件工程提供的核心结构。
2019-08-05 cs.SE
Supporting Belonging in Software Engineering Through Role Models Exposure
University of Calgary(卡尔加里大学)
本文探讨了如何通过嵌入历史人物榜样来增强软件工程教育中的归属感,通过分析教学实践,发现这种低干扰的教学方法能有效提升多样性代表性,同时保持技术严谨性。
2026-04-28 cs.SE
Managing Support Requests in Open Source Software Project: The Role of Online Forums
由于互联网的日益普及和使用,自由和开放源码软件的使用势头越来越大。各组织现在也在采用开放源码软件,尽管特别是在提供和获得支持方面有一些保留。关于自由和开源软件的最大问题之一是发布后支持的可用性和对支持的处理。一种普遍的看法是,这类软件没有适当的支持,而另一种说法是,由于互联网用户积极参与在线论坛,实际上有大量的资源可以用来沟通和管理支持请求的管理。本实证调查的研究模式建立并研究了开放源码软件支持请求与在线公共论坛之间的关系。这项实证研究的结果提供了证据的支持,是目前在开源软件项目的现实。我们使用了一个由616个开源软件项目组成的数据集,涵盖了本次调查的广泛类别。结果表明,在线论坛在管理开源软件的支持请求中发挥了重要作用,从而成为开源项目维护的主要援助来源。
2015-12-01 cs.CY cs.SE
The Science Gateway Community Institute's Consulting Services Program: Lessons for Research Software Engineering Organizations
科学网关社区研究所(SGCI)是NSF持续创新软件基础设施(S2 I2)资助的项目,领导和支持科学网关社区。SGCI的主要活动包括:(a)可持续性培训,包括旨在帮助科学门户运营商制定可持续性计划的为期一周的焦点周课程,以及Jumpstart虚拟短期课程;(b)可用性和用户体验咨询;(c)科学门户和科学门户软件社区目录;(d)劳动力发展活动,包括学生编码学院、实习机会和黑客松;(一)年度会议;以及f)为客户网关项目提供深入的技术支持。SGCI嵌入式技术支持组件的目标是帮助该机构的客户创建新的科学网关或显着增强现有的科学网关。后者的例子包括帮助实现主要的新功能和实施SGCI可用性顾问建议的重大可用性改进。嵌入式技术支持组件由印第安纳大学管理,并涉及圣地亚哥超级计算机中心,德克萨斯州高级计算中心,印第安纳大学和普渡大学(至2019年)的研究软件工程师。自2016年以来,该组件已涉及20名研究软件工程师作为顾问,并进行了59次客户咨询。这篇简短的论文总结了从嵌入式技术支持计划中吸取的经验教训,可能对研究软件工程社区有用。
2022-09-07 cs.SE
Adaptive Automation: Leveraging Machine Learning to Support Uninterrupted Automated Testing of Software Applications
使用自动化软件工具检查软件应用程序的适用性已成为大多数组织的一个重要因素,无论他们是生产内部软件还是简单地定制现成的软件应用程序供内部使用。随着软件解决方案变得越来越复杂,行业越来越依赖于软件自动化工具,但可用软件自动化工具的脆弱性限制了它们的有效性。公司在获得和实现自动化软件方面投入了大量资金,但当维护有效的自动化测试套件的成本超过手动测试所花费的成本和时间时,大多数工具都无法交付。当前一代软件自动化工具的一个缺点是,它们不能在没有频繁(和时间昂贵)的手动干预的情况下适应意外的修改和障碍。这些问题在行业从业者中是公认的,但目前这一代工具都没有利用机器学习和人工智能的进步来解决这些问题。本文提出了一个框架解决方案,利用机器学习的概念,即模糊匹配和错误恢复。建议的解决方案应用自适应技术来从意外的障碍中恢复,否则这些障碍会阻止脚本继续执行。恢复细节在报告中呈现给用户,可以分析该报告以确定恢复程序是否可接受,并且框架将根据用户的决定调整未来的运行。使用这个框架,从业者可以在没有人为干预的情况下运行自动化套装,同时最大限度地降低了时间表延迟的风险。
2015-08-04 cs.SE
Sustaining Research Software via Research Software Engineers and Professional Associations
研究软件是为支持研究而开发的一类软件。今天,世界各地的大学、政府和商业研究企业每天都在创建大量这样的软件。这种软件的可持续性面临着特殊的挑战,至少部分是由于开发它的人的类型。这些研究软件工程师(RSE)在开发和维护软件方面面临的挑战与传统软件开发人员所面临的挑战不同。因此,专业协会已开始为RSE提供支持、宣传和资源。这些好处对于维持RSE至关重要,特别是在他们的贡献往往被低估和没有奖励的环境中。本文重点介绍专业协会,如美国研究软件工程师协会(US-RSE),可以提供这一点。
2021-03-02 cs.SE
ACME vs PDDL: support for dynamic reconfiguration of software architectures
一方面,ACME是90年代末设计的一种语言,作为软件架构的交换格式。运行时重构的需求导致了在Plastik中使用特定支持来扩展语言。另一方面,PDDL是一种用于描述规划问题的谓词语言。它是在人工智能社区为ICAPS会议的国际规划竞赛设计的。一些相关的工作已经提出了编码软件体系结构到PDDL。然后可以使用现有的规划算法,以便自动生成将架构更新为另一架构的规划,即,一个侦察计划在本文中,我们改进了PDDL的编码。值得注意的是,我们提出了如何在PDDL表示中编码ADL类型和约束。这样,我们可以静态地检查我们的设计并表达PDDL约束,以确保生成的计划永远不会通过任何错误或不一致的架构,即使是暂时的。
2012-06-01 cs.SE
Agile Methods: Testing Challenges, Solutions & Tool Support
如今,敏捷开发是一种传统的开发方式,随着时间的推移,软件开发人员正在迅速地从瀑布式开发转向敏捷开发。敏捷方法专注于通过提高软件公司的响应速度来快速交付可执行代码,同时减少开发开销,并将人员视为软件开发的最强支柱。由于敏捷开发使软件开发的瀑布方法论黯然失色,因此它提出了一些与此类软件测试相关的独特挑战。我们的研究将讨论这种方法所引发的挑战。本文讨论了一些挑战,并提出了解决这些挑战的可能解决方案和方法。此外,在实践中提到的工具,以提高效率的过程。
2020-08-30 cs.SE
Assessing Semantic Frames to Support Program Comprehension Activities
软件开发人员在构建和处理软件系统时,经常依赖于出现在软件工程工件中的自然语言文本来访问关键信息。例如,开发人员访问需求文档以了解要构建什么,访问源代码中的注释以了解设计决策,访问问答网站上的问题答案以了解API,等等。为了帮助软件开发人员访问和使用这些自然语言信息,软件工程研究人员经常使用自然语言处理中的技术。在本文中,我们探讨框架语义,一般的语言学方法,已被用于需求文本,也可以帮助解决问题时,应用基于词汇分析的技术与程序理解活动的文本。我们评估通用语义框架解析的适用性,并根据结果,我们提出SEFrame定制语义框架解析程序的理解使用。我们评估的正确性和鲁棒性的方法,发现SEFrame是正确的73%和74%的情况下,它可以解析文本从各种软件工件用于支持程序的理解。我们描述了如何使用这种方法来增强现有的方法来确定意图的含义从软件工程文本。
2021-05-12 cs.SE
Challenges in Selecting Software to be Reused
这是一份关于合作科学工作中的资源共享、再利用和循环的立场文件,CSCW'14研讨会。它讨论了软件在NSF的CIF 21愿景和SI 2计划中的作用,该计划旨在支持这一目标。SI2主要支持响应招标而提出的软件项目,同行评审员和NSF在评估这些项目时使用的一些标准取决于预测科学影响。本文就如何改进科学影响力预测的一些思路进行了探讨。
2014-10-27 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
Goal-oriented Data Visualization with Software Project Control Centers
许多软件开发组织仍然缺乏支持,无法对其软件开发过程进行智能控制,也无法确定其过程的性能和所生产产品的质量。通常缺乏系统的支持,以检测和应对关键的项目状态,以实现计划的目标。在明确模型的基础上使度量制度化的一种方法是开发和建立一个所谓的软件项目控制中心(SPCC),用于系统的质量保证和管理支持。SPCC相当于控制室,这是机械生产领域的一个众所周知的术语。其任务包括收集、解释和可视化测量数据,以便为所有利益相关者(例如,项目经理、质量保证经理、开发人员)。本文将介绍SPCC概念的概述,支持面向目标的数据可视化(G-SPCC方法)的具体实例,以及实际应用的经验。
2014-03-17 cs.SE
Enhancing Code Understanding for Impact Analysis by Combining Transformers and Program Dependence Graphs
William & Mary(威廉与玛丽学院);University of Central Florida(中佛罗里达大学);USI Lugano(卢加诺瑞士意大利语大学);Cisco Systems(思科系统)
研究针对影响分析这一软件维护任务,提出Athena方法,结合软件系统依赖图信息与概念耦合方法,无需更改历史和执行信息。构建新基准测试,实验表明该方法在新基准上表现出色,比简单基线有显著性能提升。
2026-07-28 cs.SE
A Decision Model for Supporting Task Allocation Processes in Global Software Development
今天,软件密集型系统越来越多地以全球分布式方式开发。然而,全球发展在带来好处的同时,也面临着一系列风险和问题。分布式软件开发的成功项目管理的一个关键因素是将任务分配给站点,因为这被认为对收益和风险有重大影响。我们介绍了一个模型,旨在改善全球分布的项目管理过程中,系统地考虑多个标准的任务分配的决策支持。在文献研究中确定了标准和因果关系,并在定性访谈研究中进行了细化。该模型使用分布式系统和统计建模的现有方法。本文概述了问题和相关工作,介绍了模型的经验和理论基础,并展示了模型在示例场景中的使用。
2013-12-11 cs.SE
Semi-Automatic Quantification of Bayesian Networks for Software Decision Support: Comparing WSA and RNM in a Software R&D Organization
Federal University of Campina Grande(坎皮纳格兰德联邦大学);Aarhus University(奥胡斯大学)
本研究通过嵌入式案例比较WSA与RNM两种半自动量化方法,发现它们虽在决策结果上相似,但概率分布差异显著,强调方法选择需考虑节点语义、专家判断和输出分布等因素。
2026-09-28 cs.SE
Predicting Software Defects through SVM: An Empirical Approach
软件缺陷预测是软件预防性维护的一个重要方面。许多技术已经被用来通过缺陷预测来提高软件质量。本文介绍了一种基于代码气味的机器学习算法--支持向量机(SVM)的缺陷预测方法。基于支持向量机的缺陷预测模型被用于预测Eclipse软件后续版本中的缺陷。结果表明气味在预测软件缺陷中的作用。结果可以进一步用作基线,以进一步研究气味在预测缺陷中的作用。
2018-03-08 cs.SE
Empathy Guidelines for Improving Practitioner Well-being & Software Engineering Practices
Monash University(蒙纳士大学);Monash Centre for Health Research and Implementation, Monash Health(蒙纳士健康研究与实施中心,蒙纳士健康)
本文提出17条共情指南,旨在通过提升从业者福祉和改进软件工程实践,促进可持续的共情应用。
2026-01-16 cs.SE
Applying empirical software engineering to software architecture: challenges and lessons learned
在过去的15年中,软件体系结构已经成为管理大型软件密集型系统的开发和维护的重要软件工程领域。软件架构社区已经开发了许多方法、技术和工具来支持架构过程(分析、设计和评审)。从历史上看,软件架构的大多数进步都是由人才和行业经验推动的,但现在越来越需要系统地收集有关工具和方法的优势或其他方面的经验证据,而不仅仅是依靠宣传轶事或修辞。本文的目的是促进和促进软件体系结构的经验范式的应用。为此,我们描述了在评估软件架构研究时所遇到的挑战和经验教训,这些研究使用了受控实验、复制、专家意见、系统的文献综述、观察性研究和调查。我们的研究将支持一个知识体系的出现,包括更广泛接受的和良好的形式的软件架构理论。
2017-01-21 cs.SE
Support for Evolving Software Architectures in the ArchWare ADL
不能进化的软件注定会萎缩:它不能适应不断的修改和重新协商其业务目标,也不能拦截新技术的潜力。为了适应软件系统的变化,我们定义了一个主动软件体系结构:动态的,因为组件的结构和基数以及交互在执行过程中是可变的;可更新的,因为组件可以被替换;可分解的,因为执行系统可以被替换。(部分)停止并分裂成其组成部分和相互作用;并且反射性在于组件和交互的规范可以在执行期间演进。在这里,我们描述的设施的ArchWare体系结构描述语言(ADL)指定活动的体系结构。这项工作的贡献是概念的独特组合,包括:基于π演算的通信和表达语言,用于指定可执行架构;超代码作为系统执行的底层表示,可用于内省;分解运算符,以逐步打破执行系统;和结构反射,用于创建新组件并将其绑定到运行的系统。
2010-06-24 cs.SE
Recommending API Function Calls and Code Snippets to Support Software Development
在组件、数据源和任务的异质性的引导下,软件开发活动已经达到了高度的复杂性。开放源码软件(OSS)存储库的激增强调了有效重用可用软件工件的必要性。为此,有必要探索从软件存储库中挖掘数据的方法,并利用它来产生有用的建议。我们设计并实现了FOCUS作为一种新颖的方法,为开发人员提供API调用和源代码,而他们正在编程。该系统基于上下文感知协同过滤技术,从开放源码软件项目中提取API使用情况。在这项工作中,我们通过在2,600个移动应用程序的数据集上进行评估,展示了FOCUS对Android编程的适用性。实证评估结果表明,我们的方法优于两个国家的最先进的API挖掘机,UP-Miner和PAM,在预测精度方面。我们还指出,Google Play中定义的应用类别与其API使用之间没有显著关系。最后,我们表明,用户研究的参与者积极感知的API和源代码的FOCUS推荐的相关当前的开发环境。
2021-02-15 cs.SE
A Process To Support Cloud Release Preparation
本文提出支持云发布准备工作的概念与方法,帮助软件和系统顺利发布到生产环境。
2024-08-12 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