Greedy Scheduling: A Neural Network Method to Reduce Task Failure in Software Crowdsourcing
内容:高度动态和竞争的众包软件开发(CSD)市场可能会由于不可预见的原因而遇到任务失败,例如共享供应商资源的竞争加剧,或与动态工人供应相关的不确定性。现有分析显示,软件众包市场的平均任务失败率为15.7%。目标:本研究的目的是提供一个软件众包平台的任务调度推荐模型,以提高软件众包的成功率和效率。方法:提出了一种基于神经网络的任务调度方法,并开发了一个可以预测和分析任务到达时失败概率的系统。更具体地说,该模型使用了一系列的输入变量,包括在平台上的开放任务的数量,到达任务和开放任务之间的平均任务相似度,获胜者的奖金,和任务持续时间,来预测在计划的到达日期和两个剩余的日子任务失败的概率。此预测将提供与最低任务失败概率相关联的推荐日期以发布任务。该模型基于Topcoder的工作流程和数据,Topcoder是主要的软件众包平台之一。结果如下:我们提出了一个模型,建议最好的建议到达日期为项目中的任何任务,每个任务在项目中的两天盈余。该模型平均每个项目的故障率降低了4%。
2021-02-19 cs.DC cs.HC cs.SE
Recruiting Software Engineers on Prolific
为软件工程研究招募参与者一直是人因社区的主要关注点。这对于需要最小样本量的定量研究尤其如此,以免在统计学上功效不足。由于自我选择偏见,传统的数据汇集技术(例如邮件列表)非常值得怀疑。众包平台的引入使研究人员能够选择具有研究设计所预见的确切要求的信息提供者,在简洁的时间框架内收集数据,以公平的小时工资补偿他们的工作,最重要的是,对整个数据汇集过程具有高度的控制权。本经验报告讨论了我们使用学术众包平台Prolific进行样本研究的经验。讨论的主题是研究的类型,选择过程和功率计算。
2022-03-28 cs.SE
Crowdsourcing: A Framework for Usability Evaluation
本研究针对传统软件可用性评估成本高、耗时长的问题,通过系统映射研究、多组对比实验及案例研究,构建并验证了众包可用性检查框架,证明新手在启发式规则指导下可达到专家评估水平,为预算有限的软件公司提供了可行的可用性评估方案。
2024-08-13 cs.HC cs.SE
CrowdSim: A Hybrid Simulation Model for Failure Prediction in Crowdsourced Software Development
一个典型的众包软件开发(CSD)市场由一系列作为服务需求的软件任务和一群作为服务供应商的自由职业者开发人员组成。高度动态和竞争的CSD市场可能会由于不可预见的风险而导致任务失败,例如对共享工人供应的竞争加剧,或与工人经验和技能相关的不确定性等。为了提高CSD的有效性,必须更好地了解和规划与CSD过程相关的动态工人特征和风险。在本文中,我们提出了一个混合仿真模型,CrowdSim,预测众包任务失败的风险,在竞争激烈的CSD平台。CrowdSim由三个层次组成:宏观层次基于系统动力学反映整个众包平台,中观层次基于离散事件仿真表示任务生存周期,微观层次基于Agent仿真模拟众包工作者的决策过程。CrowdSim的评估通过三个CSD的决策方案,以证明其有效性,使用真实世界的历史数据集和结果表明CrowdSim的潜力,使众包管理人员探索众包结果相对于不同的任务调度选项。
2021-03-17 cs.HC cs.MA cs.SE
An Evolutionary Algorithm for Task Scheduling in Crowdsourced Software Development
Stevens Institute of Technology(史蒂文斯理工学院);New York University(纽约大学);University of Calgary(卡尔加里大学)
软件任务的复杂性和众包开发者行为的不确定性使得规划众包软件开发(CSD)项目具有挑战性。在竞争激烈的众包市场中,多个同时开放的任务对共享工作人员资源的竞争为软件众包的潜在结果增加了另一层不确定性。这些因素导致需要支持CSD管理人员进行自动调度,以提高众包流程和成果的可见性和可预测性。为此,本文提出了一种基于进化算法的众包软件开发任务调度方法。提出的进化调度方法使用多目标遗传算法推荐一个最佳的任务开始日期。该方法使用三个适应度函数,分别基于项目持续时间,任务相似性和任务失败预测。任务失败适应度函数使用神经网络来预测关于特定任务开始日期的任务失败的概率。该方法建议的最佳任务开始日期为项目作为一个整体和每个单独的任务,以实现最低的项目失败率。4个项目的实验结果表明,所提出的方法有可能减少项目工期的一个因素的33- 78%。
2021-07-05 cs.AI cs.NE cs.SE
An Empirical Investigation of Worker Communities in TopCoder
软件众包平台采用外部奖励,如评级或排名系统来激励员工。这样的评级系统是嘈杂的,并提供有限的知识,工人的喜好和表现。为了更好地了解软件众包中的工人可靠性和可信度,本文报告了一项实证研究,该研究基于领先的软件众包平台之一TopCoder的一年多的真实数据。为此,首先,我们根据常见的任务注册创建一个活跃工作者的二分网络。然后,我们使用Clauset-Newman-Moore图聚类算法来识别网络中的工人簇。最后,我们进行了一个实证评估,测量和分析工人的行为,每个识别社区的平台,工人的评级。更具体地说,工人的行为是根据他们的表现,在可靠性,可信度和成功;他们的偏好,在效率和弹性;和战略的舒适性,信心和欺骗性。这项研究的主要结果确定了四个社区的积极工作者:混合排名,高排名,中等排名,低排名。这项研究表明,低排名的社区与最可靠的工人,平均可靠性为25%,而混合排名的社区包含最值得信赖的工人,平均可信度为16%。这些经验证据有助于探索资源选择,同时了解未知资源之间的关系,以提高任务成功率。
2022-01-18 cs.HC cs.SE cs.SI
Towards Assurance-Driven Architectural Decomposition of Software Systems
计算机系统是如此复杂,因此它们通常是按照抽象层来设计和分析的。复杂性仍然是用于发现软件设计缺陷和实现错误的逻辑推理工具面临的挑战。抽象也是将这些工具扩展到更复杂系统的常用技术。然而,在许多情况下,系统设计阶段使用的抽象与用于保证的抽象不同。在本文中,我们认为,不同的软件质量保证技术对软件系统的不同方面。为了促进保证,并保证工具顺利集成到软件开发环境(SDLC),我们提出了一个4维元架构,分离计算,协调和有状态的软件工件在设计阶段的早期。我们列举了一些设计和保证的挑战,可以解决这个元体系结构,并演示了一个简单的文件系统的高层次设计。
2021-06-17 cs.SE
Incidents During Microservice Decomposition: A Case Study
本文通过 Carbon Health 的案例分析 107 起事件,总结微服务拆分中的故障原因与经验,并建议先进行单体模块化以减少事件、提升系统弹性。
2025-05-14 cs.SE
Microservice Decomposition via Static and Dynamic Analysis of the Monolith
将单片软件系统迁移到微服务需要应用分解技术来寻找和选择适当的服务边界。这些技术通常基于领域知识、静态代码分析和非功能性需求(如可维护性)。在本文中,我们提出了一种方法,该方法扩展了静态分析与遗留软件系统的运行时行为的动态分析,包括实时跟踪可视化,以支持分解为微服务。总的来说,我们的方法结合了微服务分解的既定分析技术,例如域驱动设计的有界上下文模式,并通过动态软件可视化来丰富收集的信息,以确定适当的微服务边界。在与德国IT服务提供商adesso SE的合作中,我们将我们的方法应用于他们的真实世界,传统彩票应用程序,|专注于为这个分层的单片企业Java系统确定良好的微服务分解。
2020-03-05 cs.SE
Bridging Natural Language and Formal Specification--Automated Translation of Software Requirements to LTL via Hierarchical Semantics Decomposition Using LLMs
School of Computer Science and Technology, Xidian University(西安电子科技大学计算机科学与技术学院);Guangzhou Institute of Technology of Xidian University(西安电子科技大学广州研究院);China Academy of Space Technology(中国空间技术研究院)
本文提出Req2LTL框架,通过层次中间表示OnionL将自然语言需求转换为LTL,实现88.4%的语义准确性和100%的语法正确性。
2025-12-19 cs.SE
Innovation Initiatives in Large Software Companies: A Systematic Mapping Study
为了保持竞争优势并适应市场和技术的变化,企业需要以有组织,有目的和系统的方式进行创新。然而,由于其规模和复杂性,大公司往往专注于维护其业务,这可能会降低其创新的敏捷性。本研究的目的是提供一个概述,目前的研究创新举措,并确定在大型软件公司的背景下实施的举措所面临的挑战。这项调查是利用对已发表的关于公司创新和创业精神的文献进行系统绘图的方法进行的。然后,对四位具有丰富行业经验的专家进行了采访。我们的研究结果表明,有一个缺乏高质量的实证研究的背景下,大型软件公司的创新主动性。在这种背景下,共进行了7项研究,报告了5种类型的举措:内部创业,盗版,内部创业,分拆和众包。我们的研究提供了三个贡献。首先,本文介绍了大公司内部创新举措的现有文献地图。第二个贡献是提供了一个创新倡议树。第三个贡献是确定大型软件公司中每个计划所面临的关键挑战。在战略和战术层面,大型软件公司和其他公司没有区别。在操作层面,大型软件公司受到互联网技术进步的高度影响。大型软件公司将开放式创新模式作为其创新计划的一部分。我们设想未来的工作是进一步实证评估大型软件公司的创新计划树,这涉及到更多的从业者来自不同的公司。
2018-02-16 cs.SE
PF4Microservices: A decomposion scheme for microservices based on Problem Frames
近年来,微服务架构已经成为软件工程中流行的架构风格,其对DevOps和持续交付的天然支持,以及其可扩展性和可扩展性,推动行业从业者迁移到微服务架构。然而,采用微服务架构存在许多挑战,其中最重要的是如何将单片系统正确分解为微服务。目前,单片系统的微服务分解决策依赖于主观的人类经验,这是一个成本高昂、耗时的过程,结果具有高度的不确定性。为了解决这个问题,本文提出了一种使用Jackson问题框架进行微服务分解的方法。该方法首先分析系统的需求,获得所提出的软件与其环境之间的交互描述,构建多个问题图,然后通过分析它们之间的相关性和相似性合并问题图,得到微服务分解方案。最后以一个智能停车场系统为例进行了案例分析。研究结果表明,该方法可以根据需求和软件环境进行微服务分解,从而减轻开发人员的决策负担,分解结果合理。
2022-07-11 cs.SE
A Game of Attribute Decomposition for Software Architecture Design
属性驱动的软件体系结构设计旨在通过考虑软件的质量属性来提供决策支持。这个过程中的一个中心问题是:什么架构设计最能满足期望的软件需求?为了回答这个问题,系统设计者需要在几个潜在冲突的质量属性之间进行权衡。这种决定通常是临时性的,在很大程度上依赖于经验。我们提出了一个数学方法来解决这个问题。博弈论自然提供了基本的语言:参与者代表需求,策略涉及在参与者之间建立联盟。通过这种方式,我们提出了一种新的模型,称为分解游戏,属性驱动的设计。基于内聚和扩展自由的概念,我们提出了它的解的概念,并证明了解总是存在的。然后,我们研究了获得解决方案的计算复杂性。博弈模型和算法可以作为一个通用的框架,为软件体系结构设计提供有用的指导。我们目前我们的结果,通过运行的例子和案例研究,在现实生活中的软件项目。
2015-08-12 cs.GT cs.SE
Can Microtask Programming Work in Industry?
IT服务公司软件开发项目的一个关键问题是在正确的时间找到正确的人。通过使任务分配给人们更加流畅,在公司内部使用众包方法为这一挑战提供了一个潜在的解决方案。在公司内部,由于多个系统开发项目是分开进行的,在一个项目上有空闲时间的开发人员可能会利用这段时间来为其他项目做贡献。在本文中,我们报告了一个案例研究中的应用众包在一个大型电信公司的工业Web应用系统开发项目。开发人员使用系统规范,这些规范被组织成一组微任务,提供一组简短而独立的描述。当其他项目的人群工作者有空闲时间时,他们会获取并完成微任务。我们的研究结果提供了初步的证据,微任务编程在增加公司内部团队分配的流动性的潜在价值。该项目的人群贡献者能够在不到2小时的时间内加入并为新项目做出贡献。入职后,人群工作人员一起成功地实现了一个只包含少量缺陷的小程序。从项目参与者那里收集的访谈和调查数据显示,人群工作者报告说,他们认为入职成本会降低,并且没有遇到面对面沟通减少的问题,但在动机方面遇到了挑战。
2020-09-11 cs.SE
A Hybrid LTR-based System via Social Context Embedding for Recommending Solutions of Software Bugs in Developer Communities
Ferhat Abbas University(费尔哈特·阿巴斯大学);College of Sciences(理学院)
本文提出基于社交上下文嵌入的混合LTR系统,通过挖掘Stack Overflow实现软件bug解决方案推荐,达到78%的准确率。
2026-03-07 cs.AI cs.SE
From Zero to The Hero: A Collaborative Market Aware Recommendation System for Crowd Workers
Stevens Institute of Technology(史蒂文斯理工学院)
软件众包的成功依赖于活跃和值得信赖的工人供应池。人群工作者行为的不确定性使得预测工作者的成功并相应地计划具有挑战性。在竞争激烈的众包市场中,对共享任务的成功竞争给众包工作者的决策过程增加了另一层不确定性。对软件工作者行为的初步分析显示,82.9%的任务丢失率令人震惊。这些因素导致需要一个自动化的推荐系统,以提高CSD工作人员在竞争中成功的可见性和可预测性。为此,本文提出了一个协同推荐系统的人群工作者。建议的推荐系统方法使用五个输入指标的基础上工人的合作历史,工人的喜好,在采取任务的奖金和持续时间,工人的专业,和工人的熟练程度。然后,所提出的方法建议最合适的任务,工人竞争的基础上,工人的成功概率的任务。对260名活跃人群工作者的实验结果表明,仅遵循任务推荐的前三个成功概率,工作者的成功率可达86%
2021-07-06 cs.HC cs.LG cs.SE
Parallelization of Software Systems Test Case Selection Algorithm Based on Singular Value Decomposition
针对回归测试中受影响部分难以识别的问题,本文利用奇异值分解按系统功能聚类变更,并在共享内存系统上并行计算,以提升测试用例选择的速度与可扩展性。
2024-05-10 cs.DC cs.NA cs.SE
Crowdsourced Behavior-Driven Development: Implementing Microservices through Microtasks
软件工程众包方法有效性的关键是工作流设计,描述如何将复杂的工作组织成小的,相对独立的微任务。在本文中,我们介绍了一种行为驱动开发(BDD)工作流,用于通过自包含的微任务完成编程工作,该工作流作为一个称为Crowd微服务的预配置环境实现。在我们的方法中,代表软件团队的客户端将微服务描述为一组具有路径、请求和响应的端点。然后,群组实现端点,识别它们测试、实现和调试的各个端点行为,创建新函数并根据需要与持久性API交互。为了评估我们的方法,我们进行了一项可行性研究,其中一小群人致力于实现小型ToDo微服务。人群创建了一个只有四个缺陷的实现,完成了350个微任务,实现了13个功能。我们讨论了这些研究结果的影响,将众包编程的贡献到传统的软件项目。
2020-09-02 cs.HC cs.SE cs.SI
Representing Software Project Vision by Means of Video: A Quality Model for Vision Videos
建立一个共享的软件项目愿景是需求工程(RE)中的一个关键挑战。有几种方法使用视频来表示视觉。然而,这些方法忽略了如何产生好的视频。这种缺失的指导是RE中没有建立视频的一个关键原因。我们提出了一个质量模型的视频表示的视觉,所谓的视觉视频。基于两个文献综述,我们阐述了视频的10个质量特征和视觉的5个质量特征,它们共同形成了一个包含所有15个质量特征的视觉视频质量模型。我们提供了两种表示的质量模型:(a)视觉视频质量到质量特性的层次分解和(b)这些特性的映射到视频的生产和使用过程。虽然分层分解支持视觉视频的评估,但映射为视频制作提供了指导。在与139名学生的评价中,我们调查了15个特征是否与受试者从开发者的角度感知的视觉视频的整体质量有关。六个特征(视频长度,焦点,先验知识,清晰度,愉悦度和稳定性)与受试者感知视觉视频良好的可能性显着相关。这些关系证实了所提出的质量模型的基本相关性。因此,我们得出结论,质量模型是一个良好的基础,为未来的改进和扩展。
2019-11-23 cs.SE
Determining Microservice Boundaries: A Case Study Using Static and Dynamic Software Analysis
在将单体分解为微服务时,已经提出了许多方法来识别服务边界。然而,只有少数使用系统的方法,并已证明与复制的实证研究。我们描述了一种将系统重构为微服务架构的系统方法,该方法使用静态分析来确定系统的结构,并使用动态分析来了解其实际行为。使用这种方法(MonoBreaker)构建了一个工具的原型,并用于对真实世界的软件项目进行案例研究。其目的是评估一种结合静态和动态分析的系统分解方法的可行性和效益。这三位研究参与者认为我们的工具提出的分解是积极的,并认为它显示了仅依赖于静态分析的方法的改进。
2020-07-12 cs.DC cs.SE
Domain-Driven Design in Software Development: A Systematic Literature Review on Implementation, Challenges, and Effectiveness
本文通过系统文献综述分析了软件开发中领域驱动设计(DDD)的实施、挑战与有效性,发现DDD能有效改善系统并促进微服务分解,但需更多实证评估与产学研合作以推动其应用。
2025-06-27 cs.SE
Generating a Low-code Complete Workflow via Task Decomposition and RAG
ServiceNow
本文将任务分解与RAG形式化为GenAI系统设计模式,分析其工程权衡,并结合企业级工作流生成应用总结全开发周期实践经验。
2024-11-29 cs.AI cs.SE
Reasoning from a schema and from an analog in software code reuse
设计活动包括将问题分解为子问题以及解决方案的开发和评估。在许多情况下,解决方案的开发不是从头开始的。设计师经常会唤起和适应过去开发的解决方案。这些解决方案可以来自内部源,即设计者的存储器,和/或来自外部源。本文的目的是分析的认知机制,知识和表示的特点,在代码重用活动中所涉及的经验丰富的程序员。更一般地说,重点是重用活动的控制结构。在一个实验中,程序员必须设计程序,收集的数据进行了分析。两种代码重用情况的区别取决于重用中所涉及的过程是否在作为源解决方案的内容的细化之前开始。我们的分析突出了使用的推理模式和模拟的代码重用活动。
2007-01-31 cs.SE
Software for Distributed Computation on Medical Databases: A Demonstration Project
将分布式医疗数据库中潜在的信息汇集在一起,通过利用丰富的特征集(包括患者特征和接受的治疗)实现可靠、稳定的结果建模,有望实现个性化医疗护理。然而,由于缺乏本体的标准化、隐私问题、对数据的专有态度以及不愿意放弃对最终用途的控制,医疗数据的聚合存在障碍。模型拟合并不总是需要数据聚合。在基于最大化可能性的模型中,计算可以是分布式的,聚合仅限于对本地数据而不是原始数据的计算的中间结果。分布式拟合对于奇异值分解也是可能的。已经就特定应用程序的共享计算的技术方面开展了工作,但很少公布支持共享计算的“社交网络”方面以减少协作障碍所需的软件。我们描述了一组软件工具,允许快速组装的协作计算项目,基于灵活和可扩展的R统计软件和其他开源软件包,可以在异构的数据库环境集合中工作,完全透明,让当地官员关注隐私保护,以验证该方法的安全性。我们描述的原则,架构,并成功的测试结果为站点分层Cox模型和秩k奇异值分解(SVD)。
2017-02-10 cs.MS cs.SE stat.CO
Dependency-Guided Code Generation: Structured Matrix Decomposition and Consistency-Guided Refinement
University of the Chinese Academy of Sciences(中国科学院大学);ByteDance Inc.(字节跳动公司);Zhejiang University(浙江大学);National Taiwan University(台湾国立大学);Peking University(北京大学);Alibaba Group(阿里巴巴集团);Tsinghua University(清华大学);Liaoning Technical University(辽宁技术大学)
针对现有代码生成方法无法充分捕捉代码实体依赖关系的问题,提出依赖感知代码生成框架,通过结构化矩阵分解和一致性引导细化生成代码,经实验验证该方法能生成语义对齐和结构保真度更高的代码。
2026-07-28 cs.CL cs.SE
Towards Iterative End-to-End Software Development: A Feature-Driven Multi-Agent Framework
Fudan University(复旦大学);Nanyang Technological University(南洋理工大学)
提出EvoDev框架,通过特征分解、依赖建模和上下文传播,实现迭代式端到端软件开发,在Android任务上比Claude Code提升57.3%。
2026-06-05 cs.AI cs.SE