Do Personality Profiles Differ in the Pakistani Software Industry and Academia - A Case Study
从软件生存周期、团队绩效、软件质量属性等不同角度研究了软件工程中人格特征和人为因素的影响,并对学术界和工业界软件工程师的人格特征进行了比较。在这项调查中,我们收集了来自学术界和巴基斯坦当地行业的软件工程师的个性简介。根据Myers- Briggs Type Indicator(MBTI)仪器,巴基斯坦学者中最突出的个性类型是内向,感觉,思考和判断(ISTJ)的组合。然而,在巴基斯坦软件行业的软件工程师中,最主要的人格类型是外向、感觉、思考和判断(ESTJ)的组合。研究结果表明,在工业界工作的软件工程师大多是外向的,而学术界的软件工程师则倾向于内向。尺寸:然而,在巴基斯坦软件行业和学术界,感知、思考和判断(STJ)在软件工程师的主要人格类型中仍然很常见。
2015-07-24 cs.SE
Personality Profiles of Software Engineers and Their Software Quality Preferences
软件工程(SE)中与人的方面相关的研究已经从不同的角度进行。这些观点包括研究软件生存周期不同阶段的人的因素,软件开发中团队绩效的影响,一个人格特质如何适合一个特定的任务,以及其他一些杂项问题。这项研究工作的目的是建立巴基斯坦的软件工程师使用迈尔斯-布里格斯类型指标(MBTI)仪器的个性概况。在这项调查中,我们收集了110名软件工程师的个性特征。此外,还收集了他们对软件质量属性的偏好。研究分析表明,最突出的人格类型是内向、敏感、思考和判断的组合。调查结果表明,大多数软件工程师认为可用性和功能性是最重要的软件质量属性。
2015-11-13 cs.SE
Communication and Personality Profiles of Global Software Developers
背景:先前的研究已经确定,在全球软件开发过程中,一小部分个人主导着团队沟通。然而,这些成员的贡献如何影响其团队的知识传播过程,或者他们的个性特征是否是他们占主导地位的原因,目前尚不清楚。目的:我们着手通过对存储库工件的研究来解决这一差距。方法:从IBMRationalJazz存储库中挖掘来自十个团队的工件。我们采用了社会网络分析(SNA),根据他们交流的信息数量和他们对任务变化的参与程度,将从业者分为两个集群,顶级成员和其他人。然后使用SNA指标(密度、入度和紧密度)来研究从业人员在知识传播中的重要性。此后,我们进行了心理语言学分析从业者的信息,使用语言的尺寸,以前与大五人格概况。结果如下:对于我们的样本146从业者,我们发现,顶级成员占据知识传播的关键作用,并表现出更多的开放性的经验比其他人。此外,在团队合作过程中,所有的个性特征都得到了体现,尽管经验开放性、宜人性和外向性特别明显。然而,没有特定的人格预测成员参与知识传播。结论:促进高度连接的团队沟通网络的任务分配可以减轻全球软件团队中的隐性知识损失。此外,虽然表示对经验持开放态度的成员可能特别有动力去执行,但这并不完全是全球团队成功的原因。
2021-02-24 cs.SE
Exploring the Relationship Between Personality Traits and User Feedback
本研究针对用户人格对软件工程协作的影响尚不明确的问题,通过56名学生的实验发现神经质与反馈详尽度、功能评分显著相关,提示需求工程中需考虑人格因素。
2023-07-22 cs.SE
Personality Traits in Game Development
现有的关于软件开发中人格特质的研究将游戏开发者排除在一个独立的群体之外。虽然游戏是软件,但游戏开发有其独特的考虑因素,因此游戏开发人员可能会表现出与其他软件专业人员不同的个性特征。我们评估了123个游戏开发者的国际人格项目池五因素模型量表和人口调查问卷,使用因素分析。程序员的外向性低于设计师、艺术家和制作团队成员;开放性低于设计师和制作,神经质高于制作--可能与倦怠和关键时间有关。与已发表的软件开发人员的规范相比,游戏开发人员报告较低的开放性,责任心,外向性和可信赖性,但较高的神经质。这些个性差异有许多实际意义:角色之间的外向性差异可能会导致沟通障碍;开放性差异可能会导致程序员和设计师之间的冲突。了解性格特征和角色之间的关系可以帮助招聘人员引导新员工进入合适的角色,并帮助管理人员应用适当的压力管理技巧。为了实现这些好处,必须将个人与角色区分开来:仅仅因为一个人占据了一个角色并不意味着他们拥有与该角色相关的人格特征。
2022-04-25 cs.HC cs.SE
A large-scale, in-depth analysis of developers' personalities in the Apache ecosystem
内容:大型分布式项目通常是由多个具有不同个性的开发人员共同努力的结果。目的:我们的目标是找到证据,个性可以解释开发人员在大规模分布式项目中的行为。例如,信任他人的倾向--全球软件工程成功的关键因素--被发现对分布式项目中代码评审的结果有积极的影响。方法:在本文中,我们进行了定量分析的生态系统级数据的代码提交和电子邮件消息的开发人员贡献的Apache软件基金会(ASF)的项目,作为大规模分布式项目的代表。结果如下:我们发现,Apache开发人员中有三种常见的性格特征,特别是他们的可持续性和神经质水平。我们还证实,开发人员的个性是稳定的,随着时间的推移。此外,个性特征并不因其角色、成员资格和对项目的贡献程度而有所不同。我们还发现,更多的开放开发人员更有可能成为Apache项目的贡献者。结论:总的来说,我们的研究结果加强了对软件工程中人为因素的未来研究的必要性,以使用心理测量工具来控制开发人员个性的差异。
2022-04-13 cs.SE
Promises and Perils of Inferring Personality on GitHub
人格在我们理解人类行为和行为中起着关键作用。今天,人格的应用是广泛的,建立在心理学的解决方案来推断人格。例如,在软件工程中,一种广泛使用的推断个性的解决方案使用文本通信数据。随着对软件工程中个性的研究不断增长,了解这些解决方案的性能势在必行。本文比较了三种广泛研究的基于文本的性格测试的推理能力,并与GitHub上的基本事实进行了比较。本文探讨了提高人格测验推理能力所面临的挑战和可能的解决方案。我们的研究表明,推断个性的解决方案远非完美。软件工程通信数据可以推断出单个开发人员的个性,平均出错率为41%。在最好的情况下,通过遵循我们的建议,出错率可以降低到36%。
2021-07-15 cs.SE
The Impact of Personality on Requirements Engineering Activities: A Mixed-Methods Study
本研究采用基于人格测试的调查和深入访谈的混合方法,探索了人格特质对需求工程活动的影响,并提出了减轻负面影响的策略,为从业者和研究人员提供指导。
2023-11-20 cs.SE
Influence of Personality Types in Software Tasks Choices
根据心理学,不是每个人都能胜任所有的工作。因此,如果具有特定个性类型的人被分配到项目中他们喜欢的任务,那么软件开发成功的机会就会增加。同样,软件开发在很大程度上取决于软件从业者如何执行他们的任务。这项实证研究调查了100名古巴软件开发人员,他们也在古巴哈瓦那的信息科学大学任教或学习。这项工作的目的是找到可能的模式,链接个性类型的角色偏好在软件生存周期。在各种角色中,系统分析师,软件设计师和程序员被认为是最受欢迎的参与者。相比之下,软件测试人员和软件维护人员恰好是软件工程师中最不受欢迎的角色。
2015-11-13 cs.CY cs.SE
Agents with Feelings? Personality and Emotion in Multi-Agent Software Teams
University of California, Irvine(加州大学尔湾分校)
研究多智能体软件工程团队中个性和情绪特征对团队绩效的影响,采用结合多种因素的心理学框架,通过对78种团队配置评估发现配置显著影响性能、协作及成本,表明智能体配置是重要设计维度。
2026-07-08 cs.SE
Psychometric Instruments in Software Engineering Research on Personality: Status Quo After Fifty Years
本研究通过系统映射回顾了1970至2020年软件工程领域人格心理测量工具的使用现状,发现MBTI等工具的应用存在不足,建议借鉴社会科学知识改进工具采用并促进跨学科合作。
2023-05-05 cs.SE
How Does Cognitive Capability and Personality Influence Problem Solving in Coding Interview Puzzles?
RMIT University(皇家墨尔本理工大学);Heidelberg University(海德堡大学);Monash University(蒙纳士大学)
研究探讨了认知能力和个性特征对编码面试问题解决的影响,发现尽责性和开放性与问题解决准确性正相关,神经质则呈负相关。
2026-01-29 cs.SE
MentalGame: Predicting Personality-Job Fitness for Software Developers Using Multi-Genre Games and Machine Learning Approaches
Department of Computer Engineering, University of Tehran(塔里哈大学计算机工程系)
MentalGame通过多类型游戏和机器学习方法预测软件开发人员的性格-职业适配度,实现高精度的适配性预测。
2026-01-03 cs.AI cs.HC cs.LG
The Influence of HEXACO Personality Traits on the Teamwork Quality in Software Teams -- A Preliminary Research Approach
Aachen FH Aachen University of Applied Sciences(亚琛应用科学大学);German Aerospace Center (DLR)(德国航空航天中心)
本研究设计测量HEXACO人格特质对软件团队团队工作质量(TWQ)的影响,初步数据(n=54)分析显示人格特质及其组合显著影响TWQ,同时性别比例和年龄分布也有影响。
2026-06-15 cs.HC cs.SE
The Influence of Human Aspects on Requirements Engineering-related Activities: Software Practitioners Perspective
需求工程(RE)相关的活动需要在软件工程(SE)中的各种角色之间进行高度协作,例如需求工程师,利益相关者,开发人员等。他们的人口统计,观点,对技术的理解,工作风格,沟通和协作能力使RE高度依赖于人。确定动机、领域知识、沟通技巧、个性、情感、文化等“人的方面”如何影响可再生能源相关活动,将有助于我们从总体上改善可再生能源和可持续能源。本研究的目的是更好地了解当前行业的角度对人的方面的影响,对RE相关的活动,特别是专注于动机和个性,针对软件从业人员参与RE相关的活动。我们的研究结果表明,软件从业者认为动机,领域知识,态度,沟通技巧和个性非常重要的人的方面时,参与RE相关的活动。一组因素被确定为软件从业者的动机因素时,参与RE相关的活动,并确定了重要的个性特征时,参与RE。我们还确定了因素,使个人参与RE相关的活动时,效率较低,并获得了初步的想法,测量个人的性能时,参与RE。我们的研究结果表明,各个领域需要更多的调查,我们总结了一套关键的建议,以进一步研究。
2022-06-06 cs.SE
The Risk-Taking Software Engineer: A Framed Portrait
本研究通过124名软件工程师的问卷调查实验,发现框架效应显著影响其风险承担,而“大五”人格特质与风险承担无关,建议工程师及管理者重视并妥善处理框架效应。
2023-01-21 cs.SE
Using Personality Detection Tools for Software Engineering Research: How Far Can We Go?
University of Bari(巴里大学)
评估软件工程师的个性可能有助于将个人特征与开发活动的特征相匹配,例如代码审查和测试,以及团队组成中的支持经理。然而,自我评估问卷并不是大规模收集多种意见的实际解决办法。相反,自动个性检测虽然克服了这些限制,但基于在非技术语料库上训练的现成解决方案,这可能不容易适用于软件工程(SE)等技术领域。在本文中,我们首先评估性能的通用人格检测工具时,应用到技术语料库的开发人员的电子邮件从Apache软件基金会的公共档案检索。我们观察到预测的准确性普遍较低,工具之间存在总体分歧。其次,我们复制了两个先前的研究,在SE取代的个性检测工具,用于推断开发人员的个性,从拉请求讨论和电子邮件。我们观察到原始结果未得到证实,即,改变原始研究中使用的工具会导致不同的结论。我们的研究结果表明,需要专门针对软件工程领域的个性检测工具。
2021-10-22 cs.AI cs.CL cs.LG
Software developers, moods, emotions, and performance
研究表明,当涉及到生产力时,软件开发人员的快乐会得到回报。
2014-06-20 cs.SE
Developing a Suitability Assessment Criteria for Software Developers: Behavioral Assessment Using Psychometric Test
开发软件开发人员的适用性评估标准:使用心理测量测试进行行为评估
2021-12-16 cs.SE
Designing Adaptive Developer-Chatbot Interactions: Context Integration, Experimental Studies, and Levels of Automation
针对软件开发复杂度高、上下文多样且相关交互研究不足的问题,本研究探索基于上下文的开发者-聊天机器人自适应交互设计,以形成支持开发者工作的方案与知识。
2023-05-01 cs.SE
Finding an Effective Classification Technique to Develop a Software Team Composition Model
无效的软件团队组成已成为公认的软件项目失败的一个突出方面。从不同的理论人格模型中提取的结果报告在软件开发人员的选择过程中产生了矛盾的拟合,有效性的挑战和缺失的指导。人们还认为,在开发模型时使用的技术可能会影响整体结果。因此,本研究旨在:1)发现一种有效的分类技术来解决问题,2)开发一个软件开发团队组成模型。开发的模型由三个预测因素组成:团队角色,个性类型和性别变量;它还包含一个结果:团队绩效变量。用于模型开发的技术是逻辑回归、决策树和粗糙集理论。高预测精度和低模式复杂度是选择有效技术的两个参数。根据研究结果,约翰逊算法(JA)的团队组成模型的一个有效的技术。该研究提出了一套24条决策规则,用于寻找有效的团队成员。这些规则涉及性别分类,以突出软件开发人员的适当个性特征。最后,本研究认为,选择适当的分类技术是开发有效模型的最重要因素之一。
2017-11-21 cs.SE
Supporting Software Engineering Research and Education by Annotating Public Videos of Developers Programming
软件工程长期以来一直在研究软件开发人员如何工作,构建了一个工作主体,形成了许多软件工程最佳实践、工具和理论的基础。最近,一些开发人员开始录制自己参与开源项目编程任务的视频,使他们能够与其他开发人员分享知识和社交。我们相信这些视频为软件工程研究和教育提供了重要的机会。在本文中,我们讨论了这些视频的潜在用途,以及如何最好地实现这种设想的使用开放的问题。我们建议创建一个中央存储库的编程视频,使分析和注释视频,以说明感兴趣的特定行为,如提问和回答问题,采用策略,和软件工程理论。这样一个知识库将提供一种重要的新方法,使软件工程研究人员和学生都能理解软件开发人员是如何工作的。
2019-05-09 cs.SE
Towards Improving the Mental Model of Software Developers through Cartographic Visualization
软件是无形的,关于软件系统的知识通常是隐性的。因此,软件开发人员的心智模型是软件工程中的一个重要因素。我们的愿景是,开发人员应该能够将代码称为“在北方”,“在西方”或“在南方”。我们希望为开发人员和其他参与软件开发的人提供一个 * 共享的 *,空间和稳定的软件项目心理模型。我们的目标是通过在IDE(集成开发环境)中嵌入地图可视化来加强这一点。可视化始终在左下方可见,类似于汽车驾驶员的GPS导航设备。对于每个开发任务,相关信息都显示在地图上。在本文中,我们提出了CODEMAP,Eclipse插件,并报告从正在进行的用户研究与专业开发人员和学生的初步结果。
2010-01-14 cs.SE
On Debugging the Performance of Configurable Software Systems: Developer Needs and Tailored Tool Support
确定一个可配置的软件系统是否存在性能缺陷或配置错误通常具有挑战性。虽然有许多调试技术,可以支持开发人员在这项任务中,有有限的经验证据的技术是如何有用的,以解决开发人员的实际需求时,调试可配置的软件系统的性能;大多数技术往往是在技术的准确性,而不是他们的可用性方面进行评估。在本文中,我们采取以人为本的方法来识别,设计,实施和评估的解决方案,以支持开发人员在调试可配置的软件系统的性能的过程中。我们首先与19名开发人员进行了探索性研究,以确定开发人员在此过程中的信息需求。随后,我们设计并实现了一个量身定制的工具,从以前的工作中调整技术,以支持这些需求。两个用户研究,共有20名开发人员,验证和确认,我们提供的信息可以帮助开发人员调试可配置软件系统的性能。
2022-03-19 cs.SE
Do Open Source Software Developers Listen to Their Users?
在应用软件中,目标用户的满意使软件更容易被接受。开放源码软件(OSS)系统既没有专有软件的物理边界,也没有商业边界,因此世界各地的用户都可以与之互动。这种免费使用是有利的,因为越来越多的用户能够使用开放源码软件;有更多的改进机会。这项研究探讨了OSS开发人员处理用户反馈的方式。在我们的调查中,我们还询问了开放源码软件开发人员是否咨询专业的可用性专家来改进他们的项目。根据结果,大多数OSS开发人员既不将可用性视为他们的首要任务,也不咨询可用性专家。
2015-07-24 cs.SE
What Soft Skills Software Architect Should Have? A Reflection from Software Industry
软件架构师的工作在软件开发的生存周期中被认为是非常关键的,因为软件架构在成本和质量方面对软件项目的成功和失败起着举足轻重的作用。人们具有不同的人格特质,他们感知、计划和执行任何任务的方式都受到人格特质的影响,这些人格特质以软技能为特征。大多数时候,软件开发是一个团队工作,涉及几个人执行不同的任务。软件项目的成功和失败的故事揭示了人的因素是至关重要的。在这项工作中,我们提出了一个探索性的研究软技能要求的软件架构师的工作。我们分析了124个软件架构师职位的招聘信息,并探讨了软技能要求。调查结果有助于了解软件架构师工作的软件技能要求,并介绍了他们在招聘广告中的使用现状。
2015-08-28 cs.SE
Importance of Secure Software Development Processes and Tools for Developers
在这篇关于安全软件系统的研究论文中,作者讨论了创建安全软件时正确的开发过程是什么,这将适合开发人员和相关利益相关者。开发人员的安全软件开发过程对于软件工程师来说至关重要,因为越来越多的基于软件的设备变得越来越普遍,云服务正在发展,这需要软件不断连接到互联网。考虑到这一点,安全软件开发需要转变为大多数开发人员可以依赖的东西,以使应用软件安全,并有能力减轻黑客的潜在攻击。此外,在本文中,现有的安全软件开发过程的思想和实现进行了审查和调查,使用的研究论文池在线。在此基础上,提出了一种在软件开发过程中加强安全性的方法来解决安全问题。最后,本文最后对安全功能在软件开发阶段的实际实施进行了总结,以生产安全可靠的软件程序和系统。
2020-12-30 cs.SE
Software Security during Modern Code Review: The Developer's Perspective
为了避免软件漏洞,组织正在将安全性转移到软件开发的早期阶段,例如在代码评审时。在本文中,我们旨在了解开发人员在代码审查期间评估软件安全性的观点,他们遇到的挑战以及公司和项目提供的支持。为此,我们进行了两步调查:我们采访了10名专业开发人员,并调查了182名从业人员在代码审查期间的软件安全评估。结果是开发人员在代码审查期间如何看待软件安全性以及一组已识别的挑战的概述。我们的研究表明,大多数开发人员在代码审查期间不会立即报告安全问题。只有在被问及软件安全性之后,开发人员才会在审查期间始终考虑它并承认其重要性。大多数公司不提供安全培训,但希望开发人员在审查期间仍然确保安全性。因此,开发人员报告说,缺乏培训和安全知识是他们在检查安全问题时面临的主要挑战。此外,他们还面临着第三方库的挑战,以及识别可能具有安全影响的代码部分之间的交互。此外,由于开发人员对他们开发的应用程序的安全动态的假设,在审查期间可能会忽视安全性。数据和材料:https://doi.org/10.5281/zenodo.6875435
2022-08-08 cs.SE
CyberSecurity Challenges for Software Developer Awareness Training in Industrial Environments
对网络安全主题的认识有助于软件开发人员生成安全代码。这种意识在工业环境中对于关键基础设施中的产品和服务尤其重要。在这项工作中,我们将讨论如何提高软件开发人员对安全编码的认识。我们提出了“网络安全挑战”,这是一个严肃的游戏,旨在工业环境中使用,并满足软件开发人员的需求。我们的工作总结了在工业环境中进行这些网络安全挑战所获得的经验。主要贡献是网络安全挑战活动的设计,对感知收益的分析,以及希望设计或改进这些游戏的从业者的实用建议。
2021-02-10 cs.SE
Supporting Developers in Porting Software via Combined Textual and Structural Analysis of Software Artifacts
这是计算科学与工程软件可持续性和生产力挑战(CSESSP挑战)研讨会的立场文件,由网络和信息技术研究与开发(NITRD)软件设计和生产力(SDP)协调小组主办,于2015年10月15日至16日在美国华盛顿特区举行。它讨论了角色推荐系统,基于源代码中的文本和结构信息,并通过挖掘相关应用程序进一步增强,可以在提高科学和工程软件的可移植性。
2015-08-17 cs.SE
Debugging Behaviour of Embedded-Software Developers: An Exploratory Study
许多研究人员研究了成功的开发人员在调试桌面软件时的行为。在本文中,我们调查嵌入式软件调试的中级程序员通过探索性研究。这些错误是语义上的低级错误,参与者是完成了实时操作系统课程以及其他五门编程课程的学生。我们比较成功的调试尝试与不成功的行为。我们描述了一些平稳和成功的调试行为的特点。
2017-04-11 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-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
Open Source Software Development Tool Installation: Challenges and Strategies For Novice Developers
本文通过分析24次实时软件安装会话,研究新手开发者安装开源软件开发工具时的挑战、应对策略与信息来源,并向工具供应商、用户和研究者提出建议。
2025-09-02 cs.SE
Design Thinking and Creativity of Co-located vs. Globally Distributed Software Developers
内容:软件设计是软件开发人员思考并做出设计决策的活动,这些决策塑造了软件产品的结构和行为。软件设计是人们最不了解的软件工程活动之一。在协作设计环境中,各种类型的距离可能会导致潜在影响软件设计方式的挑战和影响。目的:为了有助于更好地理解协作软件设计,我们研究了地理距离如何影响其设计思维和讨论的创造性。方法:为此,我们进行了一个多案例研究,探讨在协同设计环境中的协同和分布式软件开发人员的设计思维和创造力。结果如下:与位于同一地点的开发人员相比,分布式开发人员在探索问题空间上花费的时间更少,这可能与不同的社会技术挑战有关,例如缺乏意识和共识。分布式开发似乎并不影响他们活动的创造性。结论:参与协同设计的开发人员需要意识到,在分布式环境中,问题空间探索会减少。除非分布式团队采取补偿措施,否则这可能会对开发产生不利影响。至于距离对创造力的影响,我们的结果是不确定的,需要进一步的研究。
2021-08-26 cs.SE
Helping Software Developers through Offline Repository Based API Searching in Data MiningIntegrated Environment
软件开发变化如此之快。如果能够通过对开发人员的指导来加快软件开发的进程,将是非常有益的。在开发过程中给开发人员提供适当的指导和准确的建议,可以减少软件开发费用,也可以节省开发人员宝贵的时间。有很多方法可以加速软件开发过程。这可以通过代码辅助工具来完成,这些工具通过从应用程序编程接口(API)的特定存储库中推荐相关项目来帮助开发人员。一些方法是基于在线搜索,由于请求和响应延迟,因为它必须处理服务器中的超大文件,因此具有一些缺点。开发人员通常使用以前完成的资源以及库或框架来生成相关的代码片段,这些代码片段由API的引用存储库提供。开发人员发现很难选择合适的方法,因为有成千上万的方法,其中一些没有正确的文档。在本文中,我们提出了一个概念及其相应的框架,以指导开发人员从离线挖掘的存储库中建议相关的API方法。从我们所做的调查,我们可以说,我们的方法比一些现有的方法工作得更好。
2020-06-21 cs.SE
With Great Humor Comes Great Developer Engagement
本文通过分析faker、lolcommits和volkswagen三个项目及125位开发者调查,证明负责任地运用幽默能提升开发者参与度,并指出测试和文档是实践幽默的最佳位置。
2024-01-16 cs.SE
Developers Perception of Peer Code Review in Research Software Development
研究软件是由研究人员开发和/或使用的软件,跨越各种领域,以执行他们的研究。由于研究软件的复杂性,开发人员无法进行详尽的测试。因此,研究人员对软件输出的正确性信心较低。同行代码评审,一个标准的软件工程实践,已经帮助解决了其他类型软件中的这个问题。目的:同行代码评审在研究软件中比在其他类型的软件中更不普遍。此外,文献不包含任何关于在研究软件中使用同行代码评审的研究。因此,通过分析开发人员的看法,这项工作的目标是了解同行代码审查在研究软件开发的现行做法,确定与同行代码审查在研究软件的挑战和障碍,并提出方法,以改善同行代码审查在研究软件。方法:我们对研究软件开发人员进行了访谈和社区调查,以收集有关他们当前的同行代码评审实践,他们面临的困难以及他们如何解决这些困难的信息。结果:我们从访谈和调查中收到了84份独特的回复。结果表明,虽然研究软件团队审查了大量的代码,他们缺乏正式的过程,适当的组织,和足够的人来执行审查。结论:使用同行代码审查有望提高研究软件的质量,从而提高基础研究结果的可信度。此外,通过使用同行代码审查,研究软件开发人员可以生成更可读和更容易理解的代码,这将更容易维护。
2021-09-22 cs.SE
Profiling Software Developers with Process Mining and N-Gram Language Models
内容:剖析开发人员是一项挑战,因为许多因素,如他们的技能,经验,开发环境和行为,可能会影响详细的分析和连贯的解释交付。目的:我们的目标是通过挖掘软件开发过程来分析软件开发人员。为此,我们进行了一个受控实验,在Python编程竞赛的领域中,一组开发人员具有相同的定义良好的需求规范集和定义良好的sprint时间表。事件收集自PyCharm IDE和Mooshak自动陪审团,其中受试者签入他们的代码。方法:我们使用n-gram语言模型和文本挖掘来描述开发人员的配置文件,并使用过程挖掘算法来发现他们的整体工作流程,并提取相应的度量以供进一步评估。结果如下:研究结果表明,我们可以清楚地与一个连贯的理由大多数开发人员的特点,并区分最高性能的更具挑战性的行为。这种方法可能最终导致创建一个软件开发过程气味的目录。结论:开发人员的个人资料为软件项目经理提供了一个线索,选择适当的任务,他/她应该被分配。随着低代码和无代码平台的使用越来越多,其中编码是从上层抽象层自动生成的,挖掘开发人员在开发平台中的行为是一种很有前途的方法,不仅可以早期检测行为,还可以评估项目复杂性和模型工作量。
2021-01-17 cs.SE
Developer Prioritization in Bug Repositories
开发人员在开发过程中构建所有软件构件。现有的工作已经研究了软件仓库中的社会行为。在最重要的软件存储库之一缺陷存储库中,开发人员创建并更新缺陷报告以支持支持软件开发和维护。然而,以前的工作没有考虑开发人员在错误存储库中的优先级。在本文中,我们解决的问题,开发人员的优先级,其目的是排名的开发人员的贡献。我们主要探索两个方面,即在错误存储库中对开发人员的优先级进行建模,并使用我们的模型辅助预测任务。首先,我们模拟如何分配的优先级的开发人员的基础上的社会网络技术。研究了三个问题,包括开发人员在产品中的排名,随着时间的推移的演变,和嘈杂的评论的容忍度。其次,我们考虑利用开发人员优先级来改进bug存储库中的三个预测任务,即,错误分类、严重性识别和重新打开的错误预测。我们实证研究我们的模型和它的应用程序在Eclipse和Mozilla的错误库的性能。结果表明,开发人员优先级可以提供开发人员优先级的知识,以帮助软件任务,特别是错误分类的任务。
2017-04-16 cs.SE
Developers' Perspectives on Software Licensing: Current Practices, Challenges, and Tools
William & Mary(威廉玛丽学院);University of Sannio(萨尼奥大学);University of Victoria(维多利亚大学)
本研究探讨开发者在软件许可合规中的实践、挑战及工具,通过调查和访谈揭示当前行业现状并提出改进建议。
2026-01-23 cs.SE
Worse Than Spam: Issues In Sampling Software Developers
背景:接触专业软件开发人员是经验软件工程研究的重要组成部分。调查研究是研究实践状况的重要方法之一。由于随机抽取专业软件开发人员进行调查是不可能的,研究人员依赖于各种抽样策略。目的:在本文中,我们报告了我们的经验与不同的抽样策略,我们采用,突出道德问题,并激励需要保持一个关键的人口统计数据收集软件开发人员,以减轻外部有效性的评估研究。方法:我们的报告是基于我们过去进行的两项研究的数据。结果:通过公共媒体联系开发人员被证明是最有效和高效的抽样策略。然而,我们不仅描述了那些有兴趣达到目标的研究人员的观点,比如大量的参与者或高响应率,而且我们还揭示了不同抽样策略的伦理含义。我们提出了一个具体的道德准则,并指出在其他研究社区的辩论开始在软件工程研究社区的讨论,抽样策略应被视为道德。
2017-07-04 cs.SE
Exploring Context-Aware Conversational Agents in Software Development
软件开发是一项复杂的工作,它依赖于涉及大量分布式信息的各种上下文因素。这种知识可包括:与技术有关的任务、软件操作环境和利益攸关方的要求。在软件开发中使用这些知识的一个主要障碍是,这些信息中的大多数是隐含的,并在开发人员的头脑中捕获(隐性)或通过大量文档传播。开发人员在开发软件时,经常需要维护这些任务的心理模型。因此,上下文很容易丢失或忘记,开发人员在完成项目时经常使用试错法。本研究旨在分析在任务执行期间使用聊天机器人支持软件开发人员是否可以改善整体开发体验。聊天机器人可以帮助开发人员基于隐式上下文信息执行不同的任务。我们提出了一个实现,以探索使用文本聊天机器人来帮助开发人员自动和主动地与软件开发项目活动,复发的可行性。
2020-06-03 cs.SE
Understanding Emotions of Developer Community Towards Software Documentation
开源项目的可用性促进了开发人员在广泛的项目上做出贡献和协作。因此,为此类开源项目做出贡献的开发人员社区也在增加。许多项目都涉及频繁更新和广泛重复使用。一个更新良好的文档有助于更好地理解软件项目,也有助于有效的贡献和重用。虽然软件文档在软件开发和维护过程中扮演着重要的角色,但它也存在着诸如不充分、不一致、可维护性差等问题,探讨开发人员对文档的看法有助于理解软件文档中普遍存在的问题背后的原因。它可以进一步帮助决定可以向开发人员社区提供的培训,以便为社会建立更可持续的项目。分析项目贡献者的情绪可以为理解开发人员的看法提供见解。因此,作为朝着这个方向迈出的第一步,我们分析了特定于软件项目文档的提交消息的情感。为此,我们考虑了GHTorrent数据集中998个GitHub项目的提交历史,并确定了10,996个提交对应于存储库的文档。此外,我们应用情感分析技术来获得对所选提交的提交消息中表达的情感类型的见解。我们观察到,大约45%的已识别提交消息表达了信任情绪。
2021-03-01 cs.SE
Relating IS Developers' Attitudes to Engagement
目前正在加大努力,以了解高度参与的信息系统开发人员的个性特征以及这些特征对发展成果的影响。然而,尽管社会动机理论指出了这种关系在一般团队工作中的重要性,但人们对细粒度研究态度以及将这种态度与开发人员的过程中活动联系起来的关注程度却较低。因此,我们应用语言分析,文本挖掘和可视化,以及统计分析技术,由474名开发人员开发的人工制品来研究这些问题。我们的研究结果表明,我们的样本是开发人员传达了一系列的态度,同时努力提供系统功能,和那些从业者谁沟通最多也是最参与。此外,在所考虑的八个语言维度中,关于工作和成就的表达以及有见地的态度与开发人员的参与关系最密切。因此,团队的多样性和为结果驱动的开发人员提供积极的支持可能有助于保持团队的平衡和绩效。
2021-02-12 cs.SE
Gamekins: Gamifying Software Testing in Jenkins
开发人员必须为他们的软件编写全面的测试,以发现bug并防止回归。然而,编写测试并不是每个开发人员最喜欢的职业,如果缺乏动机导致缺乏测试,那么这可能会产生可怕的后果,例如程序质量差甚至项目失败。本文介绍了Gamekins,一个使用游戏化来激励开发人员编写更多更好的测试的工具。Gamekins集成到Jenkins持续集成平台中,游戏元素基于对源代码存储库的提交:开发人员可以通过完成Gamekins提出的测试挑战和任务获得积分,与其他开发人员或开发团队在排行榜上竞争,并因其测试相关成就而获得奖励。
2022-02-14 cs.SE
Chat activity is a better predictor than chat sentiment on software developers productivity
最近的研究表明,软件开发人员的积极情绪对软件开发人员的生产力有积极的影响。在本文中,我们调查了两个数据源:开发人员聊天消息(来自Slack和Hipchat)和单个位于同一地点的敏捷团队超过200个工作日的源代码提交。我们的回归分析表明,聊天消息的数量是最好的预测因素,可以预测提交数量和代码行数的生产力,$R^2$分别为0.33和0.27。然后,我们添加情感分析变量,直到我们模型的AIC不再改善,并获得$R^2$值0.37(提交)和0.30(代码行)。因此,分析聊天情绪可以单独提高聊天活动的生产力预测,但差异并不大。这项工作支持了情绪状态和生产力在软件开发中相互联系的观点。我们发现,三个积极的情绪指标,但令人惊讶的是,也有一个消极的情绪指标与更高的生产力。
2020-04-21 cs.SE
Differences in Jazz Project Leaders' Competencies and Behaviors: A Preliminary Empirical Investigation
研究影响软件开发的人为因素,并将具有特定能力和素质的个人分配给特定的软件角色,已被证明有助于软件项目的绩效。例如,先前的证据表明,外向的软件项目领导者是最成功的。基于个人能力和行为的角色分配在分布式软件开发环境中可能特别相关,在分布式软件开发环境中,团队经常受到距离,文化和个性问题的影响。这些环境中的项目领导者需要具备高水平的人际、个人内部和组织能力,才能适当管理这些问题并保持积极的项目绩效。为了理解和解释这些环境中项目领导者所需的特定能力和行为,我们使用心理语言学和定向内容分析来研究六位成功的IBM Rational Jazz领导者在协调他们的三个分布式项目时的运作方式。与之前的人格研究报告相反,我们的研究结果并没有揭示这些爵士乐领导者的普遍能力和行为。相反,Jazz项目领导者的能力和行为随着他们的项目任务组合而变化。我们的研究结果表明,一个务实的方法,考虑正在开发的软件任务的性质,可能是一个更有效的战略分配领导者的分布式软件团队,对战略,促进特定的个性类型。我们讨论了这些发现,并概述了分布式软件项目治理的影响。
2021-06-20 cs.SE
Raising Secure Coding Awareness for Software Developers in the Industry
许多工业IT安全标准和政策要求在软件开发过程中使用安全编码方法。这意味着两个不同的方面:第一,安全编码必须基于一组安全编码指南,第二,软件开发人员必须了解这些安全编码实践。一方面,安全编码指南看起来有点像魔法:虽然存在被广泛接受的抽象指南,但用于不同程序设计语言的低级安全编码指南却很少。另一方面,一旦选择了一套安全编码指南,就需要一种好的方法来让应该使用它们的人(即软件开发人员)了解它们。出于行业标准的安全编码要求和全球行业倡议“信任宪章”对IT安全训练人员的要求,本文概述了如何选择安全编码指南和如何提高软件开发人员使用严肃游戏进行安全编码的意识等重要研究问题。
2021-02-20 cs.SE
An Empirical Comparison of Developer Retention in the RubyGems and npm Software Ecosystems
软件生态系统可以被看作是由技术组件(软件包)和维护技术组件的社会组件(开发人员社区)组成的社会技术网络。随着时间的推移,生态系统通过社会技术变化而演变,这些变化可能会极大地影响生态系统的可持续性。像开发人员流动这样的社会变化可能会导致技术退化。这激发了识别导致开发人员放弃的那些因素的需要,以便自动化识别具有高放弃风险的开发人员的过程。本文比较了两个软件包生态系统RubyGems和npm的这些因素。我们分析了他们在GitHub上托管的软件包的演变,考虑了提交方面的开发活动,以及与其他开发人员在提交、问题或拉取请求相关的评论方面的社交互动。我们分析了RubyGems和npm分别超过3万和6万开发人员的社会技术活动。我们使用生存分析来确定哪些因素与较低的生存概率相一致。我们的研究结果表明,开发人员放弃生态系统的可能性更高:不与其他开发人员进行讨论;没有很强的社交和技术活动强度;沟通或提交频率较低;并且长时间不参与技术和社交活动。这些观察结果可用于自动识别放弃生态系统的可能性很高的开发人员,从而降低与知识损失相关的风险。
2017-08-08 cs.SE
Influence of Communication Among Shared Developers on the Productivity of Open Source Software Projects
许多软件开发人员依赖开源软件来开发他们的应用程序和编写他们的源代码。衡量一个独立项目的整体生产力对许多技术公司来说仍然是一个悬而未决的问题。在这个项目中,我们致力于弥合分析的差距,这是预测基于生产力的系统的最重要的功能。我们选择通过GitHub的应用程序编程接口(API)从GitHub收集数据,并分析我们收集的数据,以了解解决问题的平均时间与我们收集的功能之间的关系。由于我们收集的大多数数据都不是高斯数据,因此我们必须在统计建模之前使用离群值检测和应用转换来预处理数据。我们观察到的最佳模型是5次多项式回归。总的来说,我们注意到软件开发有很多方面可以提高开发人员的生产力。
2022-03-25 cs.SE
"STILL AROUND": Experiences and Survival Strategies of Veteran Women Software Developers
本研究通过14次访谈,探究资深女性软件开发者面对年龄与性别双重歧视的经历与生存策略,发现其独特策略及价值,建议组织善加利用。
2023-05-10 cs.SE
Two Sides of the Same Coin: Software Developers' Perceptions of Task Switching and Task Interruption
在不断发展的软件开发世界中,在任务之间来回切换已经成为常态。虽然任务切换通常可以让开发人员有效地执行任务,并通过灵活的途径提高创造力,但频繁的任务切换也会带来一些后果。对于像软件开发这样的高动力任务来说,“心流”,即专注的高生产力状态,是至关重要的。每一次转换都会分散开发人员的心流,要求他们转换精神状态,并需要额外的沉浸时间才能回到心流中。然而,由于任务切换导致的时间碎片而浪费的时间在很大程度上是不可见的,并且不被开发人员和管理人员注意到。我们对141名软件开发人员进行了一项调查,调查他们对任务切换和任务中断之间差异的看法,并探讨他们是否认为任务切换和中断一样具有破坏性。我们发现,从业者认为任务切换(计划或计划外)和随机中断的破坏性之间有相当大的相似性。高水平的认知成本和低性能是我们的受访者所阐述的任务切换的主要后果。我们的研究结果拓宽了软件从业者之间的流动变化的特点和类别的破坏性开关,以及日常站立会议所造成的中断的后果的理解。
2018-05-15 cs.SE
Examining Software Developers' Needs for Privacy Enforcing Techniques: A survey
University of Cyprus(塞浦路斯大学)
本文通过调查68名开发者,探讨了软件开发者在隐私法律合规中对自动化工具的需求及影响因素,指出隐私促进者的重要性。
2025-12-15 cs.SE