Architectural Software Patterns for the Development of IoT Smart Applications
软件开发人员通常在没有正式架构的情况下开始编写应用程序,并依赖直觉和经验,而不是众所周知的设计模式。推荐一种不同的方法来开发物联网智能应用程序,因为它结合了传感器,执行器,通信技术和大数据分析的高度复杂性,以及它跨越不同领域,雾和云基础设施层的分布式性质。文献报告了物联网智能应用程序软件开发的许多经验。然而,架构解决方案的提出没有合理的选择软件组件和它们之间的相互关系。本文提出了软件组件及其关系的分类,以便为特定的物联网智能应用程序建模软件架构。我们选择了城市、建筑和农业的三个智能应用程序作为使用一些组件、连接器和众所周知的设计模式的示例。最后,讨论了物联网软件架构选择中涉及的问题和挑战。
2020-03-17 cs.SE
Towards a Generic Software Architecture for IoT Systems
本文针对物联网系统复杂性带来的软件开发挑战,提出一种质量属性驱动的通用软件架构,融合边缘计算、微服务和事件驱动设计模式,将物联网视为需闭环控制的自治系统以实现稳健运行。
2024-11-16 cs.SE
Understanding the Context of IoT Software Systems in DevOps
对连接设备的需求不断增长,以及物联网(IoT)领域投资的增加,导致了该技术市场的增长。物联网渗透到个人生活的各个领域,从智能手表到整个家庭助理和不同领域的解决方案。物联网的概念正在全球范围内逐渐增加。物联网项目引发了软件工程研究的衔接,以准备在与嵌入式软件互连并托管在云中的物理对象和结构中实现的软件系统的开发和操作。物联网项目在开发和运营阶段之间有界限。这项研究在科学文献中寻找证据,通过开发和运营(DevOps)原则来支持这些边界。我们依靠系统性文献综述来研究物联网软件系统中DevOps的关系。因此,我们在文献中先前主要研究报告的知识背景下确定概念,描述受益和挑战。本文的主要贡献是:(i)讨论物联网软件系统中DevOps的好处和挑战,(ii)识别所使用的工具,概念和程序设计语言,以及(iii)这种软件开发的感知管道。
2021-05-11 cs.SE
The IoT energy challenge: A software perspective
物联网(IoT)开启了嵌入式应用的全新世界。这些应用中的大多数都是基于深度嵌入式系统,这些系统必须在有限或不可靠的能源上运行,例如电池或能量采集器。满足这些应用的能源需求是一项艰巨的挑战,这威胁着物联网的未来发展。软件拥有对硬件的最终控制权。因此,它在优化系统能耗方面的作用非常重要。目前,程序员没有关于他们的软件如何影响系统能耗的反馈。这种反馈可以通过能量透明来实现,这是一个使程序的能量消耗可见的概念,从硬件到软件。本文讨论了软件开发中对能源透明度的需求,并强调了如何实现这种透明度以帮助应对物联网能源挑战。
2017-06-27 cs.SE
Quantum Neural Network Software Testing, Analysis, and Code Optimization for Advanced IoT Systems: Design, Implementation, and Visualization
本文提出面向先进物联网QNN软件的运行时TACO方法,通过TensorBoard可视化贫瘠高原以支持实时测试、结构修改与高精度系统实现。
2024-01-12 cs.SE
Best Practices for Facing the Security Challenges of Internet of Things Devices Focusing on Software Development Life Cycle
本研究针对物联网设备日益增长的安全威胁,提出了聚焦于安全软件开发生命周期的最佳实践指南,旨在提高威胁意识并为保护物联网软件及处理漏洞提供坚实基础。
2024-02-12 cs.SE
SCENARIOTCHECK: A Checklist-based Reading Technique for the Verification of IoT Scenarios
物联网上的软件系统已经将世界带入了一场新的工业革命,带来了新的功能和关注点,例如自主性,持续的设备连接以及系统,用户和事物之间的交互。然而,由于其特定的功能,构建这些类型的系统仍然是一个有问题的活动。经验研究表明,缺乏技术来支持物联网软件系统的构建,其中应该创建不同的软件工件以确保其质量。因此,软件检查已经成为一种替代的基于证据的方法,以支持在软件开发周期中产生的工件的质量保证。然而,没有适用于物联网软件系统的检查技术的知识。因此,本研究提出了SCENARIOTSTUDIO,这是一种用于物联网场景验证的基于检查表的读取技术。通过实验研究对该清单进行了评价。这项研究表明,该技术在成本效益、效率和物联网软件系统开发效率方面具有良好的效果。
2021-07-28 cs.SE
Digital Sovereignty and Software Engineering for the IoT-laden, AI/ML-driven Era
今天的软件工程已经需要应对来自实现物联网产品所需的多学科性的挑战:许多变体由传感器/执行器驱动的系统组成,这些系统今天已经使用AI/ML系统来更好地应对其预期操作设计域(ODD)的非结构化,而与此同时,这些系统需要被监控,诊断,维护,并使用云驱动的仪表板和数据分析管道进行发展,这些管道最好是实时处理、聚合和分析无数数据点。本立场书从软件工程的角度讨论了物联网、人工智能/ML驱动时代与数字主权相关的选定方面:虽然我们可以理所当然地期望从这些解决方案中获得越来越多的好处,但应特别明确说明设计和运行时的挑战和责任,至少要为以下方面做好准备和实现,甚至更好,从软件工程的角度维护和扩展数字主权。
2022-05-27 cs.SE
Software Engineering for Internet of Things: The Practitioner's Perspective
基于物联网的系统(简称IoT系统)在不同的工业领域越来越受欢迎,并且它们的发展正在迅速增加,以向最终用户和公民提供增值服务。到目前为止,很少有研究揭示物联网系统所需的核心开发过程生命周期,因此软件工程师发现自己对这种新的系统开发类型没有准备,也不熟悉。为了弥补这一差距,我们进行了一项定量和定性相结合的研究,从现有的物联网文献中得出了一个概念性的过程框架,确定了27项关键任务,可纳入物联网系统的开发过程。该框架随后通过对来自6大洲35个国家的127名物联网系统从业者开发人员的调查进行了验证,他们具有15种不同的行业背景。我们的研究提供了对最重要的开发过程任务的理解,并告知软件工程从业者和研究人员与下一代物联网系统开发相关的挑战和建议。
2021-05-05 cs.SE
Self-Organizing Software Models for the Internet of Things
物联网(IoT)设想将物理对象集成到软件系统中,以自动化我们生活的关键方面,例如医疗保健,安全,农业和城市管理。虽然愿景很有希望,但随着硬件和通信技术的快速发展,物联网系统变得越来越动态,大型和复杂,以至于手动管理变得不可行。因此,为构建自主物联网系统提供软件工程基础至关重要。在本文中,我们介绍了一种称为自组织软件模型的新范式,其中物联网软件系统没有显式编程,而是在系统运行期间以分散的方式出现,只有最少或没有人为干预。我们特别介绍了这些模型的概述,包括它们的定义,动机,研究挑战和潜在的方向。
2021-02-25 cs.SE
Designing Privacy-aware Internet of Things Applications
物联网(IoT)应用程序通常收集和分析可用于获取有关个人的敏感信息的个人数据。然而,到目前为止,在设计物联网应用程序时,软件工程过程中尚未明确考虑隐私问题。行为驱动的安全机制的出现,未能解决物联网应用程序设计中的隐私问题,可能会产生安全影响。在本文中,我们将探讨作为一组指导方针制定的隐私设计(PbD)框架如何帮助软件工程师将数据隐私考虑因素集成到物联网应用程序的设计中。我们通过研究软件工程师如何使用它来设计物联网应用程序来研究这个PbD框架的实用性。我们还探讨了使用这套指导方针来影响物联网应用程序设计过程的挑战。除了强调PbD框架在物联网应用程序设计过程中明确隐私功能的好处外,我们的研究还提出了与该方法相关的一些挑战。我们研究的一个关键发现是,PbD框架显著提高了新手和专家软件工程师将隐私设计到物联网应用程序中的能力。
2019-04-11 cs.SE
Reflecting on Recurring Failures in IoT Development
随着物联网系统被赋予更多的责任和自主权,它们提供了更大的好处,但也带来了更大的风险。我们相信这种趋势会重新提出软件工程的一个老挑战:如何在市场压力下安全可靠地开发高风险的软件密集型系统?作为第一步,我们对最近的物联网故障进行了系统分析,以确定工程挑战。我们收集并分析了22篇新闻报道,研究了物联网系统故障的来源、影响和修复策略。我们观察了应用程序域内部和跨应用程序域的故障趋势。我们还观察到,失败主题随着时间的推移而持续存在。为了缓解这些趋势,我们概述了针对物联网开发的故障感知软件开发生存周期的研究议程。我们提出了一个百科全书的故障和经验的基础上,系统事后分析,辅以适当的自动化工具。
2022-09-19 cs.SE
State of the Software Development Life-Cycle for the Internet-of-Things
考虑到软件的成功率,它与危机状态有着长期的联系。互联网连接设备的爆炸式增长,物联网,增加了软件系统的复杂性。这些系统的特点,如大规模和异质性,提出了越来越多的新的挑战。在本文中,我们首先简要介绍了物联网范式和软件开发的现状。然后,我们深入研究了为物联网系统和系统的系统开发软件的特殊性,概述了当前用于设计,开发和测试此类系统的方法和工具。对研究结果进行了讨论,揭示了开放问题和研究方向,并揭示了当今物联网软件开发实践仍然落后于当前的最佳实践。
2018-11-09 cs.SE
Do users talk about the software in my product? Analyzing user reviews on IoT products
消费者产品评论是一个宝贵的数据来源,因为它们包含了广泛的信息,可以帮助需求工程师满足用户的需求。最近的研究表明,关于软件应用程序的推文和App Store上的评论包含有用的信息,这些信息可以更好地响应软件需求。然而,所有这些研究的主题仅仅是软件应用程序。有关系统软件(如嵌入式软件、操作系统和固件)的信息被忽略,除非对使用这些软件的产品进行审查。调查这些评论的挑战可能来自以下事实:存在大量可用数据,以及此类产品的评论性质多样,这意味着它们可能包含主要关于硬件组件或广泛关于整个产品的信息。受这些观察的启发,我们使用来自6个物联网(IoT)产品的7198个评论句子的数据集进行了探索性研究。我们的定性分析表明,足够数量的软件相关的信息存在于这些审查。此外,我们研究了两种监督机器学习技术(支持向量机和卷积神经网络)的性能分类的信息中包含的评论。我们的研究结果表明,在一定的设置,这两种技术可以用来自动分类的信息具有较高的精度和召回率。
2019-01-28 cs.SE
Dynamic Adaptation of Software-defined Networks for IoT Systems: A Search-based Approach
物联网(IoT)的概念导致了许多复杂和关键系统的发展,例如智能应急管理系统。支持IoT的应用程序通常依赖于通信网络,以便在不可预测和不断变化的环境中传输大量数据。这些网络在存在突发需求时易于拥塞,例如,随着紧急情况的展开,因此依赖于可配置的软件定义网络(SDN)。在本文中,我们提出了一种动态自适应SDN配置方法的物联网系统。该方法能够实时的解决拥塞,同时最大限度地减少网络利用率,数据传输延迟和适应成本。我们的方法建立在现有的工作动态自适应搜索为基础的软件工程(SBSE)重新配置SDN,同时确保多个服务质量标准。我们评估了我们在工业国家应急管理系统上的方法,该系统旨在检测灾害和紧急情况,并通过为第一响应者提供可靠的通信基础设施来促进恢复和救援行动。我们的研究结果表明,(1)我们的方法能够有效地适应SDN动态解决拥塞,(2)与静态和非自适应的两种基线数据转发算法相比,我们的方法将数据传输速率提高了至少3倍,并将数据丢失减少了至少70%。
2020-05-15 cs.SE
Towards Ontology-Based Requirements Engineering for IoT-Supported Well-Being, Aging and Health
本体是计算机科学、电子工程、系统工程等相关学科知识表示和建模的形式化手段之一。需求工程中的本体可以用于系统需求的形式化表示。在物联网中,本体可以用于表示传感器知识并描述所获取的数据语义。设计一个足够全面的本体,具有适当的知识表达能力,服务于多种目的,从系统需求规范到基于物联网传感器数据的建模知识,是最大的挑战之一。本文提出了一种基于本体的需求工程的方法支持的福祉,老龄化和健康的物联网。这种本体设计的目的不是创建一个新的本体,而是扩展现有的适当本体SAREF4EHAW,以便与福祉,老龄化和健康概念保持一致,并构建该领域内的知识。其他贡献包括福祉,老龄化和健康的概念制定和相关的分类,以及一个福祉,老龄化和健康的概念。已经为新的本体扩展提出了新的属性和关系,以及更新的用例列表和原始本体未涵盖的特定本体需求。未来的工作设想新的本体扩展的完整规范,以及结构化的系统要求和传感器测量参数,以遵循描述逻辑。
2022-11-19 cs.SE
Incorporating Failure Knowledge into Design Decisions for IoT Systems: A Controlled Experiment on Novices
物联网(IoT)系统允许软件直接与物理世界交互。最近的物联网故障可以归因于反复出现的软件设计缺陷,这表明物联网软件工程师可能没有从过去的失败中吸取教训。我们研究了使用失败案例来改进物联网系统设计。我们进行了一项实验,以评估失败相关的学习治疗设计决策的影响。我们的实验采用了新手(计算机工程专业的学生)完成设计问卷的主题之间的比较。有三种治疗方法:对照组(N=7);考虑一组设计指南(N=8);考虑失败故事(建议治疗,N=6)。我们衡量了他们的设计决策和设计原理。所有受试者都做出了类似的决定。他们的理由因治疗而异:接受指南和失败故事治疗的受试者更多地使用关键性作为理由,而接受失败故事治疗的受试者更频繁地使用安全性作为理由。基于这些发现,我们提出了几个研究方向,以实现故障感知物联网工程过程。
2023-03-20 cs.SE
A Model-Driven-Engineering Approach for Detecting Privilege Escalation in IoT Systems
访问控制模型中的软件漏洞可能代表系统中的严重威胁。事实上,OWASP将破坏访问控制列为十大漏洞中严重程度第5位。在本文中,我们研究了一个新兴的智能家居平台,SmartThings的权限模型,并探讨了一种方法,在其权限模型中检测权限升级。我们的方法是基于模型驱动工程(MDE)除了静态分析。与单独的静态分析相比,这种方法可以更好地覆盖权限升级检测,并利用分析携带额外权限详细信息的自由格式文本。我们的实验结果表明,在物联网应用程序中检测过特权漏洞的准确性非常高
2022-05-23 cs.CR cs.SE
Software Engineering Approaches for TinyML based IoT Embedded Vision: A Systematic Literature Review
Boise State University(博伊西州立大学)
物联网(IoT)通过无处不在的传感、通信、计算和驱动,使人类能够控制我们的环境。在过去的几年里,物联网与机器学习(ML)联手,在远端嵌入深度智能。TinyML(Tiny机器学习)支持在极其精简的边缘硬件上部署用于嵌入式视觉的ML模型,将物联网和ML的力量结合在一起。然而,TinyML驱动的嵌入式视觉应用仍处于初期阶段,它们刚刚开始扩展到广泛的现实世界物联网部署。为了利用物联网和机器学习的真正潜力,有必要为产品开发人员提供强大的,易于使用的软件工程(SE)框架和最佳实践,这些框架和最佳实践是针对TinyML工程所面临的独特挑战而定制的。通过这一系统的文献综述,我们汇总了TinyML开发人员报告的关键挑战,并确定了大规模计算机视觉、机器学习和嵌入式系统中最先进的SE方法,这些方法可以帮助解决基于TinyML的物联网嵌入式视觉中的关键挑战。总之,我们的研究利用了嵌入式系统开发人员和ML开发人员独立开发的SE专业知识之间的协同作用,以帮助解决基于TinyML的物联网嵌入式视觉工程中的独特挑战。
2022-04-19 cs.CV cs.LG cs.SE
The Framework For The Discipline Of Software Engineering in Connection to Information Technology Discipline
本文代表了初步的工作,在确定软件工程的学科基础,并发现之间的联系领域的软件工程和信息技术(IT)。我们的研究利用IEEE Transactions on软件工程(IEEE-TSE)、ACM Transactions on软件工程and Methodology(ACM-TOSEM)、Automated软件工程(ASE)、International Conference on软件工程(ICSE)以及其他软件工程领域的相关期刊出版物来解决我们的研究问题。我们探索了现有的框架,并描述了软件工程作为一门学科的必要性。我们进一步澄清了软件工程和计算机科学之间的区别。通过这些努力,我们有助于了解如何从IT研究的证据可以用来提高软件工程作为一门学科。
2022-10-27 cs.SE
The Essence Theory of Software Engineering - Large-Scale Classroom Experiences from 450+ Software Engineering BSc Students
软件工程作为一个行业在开发方法和实践方面是高度多样化的。从业者采用了无数的方法,并倾向于通过例如省略一些实践或规则来进一步定制它们。这种开发方法的多样性对软件工程教育提出了挑战,在教育和工业之间产生了差距。一般的理论,如软件工程的本质理论,可以帮助弥合这一差距,提出软件工程的学生与更高层次的框架,在此基础上建立一个软件工程方法和实际项目工作的理解。在本文中,我们研究本质在教育环境中,以评估其有用性的软件工程学生,同时也调查在这种情况下,它的采用的障碍。为此,我们观察了102个学生团队在一个学期的项目课程中在实际的软件工程项目中使用Essence。
2018-09-24 cs.SE
Introducing Aspect-Oriented Programming in Improving the Modularity of Middleware for Internet of Things
物联网(IoT)已成为智慧城市及其应用发展的流行语。在这种情况下,支持软件的开发构成了物联网基础设施的核心部分。中间件位于物联网设备之间,并在它们之间进行交互,以在自动化架构的组件之间交换数据。中间件服务包括握手,数据传输和安全性,其核心功能集。它还包括跨领域的功能服务,如身份验证、日志记录和缓存。能够运行这些中间件服务的软件需要仔细选择良好的软件建模技术。面向对象编程(AOP)是一种软件开发方法,可用于独立封装物联网基础设施中间件服务的核心和横切功能。在本文中,已尝试使用模拟环境,独立建模的两个正交功能的中间件的重点,以提高其模块化。此外,定量测量的核心设计属性的凝聚力已经做了推断在物联网中间件封装的模块的可重用性的改善。基于测量,它被发现,在中间件软件的功能的模块化和可重用性已提高在ANOJ版本相比,其等效的Java版本。
2020-09-23 cs.SE
Verifying Software Vulnerabilities in IoT Cryptographic Protocols
物联网(IoT)是由大量智能设备通过网络连接而成的系统。这些设备的数量正在迅速增加,这创建了一个庞大而复杂的网络,其中包含通过该网络传输的大量数据。一种在传输中保护此数据的方法,即,实现数据机密性的方法是对物联网协议使用轻量级加密算法。然而,这种协议的设计和实现是一项容易出错的任务;实现中的缺陷可能导致破坏性的安全漏洞。攻击者可以利用这些漏洞并影响用户的隐私。存在各种技术来验证软件和检测漏洞。有界模型检验(BMC)和Fuzzing是检验软件系统规范正确性的有效技术。在这里,我们描述了一个框架,称为加密BMC和Fuzzing(EBF)使用组合BMC和Fuzzing技术。我们评估了EBF验证框架的应用案例研究,即,S-MQTT协议,用于检查物联网加密协议中的安全漏洞。
2020-01-27 cs.CR cs.SE
Experience in engineering of scientific software: The case of an optimization software for oil pipelines
科学和工程软件的开发通常是不同的,可能比传统的企业软件的开发更具挑战性。作者参与了学术界和工业界之间的一个技术转让项目,该项目侧重于石油管道泵送能源成本优化软件的工程、开发和测试。具有不同技能的专家(机械、电力和软件工程师)参与其中。考虑到软件的复杂性(复杂的底层优化模型)以及具有来自不同领域的专家,在软件系统的各个软件工程方面存在挑战(例如,要求和测试)。我们报告我们的观察和经验,在我们的技术转让项目中解决这些挑战,并旨在增加现有的经验和证据的科学和工程软件的工程。我们相信,我们的观察,经验和教训,可以为其他科学和工程软件系统的工程研究人员和从业人员有用。
2020-03-01 cs.SE
Software Engineering und Software Engineering Forschung im Zeitalter der Digitalisierung
正如科学记者约格什瓦尔所建议的那样,数字化不仅影响社会,还需要重新定义计算机科学和计算机科学家的位置。由于数字化的所有官方方面都是基于软件的,本文试图重新定义软件工程及其研究的作用。基于软件的产品、系统或服务正在影响生活的各个领域,是生活各个领域数字化的关键组成部分和核心创新驱动力。在科学上,软件工程作为一门驱动学科,在任何技术创新的发展中都有新的机遇和挑战。然而,这些机会绝不能被牺牲,以竞争文献计量数字为目的。
2020-02-25 cs.SE
Software Engineering at Google
我们对Google的关键软件工程实践进行了分类和描述。
2020-01-30 cs.SE
The Study and Approach of Software Re-Engineering
软件再工程的本质是改进或改造现有软件,使其能够被理解,控制和重用为新软件。需求,软件再工程的必要性大大增加。这些系统软件已经过时,不再用于架构,它们运行的平台稳定一致,它们支持开发和支持需求的变化。软件再工程是恢复和重用现有软件中固有的东西,将软件维护成本控制在最低限度,为未来软件开发奠定基础的重要手段。
2011-12-17 cs.SE
What Practitioners Really Think About Continuous Software Engineering: A Taxonomy of Challenges
持续软件工程是一种协作式的软件开发环境,它提供了在短时间内持续开发和部署高质量软件项目的能力。针对持续软件工程实践尚不成熟,软件组织对采用持续软件工程犹豫不决的问题,本研究的目的是:(1)通过系统的文献综述(SLR)和问卷调查研究获得行业专家的见解,以探索持续软件工程的挑战;(2)使用模糊层次分析法(FAHP)对调查的挑战进行优先级排序。研究结果提供了一套软件组织所面临的关键挑战,同时采用持续软件工程和基于优先级的分类的持续软件工程的挑战。FAHP的应用是新颖的,在这个研究领域,因为它有助于解决从业者的连续软件工程的影响因素的不确定性。我们相信,这项研究的结果将作为一个知识体系,为现实世界的从业者和研究人员修改和开发新的战略,成功地实施持续软件工程的做法在软件行业。
2023-03-30 cs.SE
The Dangerous Dogmas of Software Engineering
为了使自己成为一门科学学科,软件工程学术界必须放弃其非经验主义的教条。教条是不顾证据而持有的信念。本文分析了四个软件工程教条的性质和有害影响:1)相信软件有“需求”; 2)软件工程任务分为分析,设计,编码和测试; 3)相信软件工程主要是设计“软件”系统; 4)相信软件工程有效地遵循方法。解构这些教条表明,它们都过于简化和过度合理化的软件工程实践方面,这掩盖了潜在的现象,误导了研究人员和从业者。基于证据的实践被分析为一种揭露和批判非经验教条的手段。这一分析结果在几个新的建议,以克服基于证据的实践的实际挑战。
2018-02-18 cs.SE
Can Commercial Testing Automation Tools Work for IoT? A Case Study of Selenium and Node-Red
背景:由于大规模、数据量和异构性,测试物联网软件具有挑战性。测试自动化是该领域中非常需要的特性。目的:本研究的第一个目标是探索物联网测试自动化的需求和挑战。第二个目标是将商业软件中使用的测试自动化工具集成到物联网环境中。方法:进行了系统的文献综述,以引出物联网测试自动化的要求。遵循设计科学方法,使用商业测试自动化工具Selenium为Node-Red平台编写的物联网应用程序构建测试自动化工具。由此产生的框架使用Selenium Web Driver,用于物联网应用程序的基于浏览器的测试自动化。结果如下:该框架已在多个浏览器上进行了功能测试,并对可维护性、浏览器性能和全面性进行了初步评估。结论:使用商业工具进行物联网自动化测试是可行的。然而,需要全面解决大数据量和数据的并行传输和处理等主要挑战,以实现完全集成。
2021-07-09 cs.SE
Evaluating a Development Framework for Engineering Internet of Things Applications
一个关键的挑战是使物联网应用程序开发与开发过程中所涉及的各种利益相关者的努力最小。在无线传感器网络和普适计算领域,已经提出了应对这一挑战的几种方法,这些方法被认为是现代物联网的先驱。然而,虽然现有的方法提供了广泛的功能,利益相关者有具体的应用程序开发要求,选择一个适当的方法需要在不同的方面进行全面的评估。到目前为止,这方面的研究已经在有限的范围内。有鉴于此,本文基于我们以前对物联网应用程序开发框架的工作提供了一套广泛的评估。具体来说,我们从以下方面评估我们的方法:(1)开发工作量:创建新应用程序所需的工作量,(2)可重用性:在应用程序开发期间软件工件可以重用的程度,(3)表现力:可以使用我们的方法建模的物联网应用程序的特征,(4)内存指标:设备为了在我们的框架下运行应用程序而需要消耗的内存和存储量,以及(5)我们的方法与物联网应用程序开发中的各种维度上的最新技术的比较,这不仅提供了对最新技术的全面了解,而且还指导开发者在给定应用需求的情况下选择方法。我们相信,上述不同方面为研究界提供了评估、选择和开发有用的物联网框架和应用程序的洞察力。
2016-06-07 cs.SE
Towards Quantum Software Requirements Engineering
本文探讨量子软件需求工程与经典软件需求工程的差异,通过映射经典需求分类提出初步思考,并指出值得量子软件工程界关注的研究方向。
2023-09-23 cs.SE
A Formal Method for Mapping Software Engineering Practices to Essence
EF框架旨在解决软件工程SE及其实践的核心问题
2018-12-04 cs.SE
On a Factorial Knowledge Architecture for Data Science-powered Software Engineering
鉴于科学中的数据密集型和协作趋势,软件工程社区也越来越关注从数据存储库中获得有价值和有用的见解。然而,将数据科学应用于软件工程(例如,如果缺乏合适的知识体系结构(KA),挖掘软件存储库)可能是盲目的和无意义的。通过观察软件工程实践通常通过一组因素(例如,编程器容量、不同的环境条件等)在此基础上,提出了一种基于因素的软件工程知识共享层次模型,以最大化软件资源库的价值,并对未来的软件数据驱动研究有所启发。特别是,它是有组织的因素和它们的关系,有助于指导软件工程知识挖掘,而挖掘的知识反过来将通过相关的因素和它们的相互作用索引/管理。本文阐述了我们关于阶乘KA的思想,并简要地说明了一个KA组件,即软件产品工程的早期版本KA。一旦充分的范围,这个拟议的KA将补充众所周知的SWEBOK的因素为中心的知识管理和潜在的软件工程知识的覆盖面/含义。
2021-03-02 cs.SE
Software Engineering Process and Methodology in Blockchain-Oriented Software Development: A Systematic Study
软件工程是一个系统的、有纪律的、可量化的方法的过程,对大规模和复杂的软件开发有重要影响。在软件开发的生存周期中,已经有许多成熟的软件过程模型被广泛采用,这些模型将利益相关者推向最终软件产品开发的完成。在先进技术的范围内,各种新兴的和未来的技术正在发展,这确实需要软件工程社区的关注,传统的软件过程技术是否能够继承到未来的软件开发的核心基础。在本文中,我们研究了现有软件工程流程和模型的影响,包括敏捷和面向区块链的软件工程中的DevOps。我们还研究了采用最先进的概念和发展面向区块链系统的当前软件工程过程的重要性。我们讨论的洞察力的软件项目管理实践中的BOS开发。这项研究的结果表明,利用国家的最先进的技术在软件过程中的未来技术将是具有挑战性的和有前途的研究,需要广泛解决和改善国家的最先进的软件工程过程和方法的新技术。
2022-07-02 cs.SE
A Business Maturity Model of Software Product Line Engineering
近年来,软件产品线工程已成为软件行业最有前途的实践之一,具有大幅提高软件开发生产率的潜力。软件产品线工程方法跨越了业务、体系结构、软件工程过程和组织等维度。软件产品线工程在软件行业中的日益普及,需要一个过程成熟度评估方法。因此,本文提出了一个软件产品线的业务成熟度模型,这是一种方法来评估当前成熟度的软件产品线在一个组织中的业务维度。该模型考察了产品线工程和软件产品线业务方面之间的协调。它评估软件产品线的业务维度的成熟度,作为一组业务实践如何与组织中的产品线工程保持一致的函数。使用本文提出的模型,我们进行了两个案例研究,并报告了评估结果。该研究有助于建立一个全面统一的软件产品线过程成熟度评估策略。
2015-07-24 cs.SE
Lessons from a Pioneering Software Engineering Environment: Design Principles of Software through Pictures
本文回顾了 Software through Pictures 多用户开发环境的历史背景,阐述了其集成原则,以构建覆盖软件开发生命周期多任务的软件工程环境。
2024-03-12 cs.SE
The Evolution of Empirical Methods in Software Engineering
像实验这样的经验方法已经成为推动软件工程领域的一种强有力的手段,它可以为软件开发、操作和维护提供科学依据,也可以支持从业者的决策和学习。今天经验方法在软件工程中得到了充分的应用。然而,自20世纪60年代以来,它们已经发展了几次迭代。在本章中,我们讲述了经验软件工程的历史,并在五个迭代中介绍了经验方法在软件工程中的演变,即,(1)20世纪60年代中期至70年代中期,(2)70年代中期至80年代中期,(3)80年代中期至90年代末,(4)2000年代,(5)2010年代。我们主要从方法论的角度介绍了经验软件工程发展的五次迭代,并考虑了关键论文、地点和书籍,这些内容在推荐的进一步阅读的单独部分中按时间顺序进行了介绍。我们通过介绍第4节中的现状和展望以及经验软件工程的现有书籍来补充经验软件工程的演变。此外,基于本书所涵盖的章节,我们讨论了软件工程中与研究方法的多样性、人为因素、数据汇集和处理、证据的聚集和综合以及软件工程研究的影响有关的当代经验方法的趋势。
2020-05-08 cs.SE
Hidden Figures in Software Engineering: A Replication Study Exploring Undergraduate Software Students' Awareness of Distinguished Scientists from Underrepresented Groups
本研究通过全球复制调查发现软件工程本科生对代表性不足群体的杰出科学家认知有限,强调需提升多样性认知并开发包容性教育实践。
2024-12-20 cs.SE
Deconcentration of Attention: Addressing the Complexity of Software Engineering
本文试图描述与解决软件工程中非常复杂的任务相关的特定心理技术。这个主题可能在不同程度上被一些软件专家所熟悉;然而,目前对于这个主题领域还没有共同的共识和流行的术语。在本文中,我们从实际可用性的角度对该领域进行了描述。本文还建议把软件工程本身看作是对人类思维的研究,因为软件是用来模拟思维的。
2012-01-27 cs.SE
A Process Algebra Software Engineering Environment
在以前的工作中,我们描述了如何在软件工程中使用的进程代数为基础的语言PSF,使用工具总线,协调架构也基于进程代数,作为实现模型。在这篇文章中,我们总结了工作,并介绍了软件开发过程中更正式的工具,我们在这个过程中使用的CASE设置,导致PSF工具总线软件工程环境。我们将该环境中的细化步骤推广到基于过程代数的软件工程工作台,其中可以组合多个实例以形成一个环境。
2008-06-17 cs.SE
Quantum Artificial Intelligence for Software Engineering: the Road Ahead
本文提出将量子人工智能(QAI)应用于软件工程的路线图,涵盖量子优化与量子机器学习,探讨各阶段应用及挑战,旨在以成本效益方式解决复杂软件工程问题。
2025-10-23 cs.SE
A Survey of Software Engineering Practices in Turkey (extended version)
背景:了解行业中使用的软件工程实践和技术的类型是很重要的。在每个软件团队和公司中进行的软件工程实践的类型和成熟度方面有很宽的范围。为了描述在软件公司中进行的软件工程实践的类型,在不同的国家和地区进行了各种调查。土耳其有一个充满活力的软件行业,重要的是要描述和了解该行业的软件工程实践的状态。目标:我们的目标是描述和掌握土耳其软件行业软件工程实践类型的高级观点。在这项研究中,我们调查的软件工程实践包括:软件需求、设计、开发、测试、维护、配置管理、发布计划和支持实践。目前的调查是在土耳其软件行业背景下进行的最全面的调查。方法:为了实现上述目标,我们系统地设计了一个在线调查46个问题,根据我们过去的经验,在加拿大和土耳其的背景下,并使用软件工程知识体系(SWEBOK)。来自土耳其软件行业的202名执业软件工程师参加了调查。我们分析和报告在本文中的问题的结果。只要有可能,我们还会将我们的调查趋势和结果与2010年在加拿大软件行业进行的类似调查结果进行比较。
2014-12-16 cs.SE
Taxing Collaborative Software Engineering
本文探讨了跨国企业中跨境协作式软件工程被忽视的税务问题,介绍了国际税收基本原则,提出了三大征税挑战,并通过测量跨国公司的跨境代码审查评估了其工业意义。
2023-11-21 cs.SE
Extending Behavioral Software Engineering: Decision-Making and Collaboration in Human-AI Teams for Responsible Software Engineering
本研究从认知视角探讨人机协作在软件工程决策中的挑战,设计人机团队以提升集体智能,促进负责任的软件工程。
2025-07-08 cs.SE
Towards the Adoption of OMG Standards in the Development of SOA-Based IoT Systems
物联网(IoT)的共同特征是关于网络协议、数据格式、硬件和软件平台的高度异构性。为了处理这种程度的异构性,一些框架已经应用模型驱动开发(MDD)来构建物联网应用程序。从软件体系结构的角度来看,文献表明,面向服务的体系结构(SOA)是一种很有前途的风格,以解决组成这些解决方案的实体的互操作性。物联网的一些特性使得分析设计决策对基于SOA的物联网应用程序行为的影响具有挑战性。因此,模拟模型以验证系统在实现之前是否按预期执行是一个关键要求。虽然文献已经确定SOA风格适合解决互操作性,但现有的建模语言在设计物联网应用程序时并不将SOA元素视为一等公民。此外,尽管现有的MDD框架提供了包括定义良好的语法的建模语言,但它们缺乏执行语义,因此不适合模型执行和分析。这项工作旨在通过引入IoTDraw来解决这些问题。该框架为基于SOA的物联网系统提供了完全符合OMG的可执行建模语言;因此,其规范可以由任何实现OMG标准的工具实现。
2020-07-03 cs.SE
Supporting Software Engineering Research and Education by Annotating Public Videos of Developers Programming
软件工程长期以来一直在研究软件开发人员如何工作,构建了一个工作主体,形成了许多软件工程最佳实践、工具和理论的基础。最近,一些开发人员开始录制自己参与开源项目编程任务的视频,使他们能够与其他开发人员分享知识和社交。我们相信这些视频为软件工程研究和教育提供了重要的机会。在本文中,我们讨论了这些视频的潜在用途,以及如何最好地实现这种设想的使用开放的问题。我们建议创建一个中央存储库的编程视频,使分析和注释视频,以说明感兴趣的特定行为,如提问和回答问题,采用策略,和软件工程理论。这样一个知识库将提供一种重要的新方法,使软件工程研究人员和学生都能理解软件开发人员是如何工作的。
2019-05-09 cs.SE
Quantum Software Engineering and Potential of Quantum Computing in Software Engineering Research: A Review
本文作为首篇全面综述,探讨量子计算在软件工程中的潜在应用,介绍量子软件工程(QSE)的学科发展,分析其技术现状、机遇挑战,指出量子机器学习和优化的潜力及当前工具的不足。
2025-02-13 cs.SE
Software Engineering in Australasia
六个月前,一个重要的呼吁,为全球研究人员提供见解的方式软件工程是在他们的地区。注意到这一呼吁,我们在此概述了软件工程在澳大拉西亚(新西兰和澳大利亚)的地位。本文首先考虑了在澳大利亚软件工程社区中流行的软件开发方法、实践和工具。然后,我们简要回顾了软件工程研究人员在澳大拉西亚的特殊优势。最后,我们通过反思我们目前的立场和确定未来的机会,公开呼吁合作者
2022-06-11 cs.SE
Total Recall, Language Processing, and Software Engineering
软件工程问题的一个广泛的类别可以概括为“总召回问题”。这篇短文声称,在软件工程中识别和探索全召回语言处理问题是一项具有广泛适用性的重要任务。为了实现这一点,我们表明,通过应用和适应最先进的主动学习和文本挖掘,总召回问题的解决方案,可以帮助解决两个重要的软件工程任务:(a)支持大型文献综述和(b)识别软件安全漏洞。此外,我们推测(c)测试用例优先级和(d)静态警告识别也可以归类为总召回问题。“全面回忆”在软件工程中的广泛应用表明,存在一些基础框架,不仅包括自然语言处理,还包括广泛的重要软件工程任务。
2018-08-31 cs.SE
Privacy Engineering Meets Software Engineering. On the Challenges of Engineering Privacy ByDesign
当今的软件开发在很大程度上依赖于使用服务架构和敏捷的迭代开发方法来设计、实现和部署系统。这些实践导致系统由多个服务组成,这些服务引入了新的数据流,并使设计脱离了单个设计人员的控制。学术隐私工程文献通常抽象出软件生产的这些条件,以实现可推广的结果。然而,通过对文献的系统研究,我们表明,提出的解决方案不可避免地会对软件架构、开发方法和设计师控制范围做出与当前实践不一致的假设。这些错位可能会对隐私工程解决方案的实际操作构成障碍。具体来说,我们确定的方法,研究人员采取的设计和评估隐私增强技术的涟漪隐私工程方法的建议的重要限制。根据我们的分析,我们描绘的研究和行动需要重新调整的研究与实践,变化,学术隐私的结果在共同的软件工程实践的操作化的先决条件。
2020-07-16 cs.SE
Software Engineering with Process Algebra: Modelling Client / Server Architectures
在以前的工作中,我们描述了如何在软件工程中使用的进程代数为基础的语言PSF,使用工具总线,协调架构也基于进程代数,作为实现模型。我们还通过在CASE设置中介绍我们在此过程中使用的工具,更正式地描述了此软件开发过程,从而形成了PSF-ToolBus软件工程环境。在这篇文章中,我们总结了这项工作,并描述了一个类似的软件开发过程,使用客户端/服务器模型的软件系统的实施,并提出了这在CASE设置以及。
2009-08-18 cs.SE
Engineering Trustworthy Software: A Mission for LLMs
该研究探讨大语言模型(LLMs)对软件工程的变革作用,指出其完全集成后能推动全生命周期进程,但需解决准确性、可扩展性等挑战以实现可信的LLM驱动软件工程。
2024-11-27 cs.SE
Analysis of Software Engineering Practices in General Software and Machine Learning Startups
本研究通过系统文献综述对比了ML初创企业与通用软件初创企业在软件开发生命周期五个阶段的软件工程实践差异,发现ML模型的非确定性带来了额外挑战,需采用不同策略保障产品质量。
2023-04-04 cs.SE