首页 > 最新文献

2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)最新文献

英文 中文
Localized or Architectural: An Empirical Study of Performance Issues Dichotomy 本地化还是架构化:性能问题二分法的实证研究
Yutong Zhao, Lu Xiao, Xiao Wang, Bihuan Chen, Yang Liu
Performance is an important quality attribute of software systems. This paper categorizes and investigates 225 real-life performance issues in two separate groups: 1) localized issues (60%) that can be fixed by simple, localized code fixes and 2) architectural issues (40%) that require changes to a group of architecturally related files. This paper improves the understanding of causes and solutions to performance issues, specially for architectural performance issues. First, we summarized six typical root causes to performance problems that apply to both localized and architectural issues. In particular, 19% of architectural issues are associated with multiple causes. Second, we summarized four general types of architectural solutions to performance issues: 1) introducing new design elements; 2) changing design dependencies; 3) updating connected files; 4) updating independent files.
性能是软件系统的重要质量属性。本文将225个现实生活中的性能问题分为两组进行分类和调查:1)本地化问题(60%),可以通过简单的本地化代码修复来解决;2)架构问题(40%),需要更改一组架构相关文件。本文提高了对性能问题的原因和解决方案的理解,特别是对于架构性能问题。首先,我们总结了性能问题的六个典型根本原因,这些问题既适用于本地化问题,也适用于架构问题。特别是,19%的架构问题与多个原因相关。其次,我们总结了针对性能问题的四种一般类型的架构解决方案:1)引入新的设计元素;2)改变设计依赖关系;3)更新连接文件;4)更新独立文件。
{"title":"Localized or Architectural: An Empirical Study of Performance Issues Dichotomy","authors":"Yutong Zhao, Lu Xiao, Xiao Wang, Bihuan Chen, Yang Liu","doi":"10.1109/ICSE-Companion.2019.00132","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00132","url":null,"abstract":"Performance is an important quality attribute of software systems. This paper categorizes and investigates 225 real-life performance issues in two separate groups: 1) localized issues (60%) that can be fixed by simple, localized code fixes and 2) architectural issues (40%) that require changes to a group of architecturally related files. This paper improves the understanding of causes and solutions to performance issues, specially for architectural performance issues. First, we summarized six typical root causes to performance problems that apply to both localized and architectural issues. In particular, 19% of architectural issues are associated with multiple causes. Second, we summarized four general types of architectural solutions to performance issues: 1) introducing new design elements; 2) changing design dependencies; 3) updating connected files; 4) updating independent files.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117109510","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}
引用次数: 8
ARepair: A Repair Framework for Alloy ARepair:一种合金修复框架
Kaiyuan Wang, Allison Sullivan, S. Khurshid
Researchers have proposed many automated program repair techniques for imperative languages, e.g. Java. However, little work has been done to repair programs written in declarative languages, e.g. Alloy. We proposed ARepair, the first automated program repair technique for faulty Alloy models. ARepair takes as input a faulty Alloy model and a set of tests that capture the desired model properties, and produces a fixed model that passes all tests. ARepair uses tests written for the recently introduced AUnit framework, which provides a notion of unit testing for Alloy models. In this paper, we describes our Java implementation of ARepair, which is a command-line tool, released as an open-source project on GitHub. Our experimental results show that ARepair is able to fix 28 out of 38 real-world faulty models we collected. The demo video for ARepair can be found at https://youtu.be/436drvWvbEU.
研究人员已经为命令式语言(如Java)提出了许多自动程序修复技术。然而,修复用声明性语言(如Alloy)编写的程序的工作很少。我们提出了ARepair,这是第一个用于故障合金模型的自动程序修复技术。ARepair将一个有故障的Alloy模型和一组捕获所需模型属性的测试作为输入,并生成一个通过所有测试的固定模型。ARepair使用为最近引入的AUnit框架编写的测试,该框架为Alloy模型提供了单元测试的概念。在本文中,我们描述了ARepair的Java实现,ARepair是一个命令行工具,作为GitHub上的开源项目发布。我们的实验结果表明,ARepair能够修复我们收集的38个实际故障模型中的28个。ARepair的演示视频可以在https://youtu.be/436drvWvbEU上找到。
{"title":"ARepair: A Repair Framework for Alloy","authors":"Kaiyuan Wang, Allison Sullivan, S. Khurshid","doi":"10.1109/ICSE-Companion.2019.00049","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00049","url":null,"abstract":"Researchers have proposed many automated program repair techniques for imperative languages, e.g. Java. However, little work has been done to repair programs written in declarative languages, e.g. Alloy. We proposed ARepair, the first automated program repair technique for faulty Alloy models. ARepair takes as input a faulty Alloy model and a set of tests that capture the desired model properties, and produces a fixed model that passes all tests. ARepair uses tests written for the recently introduced AUnit framework, which provides a notion of unit testing for Alloy models. In this paper, we describes our Java implementation of ARepair, which is a command-line tool, released as an open-source project on GitHub. Our experimental results show that ARepair is able to fix 28 out of 38 real-world faulty models we collected. The demo video for ARepair can be found at https://youtu.be/436drvWvbEU.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"136 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115099472","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}
引用次数: 9
When Software Development Meets the Shopfloor: The Case of Industrial Fablabs 当软件开发遇到车间:工业车间的案例
Tudor B. Ionescu
This paper addresses the question of how software is being developed in industrial fabrication laboratories (fablabs) located in real production environments, by the example of a smart factory project conducted by a large company in Europe. Our findings suggest that, when developing software in industrial fablabs, teams tend to drift away from established software engineering methods and practices and to adapt them impromptu in order to cope with the seemingly arcane sociotechnical environment of the factory.
本文以欧洲一家大公司实施的智能工厂项目为例,解决了如何在真实生产环境中的工业制造实验室(fablabs)中开发软件的问题。我们的研究结果表明,当在工业实验室中开发软件时,团队倾向于偏离既定的软件工程方法和实践,并且为了应对工厂中看似神秘的社会技术环境而即兴调整它们。
{"title":"When Software Development Meets the Shopfloor: The Case of Industrial Fablabs","authors":"Tudor B. Ionescu","doi":"10.1109/ICSE-Companion.2019.00097","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00097","url":null,"abstract":"This paper addresses the question of how software is being developed in industrial fabrication laboratories (fablabs) located in real production environments, by the example of a smart factory project conducted by a large company in Europe. Our findings suggest that, when developing software in industrial fablabs, teams tend to drift away from established software engineering methods and practices and to adapt them impromptu in order to cope with the seemingly arcane sociotechnical environment of the factory.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128469770","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
A Decentralized Application for Fostering Biodiversity: Opportunities and Challenges 促进生物多样性的分散式应用:机遇与挑战
Jagadeesh Chandra Bose R.P., Vikrant S. Kaulgud, M. Rebelo, Sanjay Podder
Biodiversity and indigenous knowledge systems present numerous opportunities to advance the state of medicines and health. However, considerable friction points exist for fostering biodiversity value chain. In this paper, we present a case for a blockchain enabled ecocentric decentralized framework for balancing innovation, regulations and sustainability. We enumerate some of the key requirements of the solution we built. We also list our learnings about the challenges in its realization. Such a solution has the potential to address the larger social good by empowering traditional populations to receive benefits automatically.
生物多样性和土著知识系统为促进医药和卫生状况提供了许多机会。然而,培育生物多样性价值链存在相当大的摩擦点。在本文中,我们提出了一个基于区块链的生态中心去中心化框架的案例,用于平衡创新、监管和可持续性。我们列举了我们构建的解决方案的一些关键需求。我们还列出了我们在实现这一目标过程中所面临的挑战。这种解决方案有可能通过使传统人口自动获得福利来解决更大的社会利益。
{"title":"A Decentralized Application for Fostering Biodiversity: Opportunities and Challenges","authors":"Jagadeesh Chandra Bose R.P., Vikrant S. Kaulgud, M. Rebelo, Sanjay Podder","doi":"10.1109/ICSE-Companion.2019.00116","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00116","url":null,"abstract":"Biodiversity and indigenous knowledge systems present numerous opportunities to advance the state of medicines and health. However, considerable friction points exist for fostering biodiversity value chain. In this paper, we present a case for a blockchain enabled ecocentric decentralized framework for balancing innovation, regulations and sustainability. We enumerate some of the key requirements of the solution we built. We also list our learnings about the challenges in its realization. Such a solution has the potential to address the larger social good by empowering traditional populations to receive benefits automatically.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128487426","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}
引用次数: 5
Exploring Customer Influence on the Agile Transformation of Service Providers 探讨客户对服务提供商敏捷转型的影响
Jeppe Aagaard Glud, Kevin Helge Hansen-Schwartz, Raffaele Ciriello
Transitioning to agile software development (ASD) practices is a long and difficult journey. Most existing literature assumes that agile transformation is solely the service provider's task, attributing only a passive role to the customer. This study explores customer influence on the agile transformation of service providers, based on an exploratory qualitative field study at a multinational Danish software firm. Our preliminary results show that a customer's risk tolerance and collaborative routines influence their service provider's transition to agile teamwork practices, planning routines, and customer involvement practices. We outline a conceptual model of customer-mediated agile transformation.
向敏捷软件开发(ASD)实践的过渡是一个漫长而艰难的过程。大多数现有文献都假设敏捷转换仅仅是服务提供者的任务,只将被动角色归于客户。本研究基于丹麦一家跨国软件公司的探索性定性实地研究,探讨了客户对服务提供商敏捷转型的影响。我们的初步结果表明,客户的风险容忍度和协作惯例会影响其服务提供商向敏捷团队实践、计划惯例和客户参与实践的过渡。我们概述了一个以客户为中介的敏捷转换的概念模型。
{"title":"Exploring Customer Influence on the Agile Transformation of Service Providers","authors":"Jeppe Aagaard Glud, Kevin Helge Hansen-Schwartz, Raffaele Ciriello","doi":"10.1109/ICSE-COMPANION.2019.00124","DOIUrl":"https://doi.org/10.1109/ICSE-COMPANION.2019.00124","url":null,"abstract":"Transitioning to agile software development (ASD) practices is a long and difficult journey. Most existing literature assumes that agile transformation is solely the service provider's task, attributing only a passive role to the customer. This study explores customer influence on the agile transformation of service providers, based on an exploratory qualitative field study at a multinational Danish software firm. Our preliminary results show that a customer's risk tolerance and collaborative routines influence their service provider's transition to agile teamwork practices, planning routines, and customer involvement practices. We outline a conceptual model of customer-mediated agile transformation.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133812644","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}
引用次数: 2
Supporting the Acquisition of Programming Skills with Program Construction Patterns 用程序构造模式支持编程技能的获得
Max Kesselbacher
A central topic to computer science education is the training of novice programmers. Novice programming skills have already been mapped to hierarchical levels, and expert programming skills have been measured based on task performance. But didactical instructions and individual support to acquire expert programming skills have not been provided in detail. I propose the investigation of structural and semantic patterns in program construction sequences in an IDE-based learning analytics setting. I aim to provide a more fine-grained assessment of programming skills, to enable skill assessments during programming tasks, and to support the individual acquisition of programming skills.
计算机科学教育的一个中心主题是新手程序员的培训。新手的编程技能已经被映射到层次层次,而专家的编程技能已经根据任务性能来衡量。但是,没有详细提供获得专业编程技能的教学指导和个人支助。我建议在基于ide的学习分析设置中对程序构建序列中的结构和语义模式进行调查。我的目标是提供更细粒度的编程技能评估,以便在编程任务期间进行技能评估,并支持个人获得编程技能。
{"title":"Supporting the Acquisition of Programming Skills with Program Construction Patterns","authors":"Max Kesselbacher","doi":"10.1109/ICSE-Companion.2019.00077","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00077","url":null,"abstract":"A central topic to computer science education is the training of novice programmers. Novice programming skills have already been mapped to hierarchical levels, and expert programming skills have been measured based on task performance. But didactical instructions and individual support to acquire expert programming skills have not been provided in detail. I propose the investigation of structural and semantic patterns in program construction sequences in an IDE-based learning analytics setting. I aim to provide a more fine-grained assessment of programming skills, to enable skill assessments during programming tasks, and to support the individual acquisition of programming skills.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"93 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124436747","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}
引用次数: 2
Managing Variation: An Industrial Perspective on Product Line Engineering 管理变化:生产线工程的工业视角
P. Clements
If nothing endures but change, then to make the products of our labor enduring, we must build them to accommodate change. If they cannot, they will be cast aside. Change can be thought of as occupying a time window: A solution needs to do something different a year from now, and then something different from that six months later, and so forth. An extremely interesting special case is when that time window shrinks to zero: Our solution needs to do and be a dozen different things right now. In many sectors, that special case turns out to be, in fact, the most common case. The so-called general case, where a single solution evolves over time, turns out to be a less interesting special case. This talk will explore the foundations for the field of product line engineering, which is the engineering of a family of systems that are similar but vary from each other. We will explore various techniques for handling this need, from the earliest to the most up to date, and show how the approaches transcend just software but apply across all engineering disciplines and all levels of an enterprise. Finally, we relate how this concept is being applied in industry today, and show where it is saving companies tens to hundreds of millions of dollars annually.
如果只有变化才能持久,那么为了使我们的劳动成果经久不衰,我们必须使它们适应变化。如果他们不能,他们将被抛弃。改变可以被认为是占用了一个时间窗口:一个解决方案需要在一年后做一些不同的事情,然后在六个月后做一些不同的事情,以此类推。一个非常有趣的特殊情况是,当时间窗口缩小到零时:我们的解决方案现在需要做十几个不同的事情。在许多行业,这种特殊情况实际上是最常见的情况。所谓的一般情况,即单个解随时间演变的情况,是一个不那么有趣的特殊情况。本讲座将探讨产品线工程领域的基础,产品线工程是一系列相似但彼此不同的系统的工程。我们将探索处理这种需求的各种技术,从最早的到最新的,并展示这些方法如何超越软件,而是应用于所有工程学科和企业的所有级别。最后,我们将介绍这一概念在当今工业中的应用情况,并展示它每年为公司节省数千万至数亿美元的地方。
{"title":"Managing Variation: An Industrial Perspective on Product Line Engineering","authors":"P. Clements","doi":"10.1109/ICSE-COMPANION.2019.00020","DOIUrl":"https://doi.org/10.1109/ICSE-COMPANION.2019.00020","url":null,"abstract":"If nothing endures but change, then to make the products of our labor enduring, we must build them to accommodate change. If they cannot, they will be cast aside. Change can be thought of as occupying a time window: A solution needs to do something different a year from now, and then something different from that six months later, and so forth. An extremely interesting special case is when that time window shrinks to zero: Our solution needs to do and be a dozen different things right now. In many sectors, that special case turns out to be, in fact, the most common case. The so-called general case, where a single solution evolves over time, turns out to be a less interesting special case. This talk will explore the foundations for the field of product line engineering, which is the engineering of a family of systems that are similar but vary from each other. We will explore various techniques for handling this need, from the earliest to the most up to date, and show how the approaches transcend just software but apply across all engineering disciplines and all levels of an enterprise. Finally, we relate how this concept is being applied in industry today, and show where it is saving companies tens to hundreds of millions of dollars annually.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"90 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124576770","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}
引用次数: 0
Mimicking User Behavior to Improve In-House Test Suites 模仿用户行为以改进内部测试套件
Qianqian Wang, A. Orso
Testing is today the most widely used software quality assurance approach. However, it is well known that the necessarily limited number of tests developed and run in-house are not representative of the rich variety of user executions in the field. In order to bridge this gap between in-house tests and field executions, we need a way to (1) identify the behaviors exercised in the field that were not exercised in-house and (2) generate new tests that exercise such behaviors. In this context, we propose Replica, a technique that uses field execution data to guide test generation. Replica instruments the software before deploying it, so that field data collection is triggered when a user exercises an untested behavior B, currently expressed as the violation of an invariant. When it receives the collected field data, Replica uses guided symbolic execution to generate one or more executions that exercise the previously untested behavior B. Our initial empirical evaluation, performed on a set of real user executions, shows that Replica can successfully generate tests that mirror field behaviors and have similar fault-detection capability. Our results also show that Replica can outperform a traditional input generation approach that does not use field-data guidance.
测试是当今使用最广泛的软件质量保证方法。然而,众所周知,内部开发和运行的有限数量的测试并不能代表该领域中丰富多样的用户执行。为了弥合内部测试和领域执行之间的差距,我们需要一种方法来(1)识别领域中没有在内部执行的行为,(2)生成执行这些行为的新测试。在这种情况下,我们提出了Replica,这是一种使用字段执行数据来指导测试生成的技术。Replica在部署软件之前检测软件,这样当用户执行未测试的行为B(当前表示为违反不变量)时,就会触发字段数据收集。当它接收到收集的字段数据时,Replica使用引导符号执行来生成一个或多个执行,这些执行执行以前未测试的行为b。我们在一组真实用户执行上执行的初步经验评估表明,Replica可以成功生成镜像字段行为的测试,并具有类似的故障检测能力。我们的结果还表明,Replica可以优于不使用现场数据指导的传统输入生成方法。
{"title":"Mimicking User Behavior to Improve In-House Test Suites","authors":"Qianqian Wang, A. Orso","doi":"10.1109/ICSE-Companion.2019.00133","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00133","url":null,"abstract":"Testing is today the most widely used software quality assurance approach. However, it is well known that the necessarily limited number of tests developed and run in-house are not representative of the rich variety of user executions in the field. In order to bridge this gap between in-house tests and field executions, we need a way to (1) identify the behaviors exercised in the field that were not exercised in-house and (2) generate new tests that exercise such behaviors. In this context, we propose Replica, a technique that uses field execution data to guide test generation. Replica instruments the software before deploying it, so that field data collection is triggered when a user exercises an untested behavior B, currently expressed as the violation of an invariant. When it receives the collected field data, Replica uses guided symbolic execution to generate one or more executions that exercise the previously untested behavior B. Our initial empirical evaluation, performed on a set of real user executions, shows that Replica can successfully generate tests that mirror field behaviors and have similar fault-detection capability. Our results also show that Replica can outperform a traditional input generation approach that does not use field-data guidance.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114314925","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
Agile Process Improvement in Retrospectives 回顾会议中的敏捷过程改进
Christoph Matthies
Working in iterations and repeatedly improving team workflows based on collected feedback is fundamental to agile software development processes. Scrum, the most popular agile method, provides dedicated retrospective meetings to reflect on the last development iteration and to decide on process improvement actions. However, agile methods do not prescribe how these improvement actions should be identified, managed or tracked in detail. The approaches to detect and remove problems in software development processes are therefore often based on intuition and prior experiences and perceptions of team members. Previous research in this area has focused on approaches to elicit a team's improvement opportunities as well as measurements regarding the work performed in an iteration, e.g. Scrum burn-down charts. Little research deals with the quality and nature of identified problems or how progress towards removing issues is measured. In this research, we investigate how agile development teams in the professional software industry organize their feedback and process improvement approaches. In particular, we focus on the structure and content of improvement and reflection meetings, i.e. retrospectives, and their outcomes. Researching how the vital mechanism of process improvement is implemented in practice in modern software development leads to a more complete picture of agile process improvement.
在迭代中工作并根据收集到的反馈反复改进团队工作流是敏捷软件开发过程的基础。Scrum是最流行的敏捷方法,它提供了专门的回顾会议来反思上一次的开发迭代,并决定过程改进行动。然而,敏捷方法并没有规定如何详细地识别、管理或跟踪这些改进行动。因此,在软件开发过程中检测和消除问题的方法通常是基于团队成员的直觉和先前的经验和感知。该领域之前的研究主要集中在引出团队改进机会的方法,以及迭代中执行的工作的度量,例如Scrum燃尽图。很少有研究涉及已确定问题的质量和性质,或者如何衡量消除问题的进展。在本研究中,我们调查了专业软件行业中的敏捷开发团队如何组织他们的反馈和过程改进方法。我们特别关注改进和反思会议(即回顾会议)的结构和内容,以及它们的结果。研究在现代软件开发中如何在实践中实现过程改进的重要机制,有助于更全面地了解敏捷过程改进。
{"title":"Agile Process Improvement in Retrospectives","authors":"Christoph Matthies","doi":"10.1109/ICSE-Companion.2019.00063","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00063","url":null,"abstract":"Working in iterations and repeatedly improving team workflows based on collected feedback is fundamental to agile software development processes. Scrum, the most popular agile method, provides dedicated retrospective meetings to reflect on the last development iteration and to decide on process improvement actions. However, agile methods do not prescribe how these improvement actions should be identified, managed or tracked in detail. The approaches to detect and remove problems in software development processes are therefore often based on intuition and prior experiences and perceptions of team members. Previous research in this area has focused on approaches to elicit a team's improvement opportunities as well as measurements regarding the work performed in an iteration, e.g. Scrum burn-down charts. Little research deals with the quality and nature of identified problems or how progress towards removing issues is measured. In this research, we investigate how agile development teams in the professional software industry organize their feedback and process improvement approaches. In particular, we focus on the structure and content of improvement and reflection meetings, i.e. retrospectives, and their outcomes. Researching how the vital mechanism of process improvement is implemented in practice in modern software development leads to a more complete picture of agile process improvement.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127193432","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}
引用次数: 2
SWORD: A Scalable Whole Program Race Detector for Java SWORD:一个可扩展的Java程序竞争检测器
Yanze Li, Bozhen Liu, Jeff Huang
We present the design and implementation of SWORD, a scalable and fully automated static data race detector for Java, implemented as a plugin in the Eclipse IDE. SWORD is the first whole program race detector that can scale to millions of lines of code in a few minutes while achieving good precision in practice. The cornerstone of SWORD is a new algorithm that judiciously combines points-to analysis and happens-before analysis efficiently, without losing precision. We have evaluated SWORD on an extensive collection of large-scale open source Java projects. Our results show that SWORD detects more races and reports fewer false positives than the state-of-art race detector, RacerD. Moreover, SWORD requires no human effort to annotate code regions as required by RacerD. SWORD also displays comprehensive bug traces and racing pair information on the GUI, which make debugging the races easier. A demo video is available at https://youtu.be/XQ0CBy7mMaY.
我们介绍了SWORD的设计和实现,这是一个可扩展的、完全自动化的Java静态数据竞争检测器,在Eclipse IDE中作为插件实现。SWORD是第一个完整的程序竞争检测器,它可以在几分钟内扩展到数百万行代码,同时在实践中实现良好的精度。SWORD的基础是一种新的算法,它明智地将点分析和事件分析有效地结合在一起,而不会失去精度。我们在大量的大型开源Java项目中对SWORD进行了评估。我们的研究结果表明,与最先进的种族检测器RacerD相比,SWORD检测到更多的种族,报告的假阳性更少。此外,SWORD不需要人工按照RacerD的要求注释代码区域。SWORD还在GUI上显示全面的错误跟踪和比赛配对信息,这使得调试比赛更加容易。演示视频可在https://youtu.be/XQ0CBy7mMaY上获得。
{"title":"SWORD: A Scalable Whole Program Race Detector for Java","authors":"Yanze Li, Bozhen Liu, Jeff Huang","doi":"10.1109/ICSE-Companion.2019.00042","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00042","url":null,"abstract":"We present the design and implementation of SWORD, a scalable and fully automated static data race detector for Java, implemented as a plugin in the Eclipse IDE. SWORD is the first whole program race detector that can scale to millions of lines of code in a few minutes while achieving good precision in practice. The cornerstone of SWORD is a new algorithm that judiciously combines points-to analysis and happens-before analysis efficiently, without losing precision. We have evaluated SWORD on an extensive collection of large-scale open source Java projects. Our results show that SWORD detects more races and reports fewer false positives than the state-of-art race detector, RacerD. Moreover, SWORD requires no human effort to annotate code regions as required by RacerD. SWORD also displays comprehensive bug traces and racing pair information on the GUI, which make debugging the races easier. A demo video is available at https://youtu.be/XQ0CBy7mMaY.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131041738","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}
引用次数: 10
期刊
2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)
全部 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