Unhappy Developers: Bad for Themselves, Bad for Process, and Bad for Software Product
最近在软件工程中的研究支持"快乐-生产"的论点,并且行业从业者经常表达程序员之间蓬勃发展的快乐的愿望。最近的文献表明,一种提高员工幸福感和生产力的经济有效的方法可能是限制开发人员由于其负面影响而产生的不幸福感。然而,在软件开发环境中,不快乐可能产生的负面影响仍然是未知的。在本文中,我们提出了第一个结果,从一项研究探索的后果不高兴的开发人员。通过对181名参与者的调查问卷进行定性数据分析,我们确定了49种开发软件时不快乐的潜在后果。这些结果有几个含义。在提高人们对软件开发中情绪、情感和感觉的作用的认识的同时,我们预见我们的分类方案将产生新的幸福研究,将因果联系起来,它可以作为开发人员和管理人员在工作中培养幸福感的指导方针。
2017-02-10 cs.CY cs.SE
Is 40 the new 60? How popular media portrays the employability of older software developers
通过我们之前的研究以及媒体报道和在线论坛上关于软件行业年龄歧视的讨论,我们开始研究围绕年龄和软件开发的公共话语。以美国为重点,我们通过(感知)就业问题和潜在缓解策略的镜头分析了Hacker News上流行的在线文章和相关讨论。除了一些颇具争议的策略,比如在简历中掩饰与年龄相关的方面,或者做整形手术让自己看起来更年轻,我们还强调了保持最新、专注于某些任务或技术的重要性,并将角色转换作为资深开发人员的前进方向。通过本文,我们希望在软件项目的决策者中建立意识,以帮助他们预测和减轻他们的老员工可能面临的挑战。
2020-06-26 cs.CY cs.SE
Understanding Software Developers' Approach towards Implementing Data Minimization
数据最小化(DM)是一种隐私实践,要求最小化软件系统中用户数据的使用。然而,连续的隐私事件,损害用户数据表明,DM的要求没有充分实现的软件系统。因此,重要的是,我们了解软件开发人员所面临的问题,当他们试图在软件系统中实现DM。在这项研究中,我们调查了24个软件开发人员如何实现DM在软件系统设计时,他们被要求。我们的研究结果表明,开发人员发现很难实现DM时,他们不知道他们可以在系统的设计阶段收集的数据的潜力。此外,开发人员在他们的软件设计中如何实现DM方面并不一致。
2018-08-04 cs.CR cs.CY cs.SE
Why developers cannot embed privacy into software systems? An empirical investigation
当用户与软件系统交互时,软件应用的普遍使用继续挑战用户隐私。尽管隐私实践(如隐私设计(PbD))对软件开发人员将隐私嵌入软件设计有明确的指导,但这些实践尚未成为软件开发人员的普遍做法。开发隐私保护软件系统的困难突出了调查软件开发人员的重要性,以及他们在被要求将隐私嵌入应用程序设计时所面临的问题。软件开发人员是能够将PbD等实践付诸行动的社区。因此,识别他们在将隐私嵌入到软件应用程序中时所面临的问题并提供这些问题的解决方案对于实现隐私保护软件系统的开发是重要的。本研究调查了36个软件开发人员在软件设计任务的指示嵌入隐私,以确定他们面临的问题。我们得出建议的指导方针,以解决问题,使隐私保护软件系统的发展。
2018-05-25 cs.CR cs.CY cs.SE
Identifying Factors Contributing to Bad Days for Software Developers: A Mixed Methods Study
本研究通过访谈、调查、日记研究与遥测数据分析的混合方法,识别并验证导致软件开发者“糟糕一天”的关键因素及其对生产力、满意度和幸福感的影响。
2024-10-24 cs.CY cs.SE
Reel Life vs. Real Life: How Software Developers Share Their Daily Life through Vlogs
软件开发人员正在转向vlog(视频博客),分享穿着他们的鞋子走路的一天。通过这些视频博客,开发人员可以分享他们的技术工作以及个人生活的丰富视角。然而,vlog中描绘的活动类型与行业开发人员执行的活动不同吗?如果一家软件公司的开发人员被要求通过视频博客分享他们的一天,他们会更喜欢在不同程度上展示活动吗?为了回答这些问题,我们分析了YouTube上软件开发人员的130个视频博客,并对一家大型软件公司的335名软件开发人员进行了调查。我们发现,尽管视频博客呈现了传统的开发活动,如编码和编码外围活动(11%),但它们也突出了健康和生活方式相关的活动(47.3%),这些活动在以前的软件工程文献中没有反映出来。我们还发现,软件公司的开发人员倾向于分享更多的非编码任务(例如,个人项目,与家人和朋友在一起的时间,以及健康),当被要求创建一个模拟vlog以促进多样性时。这些发现表明,我们对软件开发人员如何花费时间的理解发生了转变,并发现有价值的公开分享。我们讨论了vlog如何提供软件开发工作的更完整的视角,并作为实证研究的宝贵数据来源。
2021-07-27 cs.CY cs.HC cs.SE
How Gamification Affects Software Developers: Cautionary Evidence from a Natural Experiment on GitHub
我们研究了软件开发人员的行为如何改变,以响应从GitHub(一个协作编程和软件开发的在线平台)中删除游戏化元素。我们发现,从用户界面(从用户简档页面)突然删除日常活动条纹计数器后,行为发生了显著变化。长期连续的活动被放弃,变得不那么常见。周末的活动减少了,开发人员做出单一贡献的日子变得不那么常见。平台社交网络中裸奔行为的同步性也有所下降,这表明游戏化是社交影响力的强大渠道。关注一组公开追求连续100天贡献目标的软件开发人员,我们发现其中一些开发人员在公共连胜计数器被删除后放弃了这一追求。我们的研究结果为游戏化对大型协作编程和软件开发平台上开发人员行为的重大影响提供了证据。他们敦促谨慎:游戏化可能会将软件开发人员的行为引向意想不到和不想要的方向。
2021-05-10 cs.CY cs.SE cs.SI
Software developers, moods, emotions, and performance
研究表明,当涉及到生产力时,软件开发人员的快乐会得到回报。
2014-06-20 cs.SE
Consequences of Unhappiness While Developing Software
越来越多的关于软件开发人员影响的文献大多报道了幸福感,软件质量和开发人员生产力之间的联系。理解幸福的积极面--积极的情绪和心情--是一项有吸引力的重要努力。工业和组织心理学的学者们建议,研究消极的一面--不快乐--可能会导致提高工作条件、工作绩效和限制心理障碍发生的成本效益高的方法。我们对开发人员快乐的后果的理解仍然太肤浅,主要表现在开发生产力和软件质量方面。在本文中,我们试图揭示软件开发人员不快乐的经验后果。通过对181名问卷参与者的回答进行定性数据分析,我们确定了49种在软件开发过程中不快乐的后果。我们发现了对开发人员的心理健康、软件开发过程和所产生的工件的有害后果。我们的分类方案,可作为开放数据,将催生新的因果类型的幸福研究机会,它可以作为从业者识别不幸福的破坏性影响和促进工作幸福的指导方针。
2017-02-24 cs.CY cs.SE
Pandemic Programming: How COVID-19 affects software developers and how their organizations can help
上下文2020年初,新型冠状病毒席卷全球,数千名软件开发人员开始在家工作。许多人是在接到通知后很短的时间内,在困难和紧张的条件下这样做的。Objective.本研究调查疫情对开发商的健康及生产力的影响。法问卷调查主要是根据现有的、经过验证的量表编制的,并翻译成12种语言。使用非参数推断统计学和结构方程模型对数据进行分析。结果调查问卷收到了来自53个国家的2225份可用答复。因子分析支持量表的有效性,结构模型拟合良好(CFI = 0.961,RMSEA = 0.051,SRMR = 0.067)。验证结果包括:(1)疫情对开发商的健康和生产力产生了负面影响;(2)生产力和健康密切相关;(3)灾难准备、与疫情相关的恐惧和家庭办公室的人体工程学都影响健康或生产力。探索性分析表明:(1)妇女、父母和残疾人可能受到不成比例的影响;(2)不同的人需要不同种类的支持。结论.为了提高员工的工作效率,软件公司应该专注于最大限度地提高员工的福利和改善员工家庭办公室的人体工程学。妇女、父母和残疾人可能需要额外支助。
2020-07-20 cs.CY 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
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
Investigate how developers and managers view security design in software
本文通过采访曾遭受网络攻击的软件团队,分析了7名开发者和2名管理者对安全设计的看法,并将反馈归纳为4个代码以指导安全设计。
2023-10-22 cs.CR cs.CY cs.SE
On Debugging the Performance of Configurable Software Systems: Developer Needs and Tailored Tool Support
确定一个可配置的软件系统是否存在性能缺陷或配置错误通常具有挑战性。虽然有许多调试技术,可以支持开发人员在这项任务中,有有限的经验证据的技术是如何有用的,以解决开发人员的实际需求时,调试可配置的软件系统的性能;大多数技术往往是在技术的准确性,而不是他们的可用性方面进行评估。在本文中,我们采取以人为本的方法来识别,设计,实施和评估的解决方案,以支持开发人员在调试可配置的软件系统的性能的过程中。我们首先与19名开发人员进行了探索性研究,以确定开发人员在此过程中的信息需求。随后,我们设计并实现了一个量身定制的工具,从以前的工作中调整技术,以支持这些需求。两个用户研究,共有20名开发人员,验证和确认,我们提供的信息可以帮助开发人员调试可配置软件系统的性能。
2022-03-19 cs.SE
Embedding Privacy Into Design Through Software Developers: Challenges & Solutions
为了使隐私成为软件中的一等公民,我们主张为开发人员提供可用的工具,并提供来自组织,教育工作者和监管机构的支持。我们讨论了成功集成隐私功能所面临的挑战,并为利益相关者提出解决方案,以帮助开发人员执行隐私相关任务。
2022-09-08 cs.CR cs.CY cs.HC
Do Open Source Software Developers Listen to Their Users?
在应用软件中,目标用户的满意使软件更容易被接受。开放源码软件(OSS)系统既没有专有软件的物理边界,也没有商业边界,因此世界各地的用户都可以与之互动。这种免费使用是有利的,因为越来越多的用户能够使用开放源码软件;有更多的改进机会。这项研究探讨了OSS开发人员处理用户反馈的方式。在我们的调查中,我们还询问了开放源码软件开发人员是否咨询专业的可用性专家来改进他们的项目。根据结果,大多数OSS开发人员既不将可用性视为他们的首要任务,也不咨询可用性专家。
2015-07-24 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
AI Policies: Help or Hindrance? A Software Developer's Perspective
Monash University(莫纳什大学);Singapore Management University(新加坡管理大学)
本研究通过19次开发者访谈,探讨AI政策对软件开发者的帮助与阻碍,并提出以开发者为中心的政策引入方法,以支持管理决策。
2026-09-16 cs.AI cs.SE
Helping Software Developers through Offline Repository Based API Searching in Data MiningIntegrated Environment
软件开发变化如此之快。如果能够通过对开发人员的指导来加快软件开发的进程,将是非常有益的。在开发过程中给开发人员提供适当的指导和准确的建议,可以减少软件开发费用,也可以节省开发人员宝贵的时间。有很多方法可以加速软件开发过程。这可以通过代码辅助工具来完成,这些工具通过从应用程序编程接口(API)的特定存储库中推荐相关项目来帮助开发人员。一些方法是基于在线搜索,由于请求和响应延迟,因为它必须处理服务器中的超大文件,因此具有一些缺点。开发人员通常使用以前完成的资源以及库或框架来生成相关的代码片段,这些代码片段由API的引用存储库提供。开发人员发现很难选择合适的方法,因为有成千上万的方法,其中一些没有正确的文档。在本文中,我们提出了一个概念及其相应的框架,以指导开发人员从离线挖掘的存储库中建议相关的API方法。从我们所做的调查,我们可以说,我们的方法比一些现有的方法工作得更好。
2020-06-21 cs.SE
Recommending More Efficient Workflows to Software Developers
现有的推荐系统可以通过推荐新的编程工具(例如重构工具或程序导航工具)来帮助开发人员提高他们的软件开发能力。然而,仅仅孤立地推荐工具本身并不能让开发人员成功地完成他们的任务。在本文中,我将介绍一个新的推荐系统,它可以向开发人员推荐工作流或工具序列。通过学习更有效的工作流程,该系统可以使软件开发人员更有效率。
2021-02-06 cs.IR 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
Are Happy Developers more Productive? The Correlation of Affective States of Software Developers and their self-assessed Productivity
几十年来,人们一直声称提高软件开发人员生产力的一种方法是关注人。事实上,虽然人的因素已经在软件工程研究中得到了认可,但很少有实证研究试图验证这一说法。开发任务是通过认知处理能力来完成的。情感状态-情绪,情绪和感觉-对工作相关的行为,认知处理活动和个人的生产力有影响。在本文中,我们报告了一项实证研究的影响,情感状态对软件开发人员的性能,而编程。两个情感状态维度与自我评估的生产力呈正相关。我们展示了应用心理测量学在软件工程研究中的价值,并呼吁对软件开发人员的人性化、个性化方面进行评价。我们引入并验证了测量工具和线性混合效应模型来研究软件开发人员的情感状态和生产力的相关性。
2013-06-07 cs.HC cs.SE
Understanding Emotions of Developer Community Towards Software Documentation
开源项目的可用性促进了开发人员在广泛的项目上做出贡献和协作。因此,为此类开源项目做出贡献的开发人员社区也在增加。许多项目都涉及频繁更新和广泛重复使用。一个更新良好的文档有助于更好地理解软件项目,也有助于有效的贡献和重用。虽然软件文档在软件开发和维护过程中扮演着重要的角色,但它也存在着诸如不充分、不一致、可维护性差等问题,探讨开发人员对文档的看法有助于理解软件文档中普遍存在的问题背后的原因。它可以进一步帮助决定可以向开发人员社区提供的培训,以便为社会建立更可持续的项目。分析项目贡献者的情绪可以为理解开发人员的看法提供见解。因此,作为朝着这个方向迈出的第一步,我们分析了特定于软件项目文档的提交消息的情感。为此,我们考虑了GHTorrent数据集中998个GitHub项目的提交历史,并确定了10,996个提交对应于存储库的文档。此外,我们应用情感分析技术来获得对所选提交的提交消息中表达的情感类型的见解。我们观察到,大约45%的已识别提交消息表达了信任情绪。
2021-03-01 cs.SE
Characterizing and Understanding Software Developer Networks in Security Development
为了构建安全的软件,开发人员通常在软件开发和维护期间一起工作,以查找、修复和防止安全漏洞。检查开发人员在其安全活动期间关于安全引入和修复活动的交互的性质可以为改进当前实践提供见解。在这项工作中,我们进行了一个大规模的实证研究,以表征和理解开发人员在安全活动中的安全引入和修复的互动,其中涉及超过16 K的安全修复提交和超过28 K的安全引入提交从9个大型开源软件项目。对于我们的分析,我们首先检查一个项目是否是一个英雄为中心的项目时,评估开发人员在他们的安全活动的贡献。然后,我们研究开发人员之间的交互模式,探索模式的分布如何随着时间的推移而变化,并研究开发人员的交互对项目质量的影响。此外,我们还将安全活动中的开发人员交互的性质与非安全活动中的开发人员交互进行了比较(即,引入和修复非安全性错误)。在我们的研究结果中,我们发现:大多数的实验项目是非英雄为中心的项目时,通过使用他们的安全活动来评估开发人员的贡献;存在共同的主导交互模式在我们的实验项目;交互模式的分布与软件项目的质量相关。我们相信,从这项研究的结果可以帮助开发人员了解如何产生和修复的软件开发人员的交互下的可扩展性。
2019-07-28 cs.SE cs.SI
The Connection Between Burnout and Personality Types in Software Developers
本文探讨了五因素模型人格特质和软件开发人员职业倦怠之间的关系。本研究旨在验证其他领域的研究结果的普遍性。一项在线调查包括一个小型化的国际人格项目池问卷,用于测量五因素模型的人格特质,和Shirom-Melamed倦怠测量测量倦怠,分发到开源开发人员邮件列表,获得47个有效的答复。贝叶斯线性回归分析的结果表明,神经质和倦怠之间有很强的联系,证实了以前的工作,而其他五因素模型特征并没有增加模型的力量。值得注意的是,我们没有调查与个性有关的工作质量,也没有考虑任何其他混淆因素,例如团队合作。尽管如此,雇主可能会意识到并支持高度神经质的软件开发人员。
2019-06-22 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
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
Happy software developers solve problems better: psychological measurements in empirical software engineering
30多年来,人们一直声称,提高软件开发人员生产力和软件质量的一种方法是关注人,并提供激励措施,使开发人员满意和快乐。这种说法在软件工程研究中很少得到验证,与更传统的工程领域相比,软件工程研究面临着额外的挑战:软件开发是一种智力活动,并且经常被忽视的人的方面所主导。在软件开发所需的技能中,开发人员必须具备较高的分析解决问题的技能和软件构建过程的创造力。根据心理学的研究,情感-情绪和情绪-深深地影响着员工的认知处理能力和表现,包括创造力和分析问题的解决。然而,很少有研究调查程序员的情感状态,创造力和分析问题解决能力之间的相关性。这篇文章回应了在软件工程研究中使用心理测量的呼吁。我们报告了一项有42名参与者的研究,以调查软件开发人员的情感状态,创造力和分析解决问题的技能之间的关系。研究结果支持了快乐的开发人员在分析能力方面确实是更好的问题解决者的说法。本研究的贡献如下:(1)更好地理解情感状态对开发人员的创造力和分析问题解决能力的影响,(2)在经验软件工程中引入和验证情感状态、创造力和分析问题解决技能的心理测量、理论和概念,(3)提出了用多学科的观点研究软件工程中人的因素的必要性。
2015-05-05 cs.HC cs.SE
"STILL AROUND": Experiences and Survival Strategies of Veteran Women Software Developers
本研究通过14次访谈,探究资深女性软件开发者面对年龄与性别双重歧视的经历与生存策略,发现其独特策略及价值,建议组织善加利用。
2023-05-10 cs.SE
Study of software developers' experience using the Github Copilot Tool in the software development process
在软件开发中,有一个不断的压力,即在不影响质量的情况下越来越快地生成代码。支持开发人员的新工具是为了响应这一需求而创建的。目前,新一代的解决方案即将推出-人工智能驱动的工具。2021年6月29日,Github Copilot发布。它使用经过训练的模型来生成基于人类可理解语言的代码。这项研究的重点是调查软件开发人员的方法,这个工具。为此,编写了一份包含18个问题的调查表,并与程序员分享。共收集到42个答案。研究结果表明,开发商的意见是分歧的。他们中的大多数人在参加调查之前都见过Github Copilot。对该工具的态度大多是积极的,但没有多少参与者愿意使用它。担忧是由使用Github Copilot相关的安全问题引起的。
2023-01-12 cs.SE stat.ML
Two Sides of the Same Coin: Software Developers' Perceptions of Task Switching and Task Interruption
在不断发展的软件开发世界中,在任务之间来回切换已经成为常态。虽然任务切换通常可以让开发人员有效地执行任务,并通过灵活的途径提高创造力,但频繁的任务切换也会带来一些后果。对于像软件开发这样的高动力任务来说,“心流”,即专注的高生产力状态,是至关重要的。每一次转换都会分散开发人员的心流,要求他们转换精神状态,并需要额外的沉浸时间才能回到心流中。然而,由于任务切换导致的时间碎片而浪费的时间在很大程度上是不可见的,并且不被开发人员和管理人员注意到。我们对141名软件开发人员进行了一项调查,调查他们对任务切换和任务中断之间差异的看法,并探讨他们是否认为任务切换和中断一样具有破坏性。我们发现,从业者认为任务切换(计划或计划外)和随机中断的破坏性之间有相当大的相似性。高水平的认知成本和低性能是我们的受访者所阐述的任务切换的主要后果。我们的研究结果拓宽了软件从业者之间的流动变化的特点和类别的破坏性开关,以及日常站立会议所造成的中断的后果的理解。
2018-05-15 cs.SE
Legal Aspects for Software Developers Interested in Generative AI Applications
University of Passau(帕绍大学)
本文探讨了软件开发者在将生成式AI集成到产品中时面临的数据保护和版权法律风险,总结了关键知识以帮助开发者避免责任索赔。
2024-04-25 cs.AI cs.CY cs.LG
"We are a startup to the core": A qualitative interview study on the security and privacy development practices in Turkish software startups
安全和隐私在软件开发中经常被忽视,很少被开发人员优先考虑。这种观点通常基于研究人员进行的研究以及在美国,欧洲和英国生活和工作的开发人员群体。然而,软件生产是全球性的,重要技术中心的关键人群没有得到充分研究。土耳其的软件创业场景是有影响力的,与软件安全和隐私相关的理解、知识和缓解措施仍然没有得到充分研究。为了缩小这一研究差距,我们对在土耳其软件初创公司工作的16名开发人员进行了半结构化访谈研究。访谈研究的目的是分析开发人员是否以及如何确保他们的软件是安全的,并保护用户隐私。我们的主要发现是,由于缺乏意识、技能和资源,开发人员很少优先考虑安全和隐私。我们发现,法规可以对安全和隐私产生积极影响。根据这项研究,我们向行业、个人开发者、研究人员、教育工作者和监管机构提出了建议。我们的建议可以为软件开发中的安全和隐私提供更全球化的方法。
2022-12-16 cs.CR cs.CY cs.HC
Examining Software Developers' Needs for Privacy Enforcing Techniques: A survey
University of Cyprus(塞浦路斯大学)
本文通过调查68名开发者,探讨了软件开发者在隐私法律合规中对自动化工具的需求及影响因素,指出隐私促进者的重要性。
2025-12-15 cs.SE
A survey on the impact of emotions on the productivity among software developers
本研究通过两阶段调查结合偏最小二乘法分析,证实软件开发者情绪状态对感知生产力有强正向显著影响,强调情绪管理对提升开发生产力的重要性。
2025-10-06 cs.HC cs.SE