A Survey of Software Engineering Practices in Turkey (extended version)
背景:了解行业中使用的软件工程实践和技术的类型是很重要的。在每个软件团队和公司中进行的软件工程实践的类型和成熟度方面有很宽的范围。为了描述在软件公司中进行的软件工程实践的类型,在不同的国家和地区进行了各种调查。土耳其有一个充满活力的软件行业,重要的是要描述和了解该行业的软件工程实践的状态。目标:我们的目标是描述和掌握土耳其软件行业软件工程实践类型的高级观点。在这项研究中,我们调查的软件工程实践包括:软件需求、设计、开发、测试、维护、配置管理、发布计划和支持实践。目前的调查是在土耳其软件行业背景下进行的最全面的调查。方法:为了实现上述目标,我们系统地设计了一个在线调查46个问题,根据我们过去的经验,在加拿大和土耳其的背景下,并使用软件工程知识体系(SWEBOK)。来自土耳其软件行业的202名执业软件工程师参加了调查。我们分析和报告在本文中的问题的结果。只要有可能,我们还会将我们的调查趋势和结果与2010年在加拿大软件行业进行的类似调查结果进行比较。
2014-12-16 cs.SE
An Empirical Study on Leanness and Flexibility in Distributed Software Development
如今,许多参与项目的个人和团队已经将敏捷开发技术作为日常工作的一部分。然而,我们在如何扩展和管理分布式软件开发中的敏捷实践方面的经验要少得多。分布式和全球性的开发--当团队相互作用以合作交付解决方案时,需要关注许多技术、组织和文化问题。此外,非常大的团队规模,团队的团队和更复杂的管理结构迫使更多的注意协调和管理。在这个层面上,越来越需要标准化最佳实践,以避免跨工件和过程的重新发明和错误沟通。企业软件交付中的复杂性问题可能对敏捷方法的采用产生重大影响。因此,敏捷策略通常需要进行评估,定制,并可能与传统方法相结合,以适应特定的环境。软件产品和软件开发过程的特性为实现精益和灵活性开辟了不同于其他领域的新的可能性。虽然精益原则是通用的,但从软件开发的角度进一步理解应用这些原则所需的技术。因此,本研究的目的是确定精益如何促进分布式软件开发的灵活性,以加快开发过程。
2017-11-03 cs.SE
A Survey of Software Reliability Models
软件可靠性分析是在软件工程过程中的各个阶段进行的,旨在评估软件可靠性要求是否已经(或可能)得到满足。在这份报告中,我总结了一些基本的黑盒和白盒软件可靠性模型。我也提出了这些模型的一些普遍的缺点,并提出进一步研究的途径。
2013-04-16 cs.SE
A Preliminary Analysis on the Effects of Propensity to Trust in Distributed Software Development
在远程站点工作的开发人员之间建立信任有助于分布式软件开发中的团队协作。虽然以前的研究集中在如何建立和传播信任,在没有直接的,面对面的沟通,它忽略了信任倾向的影响,即,代表个人倾向于认为他人值得信赖的人格特征。在这项研究中,我们提出了一个初步的,定量分析的倾向,信任如何影响成功的合作在分布式项目中,成功是由拉请求的代码更改和贡献成功地合并到项目的存储库。
2017-10-03 cs.SE
BeSpaceD: Towards a Tool Framework and Methodology for the Specification and Verification of Spatial Behavior of Distributed Software Component Systems
在这份报告中,我们提出了一个框架的建模和检查行为的空间分布组件系统的工作。我们的框架的设计目标是能够在一个面向组件的,简单和直观的方式,自动分析和验证系统和集成的可能性与其他建模和验证工具的空间行为建模的能力。我们提出的例子和必要的验证步骤,以证明属性,如范围覆盖或组件和技术细节之间的冲突的情况下。
2014-04-14 cs.SE
Survey on Essential and Accidental Real-Time Issues in Software Engineering
软件产品线是近年来被认为是提高软件开发效率的最有前途的方法之一。不同的研究工作有助于支持参数和谈判的问题,产生一个完美的软件计划。传统的方法或回收软件不能有效地解决软件竞争力问题。随着软件工程在过去几年中的快速发展,研究表明,一些方法在工业界和大学都得到了广泛的关注。这种方法被归类为软件产品线改进,支持大型组织中的软件重用。不同行业正采用新产品开发的生产线,以提高效率和减少运营开支。本研究论文的目的是对软件工程的复杂性、一致性、易变性、不可见性、时间限制、预算限制和安全性等问题进行深入研究。我们通过走访不同的专业软件开发机构进行了各种调研,并从专业软件工程师那里获得反馈,分析他们在软件系统开发过程中所面临的实时的【形】问题。调查结果表明,复杂性是大多数软件开发人员在开发软件应用程序时面临的最常见的问题。此外,根据调查,隐形是很少发生的问题。
2017-03-10 cs.SE
From Bugs to Benchmarks: A Comprehensive Survey of Software Defect Datasets
University of California, Davis(加州大学戴维斯分校);University of Stuttgart(斯图加特大学)
本文综述了151个软件缺陷数据集,探讨了其范围、构建方法及应用,并提出未来研究方向以解决缺陷类型代表性不足的问题。
2026-02-10 cs.SE
When High-Performance Computing Meets Software Testing: Distributed Fuzzing using MPI
本文提出利用MPI同步技术提升分布式模糊测试的性能和可扩展性,通过降低通信延迟和解决覆盖率停滞问题,提高模糊测试效率。
2025-12-01 cs.SE
A Survey on Software Testing Techniques using Genetic Algorithm
软件行业的总体目标是确保向最终用户交付高质量的软件。为了保证软件的高质量,需要对软件进行测试。测试确保软件满足用户规范和要求。然而,软件测试领域存在许多需要解决的潜在问题,例如测试用例的有效生成、测试用例的优先级排序等。这些问题需要测试的努力,时间和成本。已经提出了不同的技术和方法来处理这些问题。利用进化算法自动生成测试一直是许多研究人员感兴趣的领域。遗传算法(GA)就是这样一种进化算法。在这篇研究论文中,我们提出了一个调查的GA方法来解决软件测试过程中遇到的各种问题。
2014-11-05 cs.SE
Benchmarking Software Vulnerability Detection Techniques: A Survey
软件漏洞可能会造成严重的后果,这就是为什么已经提出了许多技术来防御它们。其中,漏洞检测技术是一个主要的重点领域。然而,缺乏一个全面的方法来衡量这些建议的技术。在本文中,我们提出的第一个调查,全面调查和总结的现状软件漏洞检测基准。我们回顾了目前的文献基准漏洞检测,包括基准方法的技术提出的论文和实证研究。我们还分别讨论了传统和基于深度学习的漏洞检测技术的基准测试方法。我们的调查分析了基准测试软件漏洞检测技术的挑战和所涉及的困难。我们总结了基准测试软件漏洞检测技术的挑战,并描述了解决这些挑战的可能解决方案。
2023-03-29 cs.SE
Verification of Distributed Artificial Intelligence Systems in Bioinformatics
软件是许多项目的重要推动者,否则这些项目将无法执行。这些项目包括太空探索,天气建模,基因组计划等。帮助这些项目的软件做它被期望做的事情是至关重要的。在软件工程的术语中,符合需求的软件,也就是做了预期要做的事情的软件被称为正确的。软件的正确性检查一直是软件工程领域的研究热点。软件应用领域的从业者通常不重视检查这种正确性。然而,随着软件系统变得越来越大,可能与由不同作者编写的分布式子系统相结合,这种验证变得更加重要。并发分布式系统由于其组件的执行速度不同而容易出现危险的错误,例如死锁、竞争条件或违反项目特定属性。本计画描述一种称为模型检验的静态分析方法,应用于生物资讯学过程的分散式系统验证。在它,我们评估的模型检验方法的效率,以验证组合过程的并发执行的步骤越来越多。我们表明,我们的实验结果符合分析推导的期望。我们还强调了静态分析在生物信息学领域中对组合过程的重要性。
2023-02-09 cs.SE
Rise of Distributed Deep Learning Training in the Big Model Era: From a Software Engineering Perspective
本文从软件工程视角出发,针对大模型时代分布式训练的开发者问题开展首次全面研究,分析1131个真实问题构建30类细粒度故障分类并总结修复模式,提出多项助力深度学习软件开发的研究方向启示。
2023-04-28 cs.SE
A Survey on the State of the Practice in Distributed Software Development: Criteria for Task Allocation
任务的分配可以被看作是分布式开发项目中成功关键的管理活动。然而,这样的任务分配仍然是全球软件开发的主要挑战之一,由于对影响任务分配决策的标准的理解不足。本文提出了一个定性研究,旨在确定和理解这些标准,在实践中使用。基于对选定的软件开发组织的管理人员的访谈,确定了目前在行业中应用的标准。例如,一个重要的结果是,采购战略和要开发的软件类型对所适用的标准有重大影响。本文介绍了研究的目标,设计和结果,以及相关和未来工作的概述。
2013-11-05 cs.SE
Scalable and Cost-effective Data Flow Analysis for Distributed Software: Algorithms and Applications
越来越多的分布式软件系统正在开发和部署。与其他软件一样,分布式软件系统也需要非常强大的质量保证支持。分布式软件通常非常庞大/复杂,具有分布式组件,并且没有全局时钟。所有这些特点使得分析这些系统的信息流以支持软件质量保证变得非常具有挑战性。一个挑战是现有的动态分析技术很难扩展到现实世界中的大型分布式软件系统。开发具有成本效益的动态分析方法也具有挑战性。分布式软件的动态分析算法/应用程序也存在适用性和可移植性的挑战。我的论文通过三种新的方法来解决这些挑战,分布式软件的数据流分析。我的第一种方法是基于测量进程间通信来理解分布式软件行为和预测分布式软件质量。然后,我开发了一种特殊的方法,可以通过分布式软件的多阶段和基于精化的动态信息流分析来精确定位敏感信息。最后,我探索了分布式系统的动态依赖分析,利用强化学习自动调整分析配置,以实现可扩展性和更好的成本效益权衡。
2023-03-07 cs.CR cs.DC cs.SE
A Blockchain-Based Framework for Distributed Agile Software Testing Life Cycle
针对分布式敏捷测试中的信任、追溯、安全及单元测试缺失问题,提出基于私有 Ethereum 与智能合约的 TestingPlus 框架,以支持透明验收测试和公平支付验证。
2023-07-14 cs.SE
Survey of Human Factors in Crisis Responsive Software Development
尽管软件开发对社会做出了巨大的贡献,但它仍然是一项非常昂贵的高风险投资。每一个软件项目开始的意图是按时和在预算内交付软件产品,但这些软件项目中有很大一部分要么未能充分发挥其潜力,要么完全失败。在这方面,有很多因素在起作用,其中最主要的因素是人的因素,这往往被忽视,而且往往是最大或最强的因素,因为软件开发是一项基本的人类努力。对人的因素的认识和理解可以极大地影响软件开发的成功。本次调查的目的是找出并抛出更多的光在危机响应软件开发的影响,拼出一些建议,并建议未来的研究方向的人为因素。在本文中,我们使用一个案例研究来调查人为因素。
2020-07-23 cs.SE
State of the Practice in Software Effort Estimation: A Survey and Literature Review
工作量估计是软件项目成功的关键因素,定义为在时间表和预算内交付商定质量和功能的软件。传统上,工作量估计用于计划和跟踪项目资源。基于这些目标的工作量估计方法通常专注于提供精确的估计,并且通常不支持最近在软件行业中变得重要的目标,例如因果工作依赖关系的系统和可靠分析。本文介绍了从工业的角度来看,软件工作量估计的研究结果。该研究调查的工业目标,软件组织的能力,以应用某些估计方法,并实际应用的软件工作量估计的做法。最后,在调查中确定的努力估计方法的要求进行比较,对现有的估计方法。
2014-01-23 cs.SE
Survey Research in Software Engineering: Problems and Strategies
背景:在软件工程中,对经验调查的需求正在增长。如今,许多研究人员使用实证研究来进行和验证他们的解决方案。调查是一种实证方法,它使研究人员能够从大量人口中收集数据。调查的主要目的是概括调查结果。目的:在这项研究中,我们的目标是确定研究人员在调查设计过程中面临的问题,以及缓解策略。方法:文献回顾以及半结构化访谈9软件工程研究人员进行了征求他们的意见的问题和缓解策略。研究人员都集中在经验的软件工程。结果:根据调查研究过程,共发现24个问题和65条对策。最常讨论的问题是抽样,特别是获得足够大样本的能力。为了改进调查工具的设计,提出了问题制定和调查预测试的评价和执行建议。强调了让多名研究人员参与调查结果分析的重要性。结论:所提出的问题和策略可供研究者在设计研究时参考。然而,有人指出,有些战略是相互冲突的。这表明在策略之间进行权衡分析很重要。
2017-04-04 cs.SE
Factors that Affect Software Systems Development Project Outcomes: A Survey of Research
确定对软件系统开发和部署项目结果有影响的因素已经是30多年来广泛和持续研究的焦点。我们在这里提供了一个调查的研究文献,在1996年至2006年期间解决了这个问题,特别注重实证分析。在此调查的基础上,我们提出了一个新的分类框架,代表了一个抽象的和综合的观点类型的因素,已被断言为影响项目成果。
2021-01-21 cs.SE
Survey on software testing techniques in cloud computing
云计算是互联网发展的下一个阶段。它依靠资源共享来实现网络的一致性。它作为一种新的计算标准正在影响着包括软件测试在内的多个不同的研究领域。有各种软件技术用于测试应用程序。它不仅改变了计算资源的获取方式,也改变了计算服务、技术和解决方案的管理和交付方式,同时也给软件测试带来了新的问题、挑战和需求。云中的软件测试可以减少对硬件和软件资源的需求,并为传统的软件测试过程提供灵活有效的替代方案。本文概述了云测试和基于云的应用的趋势、机遇、挑战、问题和需求。
2014-02-09 cs.SE
An Empirically Evaluated Checklist for Surveys in Software Engineering
内容:在过去的十年里,软件工程研究已经看到了基于调查的研究的稳步增长,并且有几个指导方针为那些愿意进行调查的人提供支持。审计调查研究的必要性已经在文献中提出。核对表已被用于评估不同类型的实证研究,如实验和案例研究。目的:本文提出了一个检查表,以支持在软件工程的调查为基础的研究,在现有的指导方针调查研究的设计和评估。我们在研究实践背景下进一步评估了检查表。方法:为了构建检查表,我们系统地汇总了来自14篇支持软件工程中基于调查研究的方法论论文的知识。我们通过专题分析和计票,确定了调查过程的关键阶段及其建议做法。为了改进我们最初设计的检查表,我们使用了一种混合评估方法进行评估,其中包括经验丰富的研究人员。结果:评价提供了关于清单在理解和客观性方面的局限性的见解。特别是,根据从评价中收到的反馈意见,对38个清单项目中的19个进行了改进。最后,讨论了如何使用检查表和它的含义是什么研究实践。结论:拟议的核对表是一个适合于审计调查报告的工具,也是一个辅助工具,用于指导正在进行的调查设计过程研究。
2019-01-28 cs.SE
AI in Software Engineering: A Survey on Project Management Applications
本文综述了AI在软件工程项目管理中的应用,回顾并比较了11篇相关文献,分析了面临的挑战,并提出了未来研究与AI演进的方向。
2023-07-27 cs.SE
A Literature Survey on Empirical Evidence in Software Engineering
背景:软件工程研究利用软件工件(语料库)的集合来获得经验证据。目的:为了提高研究的质量和可重复性,我们需要了解所用语料库的特点。方法:为此,我们使用扎根理论进行了文献调查。我们分析了七个相关会议的最新进展。结果如下:虽然几乎所有的论文都使用某种类型的语料库,常见的情况是开源Java项目的源代码集合,但所有论文中都没有经常使用的项目或语料库。对于某些会议,我们可以检测到复发。我们发现了几种形式的要求和应用调优语料库,这表明更具体的需求的研究工作。结论:我们的调查反馈到一个定量的基础上,讨论软件工程的实证研究的现状,从而最终提高研究质量,特别是在使用(和重用)的实证证据。
2013-04-03 cs.SE
A Survey and Comparison of Industrial and Academic Research on the Evolution of Software Product Lines
过去对软件产品线的研究主要集中在可重用资产的初始开发和相关的挑战,如成本估计和实现问题。当然,随着软件产品线在整个行业中越来越多地被采用,它们的持续维护和发展也越来越受到关注。然而,目前尚不清楚研究在多大程度上遵循这一趋势,以及该行业的利益和需求在哪里。在这份技术报告中,我们提供了一个调查和比较选定的出版物在软件产品线维护和发展SPLC。特别是,我们分析和讨论这些文件的异同方面,他们与工业界和学术界的联系。从这一点,我们推断未来的研究方向,铺平了道路,系统和有组织的软件产品线的演变,工业界也可能从中受益。
2022-12-12 cs.SE
The Perceptions of Software Engineers Concerning the Utilization of Bots in the OSS Development Process: An Exploratory Survey
本研究通过调查37名软件工程师,探讨了开源软件(OSS)开发中Bots的使用情况,发现Bots在多阶段提供支持并提升生产力,但受访者认为当前Bots不够智能,并提出了改进建议。
2024-11-14 cs.SE
TrustSECO: An Interview Survey into Software Trust
软件生态系统是世界上信任度最高的部分。在协作中,软件工程师信任生态系统中的主要枢纽,例如包管理器、存储库服务和程序设计语言生态系统。然而,这种信任经常被漏洞、勒索软件和恶意行为者的滥用所破坏。但什么是信任?在本文中,我们通过对12位软件工程师的深入访谈,探讨了他们在日常工作中如何看待信任。从采访中,我们总结出三点。首先,软件工程师在选择软件包时区分采用因素和信任因素。其次,虽然在文献中大多数技术因素被认为是主要的信任因素,软件工程师在这项研究中得出的结论是,组织因素更重要。最后,我们发现,不同类型的软件工程师需要不同的信任的看法,这是不可能的,以创建一个统一的信任的看法。保留字:软件生态系统信任,经验软件工程,TrustSECO,外部软件采用,横断面探索性访谈分析,信任感知。
2021-01-15 cs.SE
Operationalizing Human Values in Software Engineering: A Survey
人的价值(例如,快乐、隐私和社会正义)是一个人或一个社会认为重要的东西。在软件密集型系统中无法解决这些问题可能导致许多不希望的后果(例如,(经济损失)对个人和社会的影响。各种解决方案(例如,方法论、技术)的开发是为了帮助“在软件中实现价值”。最终目标是确保构建软件(更好地)反映和尊重人类价值观。在本调查中,“操作化价值”是指识别人类价值并将其转换为可访问和具体概念的过程,以便它们可以在软件中实现,验证,验证和测量。本文提供了一个深入的理解的研究景观在软件工程的操作价值,涵盖51个主要的研究。它还提出了一个分析和分类的51个解决方案的操作价值在软件工程。我们的调查显示,大多数解决方案都试图在软件开发生存周期的早期阶段(需求和设计)帮助实现价值。然而,后期阶段(实现和测试)和软件开发的其他方面(例如,“团队合作”需要充分考虑。我们概述了研究和实践的影响,并确定了开放的问题和未来的研究方向,以推进这一领域。
2022-07-26 cs.SE
An Investigation on How AI-Generated Responses Affect SoftwareEngineering Surveys
University of Calgary(卡尔加里大学);University of Hawai‘i at Mānoa(夏威夷大学马诺阿分校);University of Bari(巴里大学);UFRPE(巴西圣卡塔琳娜联邦农村大学);Radboud University(拉德堡德大学)
本研究探讨AI生成响应对软件工程调查的影响,通过分析发现49份回答存在合成作者身份的模式,强调需结合自动化与解释性验证以提升调查可信度。
2025-12-19 cs.SE
How do Globally Distributed Agile Teams Self-organise? Initial Insights from a Case Study
敏捷软件开发人员需要自组织,根据需要占据各种非正式角色,以便成功交付软件功能。然而,先前的研究报告了关于团队实际开展这项活动的方式的相互矛盾的证据。自组织能力对于全球分布式环境中的软件开发尤其必要,在这种环境中,距离已被证明会加剧以人为中心的问题。了解成功的团队自组织的方式应该为分布式团队组成策略和软件项目治理提供信息。我们使用心理语言学来研究IBM Rational Jazz实践者如何扮演各种角色,表达态度和共享能力,以成功地在他们的全球项目中进行自组织。在我们的研究结果中,我们发现从业者根据他们团队的功能群扮演各种角色;团队领导者对IBM Jazz团队的自组织最为关键。我们讨论这些发现,并强调其对软件项目治理的影响。
2021-06-20 cs.SE
Large Language Models for Software Engineering: Survey and Open Problems
本文综述了大型语言模型在软件工程各领域的应用,指出其涌现特性带来的机遇与挑战,并强调混合技术(传统SE加LLMs)对可靠部署的关键作用。
2023-11-11 cs.SE
Testing Research Software: A Survey
工作背景:研究软件在解决现实生活中的问题,推动科学创新和处理紧急情况方面发挥着重要作用。因此,研究软件的正确性和可信性是绝对重要的。软件测试是识别有问题的代码并帮助生成高质量软件的重要活动。然而,由于基础科学的复杂性,科学算法的相对未知的结果以及研究软件社区的文化,研究软件的测试是困难的。目的:本文的目标是更好地了解当前的测试实践,识别挑战,并提供有关如何改进研究软件开发的测试过程的建议。方法:我们调查了研究软件开发人员社区的成员,以收集有关他们在项目中对软件测试的了解和使用的信息。结果如下:我们分析了120份回复,发现即使研究软件开发人员报告他们对软件测试的知识水平处于平均水平,但由于涉及众多挑战,他们仍然感到困难。然而,有许多方法,例如适当的培训,可以改善研究软件的测试过程。结论:测试对于任何类型的软件都是具有挑战性的。这种困难尤其存在于研究软件的开发中,其中软件工程活动通常较少受到关注。为了从研究软件中产生值得信赖的结果,需要改变文化,以便重视测试,并且团队投入适当的精力来编写和执行测试。
2022-05-31 cs.SE
A survey of service oriented architecture systems testing
面向服务的体系结构(SOA)是最新的软件体系结构之一。这种架构是在业务需求的方向上创建的,消除了软件和业务之间的差距。软件测试是软件开发活动中不断增加的成本。SOA具有与其他软件体系结构不同的规范和功能比例。首先,本文回顾了SOA测试的挑战和针对这些挑战的现有解决方案。然后报告了SOA系统测试的最新研究概况,包括功能测试和非功能测试。这些测试针对不同级别的功能测试,包括单元测试、集成测试和回归测试。
2012-12-13 cs.SE
Case Survey Studies in Software Engineering Research
背景资料:鉴于软件工程(SE)的社会方面,在过去的二十年里,该领域的研究人员开始使用社会科学中常见的研究方法,如案例研究,民族志和扎根理论。近年来,另一种引入的研究方法--个案调查在社会企业研究中的应用也越来越多。它是基于现有的案例研究报告的文献,并打算利用调查的普遍性和案例研究的深度。然而,很少有人知道如何在SE研究中应用案例调查,更不用说如何正确使用它的指导方针。目的:本文旨在提供一个更好的理解如何案例调查已应用于软件工程研究。方法:为了解决这一知识差距,我们进行了系统的映射研究,并分析了12个软件工程的研究,使用的案例调查方法。结果如下:我们的研究结果表明,这些研究提出了一个异质的理解的方法,从次要的研究,主要调查集中在大量的研究现象的情况下。它们没有按照开创性的方法学文件的规定,始终如一地采用个案调查方法。结论:我们的结论是,需要一套明确定义的指导方针,就如何使用案例调查在SE研究,以确保质量的研究采用这种方法,并提供了一套明确定义的标准来评估这种工作。
2020-07-27 cs.SE
Developers' Perceptions on the Impact of ChatGPT in Software Development: A Survey
该研究针对207名软件开发者开展调查,探究ChatGPT对软件开发质量、生产力、工作满意度的影响,同时了解开发者对其未来适配的期望、岗位替代担忧及监管看法,填补了AI与SE融合对开发者认知影响的研究空白。
2024-05-20 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
Risk Assessment Techniques and Survey Method for COTS Components
RationalUnifiedProcess是一个软件工程过程,现在越来越流行. RUP为组件软件开发的生存周期提供了最佳的软件实践。软件开发的每一个阶段都存在着风险,忽视这些风险往往会阻碍软件的发展并导致负面的结果。为了提供适当的安全和保护级别,识别各种风险是非常重要的。因此,风险识别在基于组件的软件开发中起着非常关键的作用。本报告讨论了将基于组件的软件开发周期纳入RUP阶段,评估了基于组件的软件中遇到的几类风险。它还需要一种调查方法来识别风险因素,并根据风险评估组件软件开发的整体严重性。给出了确定风险防范成本和求出风险概率的公式。本文的总体目标是提供一个理论基础,促进对基于组件的系统开发风险的良好理解
2012-02-13 cs.SE
Engineering Blockchain Based Software Systems: Foundations, Survey, and Future Directions
本文从软件工程视角系统综述了基于区块链的软件(BBS)系统的研究现状,涵盖理论基础、过程、模型与角色,并探讨了关键开发活动、原则、挑战与技术,为从业者提供知识体系并指明未来研究方向。
2023-04-10 cs.SE
The Impact of AI-Generated Solutions on Software Architecture and Productivity: Results from a Survey Study
本研究通过调查软件从业者,发现AI工具显著提升生产力,但收益随项目复杂度增加而降低;对较小代码片段无质量负面影响,复杂问题需架构师进行分解与集成。
2025-06-21 cs.SE
Teaching Survey Research in Software Engineering
本章基于国际教学与大规模调查经验,为软件工程中的调查研究教学提供教学大纲、学习目标、实践作业及各主题的可操作建议,并辅以在线教学资源。
2024-07-30 cs.SE
Understanding Barriers to Internal Startups in Large Organizations: Evidence from a Globally Distributed Company
大型全球公司需要加快创新活动,以提高竞争优势。然而,由于官僚主义、决策缓慢、部门分散和流程分散,这些公司的组织结构阻碍了他们捕捉趋势的能力。加强创新能力的一种方法是通过培育内部创业公司。我们报告了一项嵌入式多案例研究的结果,该研究对一家全球分布的公司中的五家内部初创公司进行了研究,以确定软件产品创新的障碍:软件开发人员的后期参与,执行赞助商缺失或未澄清,年度预算和规划,决策权限不明确,缺乏数字基础设施进行实验和从外部参与者获取数据。借鉴Fitzgerald和Stol提出的持续软件工程的框架,我们讨论了BizDev在软件产品创新中的作用。我们认为,缺乏连续性,而不是缺乏速度,是大型全球公司内部初创公司的终极挑战。
2021-03-17 cs.SE
The Influence of Fraudulent AI-Generated Responses on Software Engineering Surveys
University of Calgary(卡尔加里大学);University of Hawaii at Manoa(夏威夷大学马诺阿分校);University of Bari(巴里大学);Universidade Federal Rural de Pernambuco (UFRPE)(伯南布哥联邦农村大学);Radboud University(拉德堡德大学)
研究软件工程调查中欺诈性或人工智能辅助回复对结果有效性的影响,通过对四个数据集二次分析,用人工识别、自动检测等方法,发现人工智能辅助参与因分析类型不同影响有别,强调多种验证程序结合的重要性。
2026-07-28 cs.SE
Breaking the borders: an investigation of cross-ecosystem software packages
软件生态系统是在同一环境中开发和发展的项目的集合。现有的文献调查软件生态系统作为孤立的实体,其边界不重叠,并假设它们是自包含的。然而,许多软件项目分布在不止一个生态系统中。作为不同的方面,例如,成功、安全漏洞、错误等,这种跨生态系统的软件包可能会影响多个生态系统,我们调查了这些跨生态系统的软件包在12个大型软件发行版中的存在和特点。我们发现少量的软件包分布在多个包装生态系统中,这些软件包通常分布在两个生态系统中。这些软件包倾向于更好地支持某些生态系统的新版本,而它们的发展可能会影响其他生态系统中的大量软件包。最后,这样的软件包似乎在大型开发人员社区中很受欢迎。
2018-12-13 cs.SE
A Rule-based Model for Customized Risk Identification in Distributed Software Development Projects
分布式软件开发中的许多项目风险与并置开发中的风险有很大不同,因此经常被忽视。同时,它们在很大程度上取决于具体项目的特点。本文提出了一个在项目早期识别风险的模型。该模型系统地捕获了过去项目的经验,并基于一组逻辑规则,描述了项目特征如何影响分布式开发中的典型风险。因此,该模型能够单独评估每个项目的风险。它是通过对19名从业人员的访谈进行定性内容分析而制定的。通过专家访谈进行的评估表明,在81%的情况下,该模型确定的风险与实际经验相符;其中40%在项目开始时尚未得到考虑。文章介绍了该模型的概念,它的实例化和评估,其次是结论和未来的工作。
2014-01-13 cs.SE
Estimating the Effort Overhead in Global Software Development
工作量和成本估计模型对于分布式软件开发以及并置软件和系统开发都很重要。标准的成本模型只考虑了分布式开发的特征,如不同站点的不同能力或由于远程协作而产生的显著开销。因此,分布式开发的显式成本模型是必要的。在这篇文章中,我们提出了一个西班牙的全球软件开发组织的成本开销模型的初步发展。该模型是使用CoBRA方法进行成本估算的。因此,确定了具体分布式开发环境的成本驱动因素,并在经验基础上量化了其影响。本文介绍了相关的工作,概述的方法,及其在工业环境中的应用。最后,我们勾画了列入该模型的系统任务分配的方法,并给出了未来工作的概述。
2014-01-13 cs.SE
A Survey-Based Qualitative Study to Characterize Expectations of Software Developers from Five Stakeholders
背景资料:对开发人员生产力和幸福感的研究发现,对软件团队生产力的看法可能是一个社会技术问题。通过管理软件团队的期望,可以更好地处理直觉、问题和挑战。目标:我们的目标是了解软件开发人员的期望是否对软件团队中的不同利益相关者有所不同。方法:我们调查了181名专业软件开发人员,以了解他们对五个不同利益相关者的期望:(1)组织,(2)管理人员,(3)同行,(4)新员工,(5)政府和教育机构。这五个利益相关者是通过对软件开发人员进行半正式访谈确定的。我们提出开放式调查问题,并使用开放式编码分析回答。结果:我们观察到18个多方面的期望类型。虽然有些期望对利益相关者更具体,但其他期望是跨领域的。例如,开发人员期望从他们的组织获得工作利益,但期望从他们的组织、同事和新员工那里采用标准的软件工程(SE)实践。结论:在18个类别中,有三个类别与职业发展有关。这一观察结果支持了先前的研究,即幸福不能仅仅通过提供更多的钱或晋升来保证。在大多数的回应中,我们发现教育机构希望提供相关的教学,政府希望提高工作稳定性,这表明这些组织在帮助软件开发人员方面的作用越来越重要。在COVID-19大流行期间,这一观察结果尤其如此。
2021-07-20 cs.SE
A Short Survey on Formalising Software Requirements using Large Language Models
本文是源自VERIFAI项目的聚焦型综述,通过多数据库结合Elicit初筛、人工终选的方式梳理35篇核心文献,总结大语言模型辅助多语言程序形式化规范编写的研究,提供相关洞见与未来方向。
2025-06-13 cs.SE
The Presence and the State-of-Practice of Software Architects in the Brazilian Industry -- A Survey
本文通过调查巴西24个州105名专业人员,揭示了软件架构师在巴西企业中的存在情况、职责替代现象及薪资差异,为理解软件架构角色的行业实践现状提供了实证依据。
2025-07-05 cs.SE
A Survey on Software Engineering Practices in Brazilian Startups
今天的重大技术进步使早期软件创业公司能够在市场上快速构建和推出创新产品。然而,他们中的许多人在他们的道路的早期死亡,由于市场条件,对客户需求的无知,缺乏资源,或重点,如滥用既定的做法。这项研究的动机是从从业者的角度分析创业公司的软件工程实践。我们的目标是确定初创公司在日常工作中使用的实践和工具。我们对来自不同领域的140名软件开发人员进行了专家调查研究。结果表明,初创公司在初始和验证阶段选择的做法和工具的特设的基础上,并根据开发团队的先验知识。当他们进入增长阶段时,他们意识到他们可以预先采用更好的实践来支持更成熟的团队的产品扩展。结果还表明,选择支持工具的基础上,他们与其他工具的集成和自动化业务活动的能力。
2021-08-01 cs.SE
Is Secure Coding Education in the Industry Needed? An Investigation Through a Large Scale Survey
美国国土安全部估计,90%的软件漏洞可以追溯到设计和软件编码的缺陷。仅在工业控制系统中,这些漏洞的财务影响就超过3.8亿美元。由于软件开发人员编写软件,他们也会将这些漏洞引入源代码。但是,存在安全编码指南以防止软件开发人员编写易受攻击的代码。本研究的重点是人的因素,软件开发人员和安全编码,特别是安全编码指南。我们想了解软件开发人员对安全编码指南的意识和遵从性,以及为什么他们不遵从或不知道。我们的研究结果基于对安全编码指南的大规模调查,有190多名工业软件开发人员参与。我们的工作的主要贡献激励需要教育工业软件开发人员的安全编码准则,它给出了一个列表的15个可操作的项目,以供业界从业者使用。我们还公开提供原始数据以供进一步研究。
2021-02-10 cs.SE
A Survey of Software Code Review Practices in Brazil
软件代码评审的目的是尽早发现代码异常,并在成本较低时进行代码改进。然而,不定期应用代码审查实践的开发人员所面临的问题和挑战尚不清楚。目标:调查开发人员在应用代码审查实践时所面临的困难,而不将目标受众限制在已经经常使用此实践的开发人员。方法:我们进行了一项基于网络的调查,350名巴西从业人员从事软件开发行业。结果:代码审查实践在巴西从业者中很普遍,他们认识到其重要性。然而,没有适用这些做法的例行程序。此外,他们还报告了在软件开发过程中使用静态分析工具的困难。从业者认识到的一个可能的原因是,这些工具中的大多数使用单一的度量阈值,这可能不足以评估所有的系统类。结论:改进指南以使代码审查实践适应软件开发过程,有助于使其广泛使用。此外,未来的研究应该调查是否考虑到源代码上下文的多个度量阈值减少了静态分析工具的假警报。最后,这些工具应该允许在软件开发过程的不同阶段使用。
2020-08-02 cs.SE
Systematic Task Allocation Evaluation in Distributed Software Development
在全球软件开发项目中,系统地将任务分配到不同的开发站点可以打开业务和工程视角,并有助于减少分布式开发中固有的风险和问题。在将任务分配到开发站点时,仅依赖开发成本等单一评估标准已被证明是非常危险的,并且从长远来看通常不会导致成功的解决方案。全球软件项目中的任务分配是具有挑战性的,由于众多的影响因素和限制。系统化的分配决策需要有能力评估和比较任务分配的备选方案,并在组织中有效地建立定制的任务分配实践。在这篇文章中,我们提出了一个可定制的过程中,任务分配的评估,是基于一个系统的访谈研究与从业人员的结果。在这个过程中,评估任务分配方案的相关标准是通过应用面向目标的测量原则。此外,定制的过程进行了演示,相关的工作和限制勾勒,并展望未来的工作。
2014-02-03 cs.SE
Cloud-Native Architectural Characteristics and their Impacts on Software Quality: A Validation Survey
本文通过对42名软件专业人员的问卷调查,验证并修订云原生架构质量模型,提出纳入实证结果的更新版本及可调查层次化复杂结构的问卷工具。
2023-06-21 cs.SE
A Survey on Automated Log Analysis for Reliability Engineering
日志是由软件源代码中的日志语句生成的半结构化文本。近几十年来,软件日志在许多软件系统的可靠性保证机制中已变得必不可少,因为它们通常是记录软件运行时信息的唯一可用数据。随着现代软件向大规模发展,日志的数量迅速增加。为了使现代软件日志在可靠性工程中的有效和高效的使用,已经进行了一些研究自动日志分析。本调查详细介绍了自动日志分析研究的概况,包括如何自动化和辅助日志语句的编写,如何压缩日志,如何将日志解析为结构化事件模板,以及如何使用日志来检测异常,预测故障和促进诊断。此外,我们还调查了发布开源工具包和数据集的工作。基于对最新进展的讨论,我们提出了几个有前途的未来方向,现实世界和下一代自动日志分析。
2021-06-01 cs.SE
Motivation and Autonomy in Global Software Development: An Empirical Study
分布式开发涉及全球分布在不同国家和时区的团队,这给已经很复杂的工作增加了额外的复杂性。本文主要研究全球软件开发对激励的影响。具体来说,我们问,需要和实际的自主权之间的错位对全球团队的动机有什么影响?我们研究了两个不同分布程度的分布式软件开发团队的成员,他们都遵循软件开发的Sunday方法。一个团队的成员分布在爱尔兰、英格兰和威尔士;另一个团队的成员分布在欧洲和北美。我们观察了这些团队在他们的“仪式”上的表现,并采访了每一位团队成员,在此期间,我们要求团队成员对他们的动机进行5分制的评分。考虑到报告的动机水平,以及对我们的观察和访谈的定性分析,我们的研究结果表明,自主性似乎只是影响动机的三个工作方面之一,其他方面是能力和相关性。我们假设:(1)自主性是有经验的团队成员激励的必要条件,但不是充分条件;(2)自主性不是激励因素,除非伴随着足够的能力。
2020-09-24 cs.SE