首页 > 最新文献

Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement最新文献

英文 中文
Monitoring Software Quality by Means of Simulation Methods 用仿真方法监控软件质量
Daniel Honsel, V. Honsel, Marlon Welter, S. Waack, J. Grabowski
The evolution of software projects is driven by developers who are in control of the developed artifacts and the quality of software projects depends on the work of participating developers. Thus, a simulation tool requires a suitable model of the commit behavior of different developer types. In this paper, we present an agent-based model for software processes containing the commit behavior for different developer types. The description of these types results from mining software repositories. Since relationships between software entities, e.g., files, classes, modules, axe represented as dependency graphs, simulation results can be assessed automatically by Conditional Random Fields (CRFs). By adjusting simulation parameters for one project we are able to give a quality trend of other projects similar in size and duration only by changing the effort and the size of other projects to simulate.
软件项目的发展是由控制开发工件的开发人员推动的,软件项目的质量取决于参与开发人员的工作。因此,模拟工具需要不同开发人员类型的提交行为的合适模型。在本文中,我们提出了一个基于代理的软件过程模型,该模型包含了不同开发人员类型的提交行为。这些类型的描述来自于对软件存储库的挖掘。由于软件实体(如文件、类、模块)之间的关系以依赖关系图的形式表示,因此仿真结果可以通过条件随机场(CRFs)自动评估。通过调整一个项目的模拟参数,我们可以通过改变其他项目的工作量和规模来模拟类似规模和工期的其他项目的质量趋势。
{"title":"Monitoring Software Quality by Means of Simulation Methods","authors":"Daniel Honsel, V. Honsel, Marlon Welter, S. Waack, J. Grabowski","doi":"10.1145/2961111.2962617","DOIUrl":"https://doi.org/10.1145/2961111.2962617","url":null,"abstract":"The evolution of software projects is driven by developers who are in control of the developed artifacts and the quality of software projects depends on the work of participating developers. Thus, a simulation tool requires a suitable model of the commit behavior of different developer types. In this paper, we present an agent-based model for software processes containing the commit behavior for different developer types. The description of these types results from mining software repositories. Since relationships between software entities, e.g., files, classes, modules, axe represented as dependency graphs, simulation results can be assessed automatically by Conditional Random Fields (CRFs). By adjusting simulation parameters for one project we are able to give a quality trend of other projects similar in size and duration only by changing the effort and the size of other projects to simulate.","PeriodicalId":208212,"journal":{"name":"Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-09-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127717266","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 7
Static Analysis and Penetration Testing from the Perspective of Maintenance Teams 从维护团队的角度看静态分析和渗透测试
M. Ceccato, R. Scandariato
Static analysis and penetration testing are common techniques used to discover security bugs in implementation code. Penetration testing is often performed in black-box way by probing the attack surface of a running system and discovering its security holes. Static analysis techniques operate in a white-box way by analyzing the source code of a system and identifying security weaknesses. Because of their different nature, the two techniques report their findings in two different ways. This paper presents an exploratory study meant to determine whether a vulnerability report generated by a security tool based on static analysis is more or less useful than a report generated by a security tool based on penetration testing. The usefulness is judged from the perspective of the developers that have to devise a vulnerability-fixing patch. The initial results show an advantage when using penetration testing in one of the two cases we investigated.
静态分析和渗透测试是发现实现代码中的安全漏洞的常用技术。渗透测试通常以黑盒方式进行,通过探测正在运行的系统的攻击面并发现其安全漏洞。静态分析技术通过分析系统的源代码和识别安全弱点,以白盒方式操作。由于它们的性质不同,这两种技术以两种不同的方式报告它们的发现。本文提出了一项探索性研究,旨在确定由基于静态分析的安全工具生成的漏洞报告是否比基于渗透测试的安全工具生成的报告更有用或更有用。有用性是从必须设计漏洞修复补丁的开发人员的角度来判断的。在我们调查的两个案例中使用渗透测试时,最初的结果显示了一个优势。
{"title":"Static Analysis and Penetration Testing from the Perspective of Maintenance Teams","authors":"M. Ceccato, R. Scandariato","doi":"10.1145/2961111.2962611","DOIUrl":"https://doi.org/10.1145/2961111.2962611","url":null,"abstract":"Static analysis and penetration testing are common techniques used to discover security bugs in implementation code. Penetration testing is often performed in black-box way by probing the attack surface of a running system and discovering its security holes. Static analysis techniques operate in a white-box way by analyzing the source code of a system and identifying security weaknesses. Because of their different nature, the two techniques report their findings in two different ways. This paper presents an exploratory study meant to determine whether a vulnerability report generated by a security tool based on static analysis is more or less useful than a report generated by a security tool based on penetration testing. The usefulness is judged from the perspective of the developers that have to devise a vulnerability-fixing patch. The initial results show an advantage when using penetration testing in one of the two cases we investigated.","PeriodicalId":208212,"journal":{"name":"Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-09-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126437401","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 13
How Are Discussions Associated with Bug Reworking?: An Empirical Study on Open Source Projects 讨论是如何与Bug重做联系在一起的?开源项目的实证研究
Yu Zhao, Feng Zhang, Emad Shihab, Ying Zou, A. Hassan
Background: Bug fixing is one major activity in software maintenance to solve unexpected errors or crashes of software systems. However, a bug fix can also be incomplete and even introduce new bugs. In such cases, extra effort is needed to rework the bug fix. The reworking requires to inspect the problem again, and perform the code change and verification when necessary. Discussions throughout the bug fixing process are important to clarify the reported problem and reach a solution. Aims: In this paper, we explore how discussions during the initial bug fix period (i.e., before the bug reworking occurs) associate with future bug reworking. We focus on two types of "reworked bug fixes": 1) the initial bug fix made in a re-opened bug report; and 2) the initially submitted patch if multiple patches are submitted for a single bug report. Method: We perform a case study using five open source projects (i.e., Linux, Firefox, PDE, Ant and HTTP). The discussions are studied from six perspectives (i.e., duration, number of comments, dispersion, frequency, number of developers and experience of developers). Furthermore, we extract topics of discussions using Latent Dirichlet Allocation (LDA). Results: We find that the occurrence of bug reworking is associated with various perspectives of discussions. Moreover, discussions on some topics (e.g., code inspection and code testing) can decrease the frequency of bug reworking. Conclusions: The discussions during the initial bug fix period may serve as an early indicator of what bug fixes are more likely to be reworked.
背景:Bug修复是软件维护中解决意外错误或软件系统崩溃的一项主要活动。然而,错误修复也可能是不完整的,甚至会引入新的错误。在这种情况下,需要额外的工作来重新修复错误。返工需要再次检查问题,并在必要时执行代码更改和验证。在整个错误修复过程中进行讨论对于澄清报告的问题并达成解决方案非常重要。目的:在本文中,我们探讨了在初始错误修复期间(即,在错误返工发生之前)的讨论如何与未来的错误返工相关联。我们专注于两种类型的“返工bug修复”:1)在重新打开的bug报告中进行的初始bug修复;2)如果为一个bug报告提交了多个补丁,则初始提交的补丁。方法:我们使用五个开源项目(即Linux、Firefox、PDE、Ant和HTTP)进行案例研究。从六个方面(持续时间、评论数量、分散程度、频率、开发人员数量和开发人员经验)对讨论进行研究。此外,我们使用潜在狄利克雷分配(LDA)提取讨论主题。结果:我们发现bug返工的发生与讨论的不同角度有关。此外,对某些主题(例如,代码检查和代码测试)的讨论可以减少bug返工的频率。结论:在最初的bug修复期间的讨论可以作为一个早期的指示,哪些bug修复更有可能被重做。
{"title":"How Are Discussions Associated with Bug Reworking?: An Empirical Study on Open Source Projects","authors":"Yu Zhao, Feng Zhang, Emad Shihab, Ying Zou, A. Hassan","doi":"10.1145/2961111.2962591","DOIUrl":"https://doi.org/10.1145/2961111.2962591","url":null,"abstract":"Background: Bug fixing is one major activity in software maintenance to solve unexpected errors or crashes of software systems. However, a bug fix can also be incomplete and even introduce new bugs. In such cases, extra effort is needed to rework the bug fix. The reworking requires to inspect the problem again, and perform the code change and verification when necessary. Discussions throughout the bug fixing process are important to clarify the reported problem and reach a solution. Aims: In this paper, we explore how discussions during the initial bug fix period (i.e., before the bug reworking occurs) associate with future bug reworking. We focus on two types of \"reworked bug fixes\": 1) the initial bug fix made in a re-opened bug report; and 2) the initially submitted patch if multiple patches are submitted for a single bug report. Method: We perform a case study using five open source projects (i.e., Linux, Firefox, PDE, Ant and HTTP). The discussions are studied from six perspectives (i.e., duration, number of comments, dispersion, frequency, number of developers and experience of developers). Furthermore, we extract topics of discussions using Latent Dirichlet Allocation (LDA). Results: We find that the occurrence of bug reworking is associated with various perspectives of discussions. Moreover, discussions on some topics (e.g., code inspection and code testing) can decrease the frequency of bug reworking. Conclusions: The discussions during the initial bug fix period may serve as an early indicator of what bug fixes are more likely to be reworked.","PeriodicalId":208212,"journal":{"name":"Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-09-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130676034","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 15
Staffing Strategies for Maintenance of Critical Software Systems at the Jet Propulsion Laboratory 喷气推进实验室关键软件系统维护的人员配置策略
W. Taber, D. Port
Context: The Mission Design and Navigation Software Group at the Jet Propulsion Laboratory (JPL) maintains mission critical software systems. We have good empirical data and models for maintenance demand---when defects will occur, how many and how severe they will be, and how much effort is needed to address them. However, determining the level of staffing needed to address maintenance issues is an ongoing challenge and is often done ad-hoc. There are two common strategies are (1) reactive - add/remove staff as needed to respond to maintenance issues, and (2) capacitive - retain a given staff size to address issues as they occur, proactively address issues and prevent defects. Goal: To use our empirical models for maintenance demand to address the issue of staffing from a risk perspective. Method: We develop a staffing model that allows us to simulate large numbers of maintenance histories. From these histories we examine the risks posed to the institution as a function of the staffing available to address issues as they arise. Results: We find that the model developed matches our intuition. There is a "sweet spot" in staffing levels that allows issues to be addressed in a timely fashion. Below that level the institution experiences substantial risk; staffing above that level does little to improve the institutions risk exposure. Conclusion: The models developed provide tools that, for the first time, allow us to quantitatively discuss the level of staffing needed to ensure that we can meet the time constrained demands for maintenance on mission critical systems and thereby determine staffing budgets that ensure mission success.
背景:喷气推进实验室(JPL)的任务设计和导航软件组维护任务关键软件系统。对于维护需求,我们有很好的经验数据和模型——什么时候会出现缺陷,缺陷的数量和严重程度,需要多少努力来处理它们。然而,确定解决维护问题所需的人员配备水平是一项持续的挑战,并且通常是临时完成的。有两种常见的策略:(1)反应性策略——根据需要添加/删除人员以响应维护问题,以及(2)容性策略——保留给定的人员规模以在问题发生时解决问题,主动解决问题并防止缺陷。目标:利用我们的维护需求的经验模型,从风险的角度来解决人员配置问题。方法:我们开发一个人员配置模型,允许我们模拟大量的维护历史。从这些历史中,我们研究了机构面临的风险,作为解决问题的人员配备的功能。结果:我们发现所建立的模型符合我们的直觉。在人员配备水平上存在一个“最佳点”,使问题能够及时得到解决。低于这一水平,机构将面临重大风险;高于这一水平的人员配置对改善该机构的风险敞口几乎没有帮助。结论:所开发的模型首次提供了工具,使我们能够定量地讨论所需的人员配备水平,以确保我们能够满足关键任务系统维护的时间限制需求,从而确定确保任务成功的人员配备预算。
{"title":"Staffing Strategies for Maintenance of Critical Software Systems at the Jet Propulsion Laboratory","authors":"W. Taber, D. Port","doi":"10.1145/2961111.2962640","DOIUrl":"https://doi.org/10.1145/2961111.2962640","url":null,"abstract":"Context: The Mission Design and Navigation Software Group at the Jet Propulsion Laboratory (JPL) maintains mission critical software systems. We have good empirical data and models for maintenance demand---when defects will occur, how many and how severe they will be, and how much effort is needed to address them. However, determining the level of staffing needed to address maintenance issues is an ongoing challenge and is often done ad-hoc. There are two common strategies are (1) reactive - add/remove staff as needed to respond to maintenance issues, and (2) capacitive - retain a given staff size to address issues as they occur, proactively address issues and prevent defects. Goal: To use our empirical models for maintenance demand to address the issue of staffing from a risk perspective. Method: We develop a staffing model that allows us to simulate large numbers of maintenance histories. From these histories we examine the risks posed to the institution as a function of the staffing available to address issues as they arise. Results: We find that the model developed matches our intuition. There is a \"sweet spot\" in staffing levels that allows issues to be addressed in a timely fashion. Below that level the institution experiences substantial risk; staffing above that level does little to improve the institutions risk exposure. Conclusion: The models developed provide tools that, for the first time, allow us to quantitatively discuss the level of staffing needed to ensure that we can meet the time constrained demands for maintenance on mission critical systems and thereby determine staffing budgets that ensure mission success.","PeriodicalId":208212,"journal":{"name":"Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-09-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131633187","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
Detection of Requirement Errors and Faults via a Human Error Taxonomy: A Feasibility Study 通过人为错误分类法检测需求错误和故障:可行性研究
Wenhua Hu, Jeffrey C. Carver, Vaibhav Anu, G. Walia, Gary L. Bradshaw
Background: Developing correct software requirements is important for overall software quality. Most existing quality improvement approaches focus on detection and removal of faults (i.e. problems recorded in a document) as opposed identifying the underlying errors that produced those faults. Accordingly, developers are likely to make the same errors in the future and fail to recognize other existing faults with the same origins. Therefore, we have created a Human Error Taxonomy (HET) to help software engineers improve their software requirement specification (SRS) documents. Aims: The goal of this paper is to analyze whether the HET is useful for classifying errors and for guiding developers to find additional faults. Methods: We conducted a empirical study in a classroom setting to evaluate the usefulness and feasibility of the HET. Results: First, software developers were able to employ error categories in the HET to identify and classify the underlying sources of faults identified during the inspection of SRS documents. Second, developers were able to use that information to detect additional faults that had gone unnoticed during the initial inspection. Finally, the participants had a positive impression about the usefulness of the HET. Conclusions: The HET is effective for identifying and classifying requirements errors and faults, thereby helping to improve the overall quality of the SRS and the software.
背景:开发正确的软件需求对于整体软件质量非常重要。大多数现有的质量改进方法侧重于检测和消除错误(即记录在文档中的问题),而不是识别产生这些错误的潜在错误。因此,开发人员很可能在未来犯同样的错误,而无法识别其他具有相同起源的现有错误。因此,我们创建了一个人为错误分类法(HET)来帮助软件工程师改进他们的软件需求规范(SRS)文档。目的:本文的目的是分析HET是否有助于对错误进行分类,并指导开发人员发现额外的错误。方法:在课堂环境下进行实证研究,评估HET的有效性和可行性。结果:首先,软件开发人员能够在HET中使用错误类别来识别和分类在SRS文档检查期间识别的潜在故障来源。其次,开发人员能够使用该信息来检测在初始检查期间未被注意到的附加错误。最后,参与者对HET的有用性有了积极的印象。结论:HET可以有效地识别和分类需求错误和故障,从而有助于提高SRS和软件的整体质量。
{"title":"Detection of Requirement Errors and Faults via a Human Error Taxonomy: A Feasibility Study","authors":"Wenhua Hu, Jeffrey C. Carver, Vaibhav Anu, G. Walia, Gary L. Bradshaw","doi":"10.1145/2961111.2962596","DOIUrl":"https://doi.org/10.1145/2961111.2962596","url":null,"abstract":"Background: Developing correct software requirements is important for overall software quality. Most existing quality improvement approaches focus on detection and removal of faults (i.e. problems recorded in a document) as opposed identifying the underlying errors that produced those faults. Accordingly, developers are likely to make the same errors in the future and fail to recognize other existing faults with the same origins. Therefore, we have created a Human Error Taxonomy (HET) to help software engineers improve their software requirement specification (SRS) documents. Aims: The goal of this paper is to analyze whether the HET is useful for classifying errors and for guiding developers to find additional faults. Methods: We conducted a empirical study in a classroom setting to evaluate the usefulness and feasibility of the HET. Results: First, software developers were able to employ error categories in the HET to identify and classify the underlying sources of faults identified during the inspection of SRS documents. Second, developers were able to use that information to detect additional faults that had gone unnoticed during the initial inspection. Finally, the participants had a positive impression about the usefulness of the HET. Conclusions: The HET is effective for identifying and classifying requirements errors and faults, thereby helping to improve the overall quality of the SRS and the software.","PeriodicalId":208212,"journal":{"name":"Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-09-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130431478","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 15
Is effectiveness sufficient to choose an intervention?: Considering resource use in empirical software engineering 有效性是否足以让我们选择一种干预措施?:考虑经验软件工程中的资源使用
N. Ali
Context: Software Engineering (SE) research with a scientific foundation aims to influence SE practice to enable and sustain efficient delivery of high quality software. Goal: To improve the impact of SE research, one objective is to facilitate practitioners in choosing empirically vetted interventions. Method: Literature from evidence-based medicine, economic evaluations in SE and software economics is reviewed. Results: In empirical SE research, the emphasis has been on substantiating the claims about the benefits of proposed interventions. However, to support informed decision making by practitioners regarding technology adoption, we must present a business case for these interventions, which should comprise not just effectiveness, but also the evidence of cost-effectiveness. Conclusions: This paper highlights the need to investigate and report the resources required to adopt an intervention. It also provides some guidelines and examples to improve support for practitioners in decisions regarding technology adoption.
上下文:具有科学基础的软件工程(SE)研究旨在影响SE实践,以启用并维持高质量软件的有效交付。目的:为了提高SE研究的影响,一个目标是促进从业者选择经验审查的干预措施。方法:对循证医学、SE经济评价和软件经济学的相关文献进行综述。结果:在实证社会经济学研究中,重点一直放在证实所提出的干预措施的好处。然而,为了支持从业者在技术采用方面做出明智的决策,我们必须为这些干预提供一个商业案例,它不仅应该包括有效性,还应该包括成本效益的证据。结论:本文强调了调查和报告采取干预措施所需资源的必要性。它还提供了一些指导方针和示例,以改进对有关技术采用的决策的实践者的支持。
{"title":"Is effectiveness sufficient to choose an intervention?: Considering resource use in empirical software engineering","authors":"N. Ali","doi":"10.1145/2961111.2962631","DOIUrl":"https://doi.org/10.1145/2961111.2962631","url":null,"abstract":"Context: Software Engineering (SE) research with a scientific foundation aims to influence SE practice to enable and sustain efficient delivery of high quality software. Goal: To improve the impact of SE research, one objective is to facilitate practitioners in choosing empirically vetted interventions. Method: Literature from evidence-based medicine, economic evaluations in SE and software economics is reviewed. Results: In empirical SE research, the emphasis has been on substantiating the claims about the benefits of proposed interventions. However, to support informed decision making by practitioners regarding technology adoption, we must present a business case for these interventions, which should comprise not just effectiveness, but also the evidence of cost-effectiveness. Conclusions: This paper highlights the need to investigate and report the resources required to adopt an intervention. It also provides some guidelines and examples to improve support for practitioners in decisions regarding technology adoption.","PeriodicalId":208212,"journal":{"name":"Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement","volume":"63 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-09-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132022725","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 15
Preliminary Findings about the Nature of Work in Software Engineering: An Exploratory Survey 关于软件工程中工作性质的初步发现:一项探索性调查
Fabio Q. B. da Silva, C. França, Cleyton V. C. de Magalhães, Ronnie E. S. Santos
Context: Work Design refers to the different ways in which a given work or task can be designed and performed. The study of work design is important because every decision related to how the work is performed can affect the outcomes of individuals and the effectiveness of teamwork. Goal: To investigate work design characteristics of software engineering work and identify areas for future research. Method: We performed a survey with professional software engineers working in different commercial software companies in Brazil. We sent invitations to just over 150 professionals and received 77 valid answers from participants working in 35 distinct software companies. We measured 21 work design constructs, as well as job burnout, role conflict, role ambiguity, and two constructs related to job rotation. Results: Comparisons of our sample with other sample consisting of a diversity of professions showed that software engineering work has distinct characteristics, but some results require further investigation. Conclusion: We identified relevant characteristics of software engineering work and areas for further research. In particular, longitudinal studies are needed to address the temporal variations impossible to identify in cross sectional studies.
上下文:工作设计是指设计和执行给定工作或任务的不同方式。工作设计的研究很重要,因为每一个与工作如何执行有关的决定都会影响个人的结果和团队合作的有效性。目的:调查软件工程工作的工作设计特征,并确定未来研究的领域。方法:我们对在巴西不同商业软件公司工作的专业软件工程师进行了调查。我们向150多名专业人士发出了邀请,并收到了来自35家不同软件公司的77份有效回复。我们测量了21个工作设计构念,以及工作倦怠、角色冲突、角色模糊和两个与工作轮换相关的构念。结果:将我们的样本与其他由多种职业组成的样本进行比较,表明软件工程工作具有明显的特征,但是有些结果需要进一步调查。结论:我们确定了软件工程工作的相关特征和进一步研究的领域。特别是,需要进行纵向研究,以解决在横断面研究中无法确定的时间变化。
{"title":"Preliminary Findings about the Nature of Work in Software Engineering: An Exploratory Survey","authors":"Fabio Q. B. da Silva, C. França, Cleyton V. C. de Magalhães, Ronnie E. S. Santos","doi":"10.1145/2961111.2962625","DOIUrl":"https://doi.org/10.1145/2961111.2962625","url":null,"abstract":"Context: Work Design refers to the different ways in which a given work or task can be designed and performed. The study of work design is important because every decision related to how the work is performed can affect the outcomes of individuals and the effectiveness of teamwork. Goal: To investigate work design characteristics of software engineering work and identify areas for future research. Method: We performed a survey with professional software engineers working in different commercial software companies in Brazil. We sent invitations to just over 150 professionals and received 77 valid answers from participants working in 35 distinct software companies. We measured 21 work design constructs, as well as job burnout, role conflict, role ambiguity, and two constructs related to job rotation. Results: Comparisons of our sample with other sample consisting of a diversity of professions showed that software engineering work has distinct characteristics, but some results require further investigation. Conclusion: We identified relevant characteristics of software engineering work and areas for further research. In particular, longitudinal studies are needed to address the temporal variations impossible to identify in cross sectional studies.","PeriodicalId":208212,"journal":{"name":"Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-09-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130793332","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 13
Who Should Take This Task?: Dynamic Decision Support for Crowd Workers 谁应该承担这个任务?:群体工作者的动态决策支持
Ye Yang, M. R. Karim, R. Saremi, G. Ruhe
Context: The success of crowdsourced software development (CSD) depends on a large crowd of trustworthy software workers who are registering and submitting for their interested tasks in exchange of financial gains. Preliminary analysis on software worker behaviors reveals an alarming task-quitting rate of 82.9%. Goal: The objective of this study is to empirically investigate worker decision factors and provide better decision support in order to improve the success and efficiency of CSD. Method: We propose a novel problem formulation, DCW-DS, and an analytics-based decision support methodology to guide workers in acceptance of offered development tasks. DCS-DS is evaluated using more than one year's real-world data from TopCoder, the leading CSD platform. Results: Applying Random Forest based machine learning with dynamic updates, we can predict a worker as being a likely quitter with 99% average precision and 99% average recall accuracy. Similarly, we achieved 78% average precision and 88% average recall for the worker winner class. For workers just following the top three task recommendations, we have shown that the average quitting rate goes down below 6%. Conclusions: In total, the proposed method can be used to improve total success rate as well as reduce quitting rate of tasks performed.
背景:众包软件开发(CSD)的成功依赖于一大群值得信赖的软件工作者,他们注册并提交他们感兴趣的任务,以换取经济收益。对软件工作者行为的初步分析显示,软件工作者的任务辞职率高达82.9%。目的:本研究的目的是实证探讨员工决策因素,提供更好的决策支持,以提高CSD的成功率和效率。方法:我们提出了一种新的问题表述,DCW-DS,以及一种基于分析的决策支持方法,以指导员工接受提供的开发任务。DCS-DS的评估使用了领先的CSD平台TopCoder一年多的真实数据。结果:应用基于随机森林的动态更新机器学习,我们可以以99%的平均精度和99%的平均召回准确率预测一个工人可能会辞职。同样,我们为工人赢家类实现了78%的平均准确率和88%的平均召回率。我们的研究表明,对于那些只遵循前三项工作建议的员工,平均辞职率降至6%以下。结论:总的来说,该方法可以提高总成功率,降低任务的退出率。
{"title":"Who Should Take This Task?: Dynamic Decision Support for Crowd Workers","authors":"Ye Yang, M. R. Karim, R. Saremi, G. Ruhe","doi":"10.1145/2961111.2962594","DOIUrl":"https://doi.org/10.1145/2961111.2962594","url":null,"abstract":"Context: The success of crowdsourced software development (CSD) depends on a large crowd of trustworthy software workers who are registering and submitting for their interested tasks in exchange of financial gains. Preliminary analysis on software worker behaviors reveals an alarming task-quitting rate of 82.9%. Goal: The objective of this study is to empirically investigate worker decision factors and provide better decision support in order to improve the success and efficiency of CSD. Method: We propose a novel problem formulation, DCW-DS, and an analytics-based decision support methodology to guide workers in acceptance of offered development tasks. DCS-DS is evaluated using more than one year's real-world data from TopCoder, the leading CSD platform. Results: Applying Random Forest based machine learning with dynamic updates, we can predict a worker as being a likely quitter with 99% average precision and 99% average recall accuracy. Similarly, we achieved 78% average precision and 88% average recall for the worker winner class. For workers just following the top three task recommendations, we have shown that the average quitting rate goes down below 6%. Conclusions: In total, the proposed method can be used to improve total success rate as well as reduce quitting rate of tasks performed.","PeriodicalId":208212,"journal":{"name":"Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-09-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131182932","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 52
Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement 第10届ACM/IEEE经验软件工程与测量国际研讨会论文集
M. Genero, Andreas Jedlitschka, M. Jørgensen, G. Scanniello, S. Sampath, D. Caivano, D. Port
{"title":"Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement","authors":"M. Genero, Andreas Jedlitschka, M. Jørgensen, G. Scanniello, S. Sampath, D. Caivano, D. Port","doi":"10.1145/2961111","DOIUrl":"https://doi.org/10.1145/2961111","url":null,"abstract":"","PeriodicalId":208212,"journal":{"name":"Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement","volume":"100 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123028035","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 7
期刊
Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1