首页 > 最新文献

2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)最新文献

英文 中文
Analyzing the CMake Build System 分析CMake构建系统
KimHao Nguyen, T. Nguyen, Quoc-Sang Phan
CMake is one of the most widely used build automation tools in the industry. Facebook engineers often rely on examining large and complex CMake build files for various program analyses tasks. In this paper, we report on some of the unique challenges when analyzing CMake files at Facebook.
CMake是业界使用最广泛的构建自动化工具之一。Facebook工程师经常依靠检查大型和复杂的CMake构建文件来完成各种程序分析任务。在本文中,我们报告了在Facebook上分析CMake文件时遇到的一些独特挑战。
{"title":"Analyzing the CMake Build System","authors":"KimHao Nguyen, T. Nguyen, Quoc-Sang Phan","doi":"10.1145/3510457.3513064","DOIUrl":"https://doi.org/10.1145/3510457.3513064","url":null,"abstract":"CMake is one of the most widely used build automation tools in the industry. Facebook engineers often rely on examining large and complex CMake build files for various program analyses tasks. In this paper, we report on some of the unique challenges when analyzing CMake files at Facebook.","PeriodicalId":119790,"journal":{"name":"2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117082611","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
Field-Based Static Taint Analysis for Industrial Microservices 基于现场的工业微服务静态污点分析
Zexin Zhong, Jiangchao Liu, Diyu Wu, Peng Di, Yulei Sui, A. Liu
Taint analysis is widely used for tracing sensitive data. However, the state-of-the-art taint analyzers face challenges on recall, scalability, and precision when applied on industrial microservices. To overcome these challenges, we present a field-based static taint analysis approach, which does not distinguish different instances of the same type but distinguishes fields of the same kind for tracing sensitive data on industrial microservices. The experimental results demonstrate that our approach is practical in industrial scenarios.
污点分析被广泛用于跟踪敏感数据。然而,最先进的污染分析仪在应用于工业微服务时面临召回、可扩展性和精度方面的挑战。为了克服这些挑战,我们提出了一种基于字段的静态污染分析方法,该方法不区分相同类型的不同实例,而是区分用于跟踪工业微服务上敏感数据的相同类型的字段。实验结果表明,我们的方法在工业场景中是实用的。
{"title":"Field-Based Static Taint Analysis for Industrial Microservices","authors":"Zexin Zhong, Jiangchao Liu, Diyu Wu, Peng Di, Yulei Sui, A. Liu","doi":"10.1145/3510457.3513075","DOIUrl":"https://doi.org/10.1145/3510457.3513075","url":null,"abstract":"Taint analysis is widely used for tracing sensitive data. However, the state-of-the-art taint analyzers face challenges on recall, scalability, and precision when applied on industrial microservices. To overcome these challenges, we present a field-based static taint analysis approach, which does not distinguish different instances of the same type but distinguishes fields of the same kind for tracing sensitive data on industrial microservices. The experimental results demonstrate that our approach is practical in industrial scenarios.","PeriodicalId":119790,"journal":{"name":"2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)","volume":"353 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132563408","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
Automated Labeling and Classification of Business Rules from Software Requirement Specifications 软件需求规范中业务规则的自动标记和分类
Preethu Rose Anish, Prashant Lawhatre, Ranit Chatterjee, Vivek Joshi, S. Ghaisas
Business Rules (BRs) are a critical artifact in the requirements elicitation phase of the software development life cycle. Several taxonomies have been proposed for classification of BRs. In this paper, we utilize Ross's BR classification schema and present an approach to automatically label and classify BRs along this schema. Our approach uses Data Programming (DP) for generating labeled training data needed for training two deep learning-based models to classify the BRs. We obtained an average labeling accuracy of 0.73 for all the BR classes using DP. Upon evaluating the approach on industryspecific dataset, we obtained highest weighted F-score (0.69) with a Bi-LSTM with attention-based model.
业务规则(br)是软件开发生命周期的需求提取阶段中的关键工件。已经提出了几种分类方法来对br进行分类。本文利用Ross的BR分类模式,提出了一种基于该模式的BR自动标注和分类方法。我们的方法使用数据编程(DP)来生成标记的训练数据,用于训练两个基于深度学习的模型来对br进行分类。我们使用DP获得了所有BR类别的平均标记精度为0.73。通过对特定行业数据集的评估,我们获得了基于注意力模型的Bi-LSTM的最高加权f值(0.69)。
{"title":"Automated Labeling and Classification of Business Rules from Software Requirement Specifications","authors":"Preethu Rose Anish, Prashant Lawhatre, Ranit Chatterjee, Vivek Joshi, S. Ghaisas","doi":"10.1145/3510457.3513071","DOIUrl":"https://doi.org/10.1145/3510457.3513071","url":null,"abstract":"Business Rules (BRs) are a critical artifact in the requirements elicitation phase of the software development life cycle. Several taxonomies have been proposed for classification of BRs. In this paper, we utilize Ross's BR classification schema and present an approach to automatically label and classify BRs along this schema. Our approach uses Data Programming (DP) for generating labeled training data needed for training two deep learning-based models to classify the BRs. We obtained an average labeling accuracy of 0.73 for all the BR classes using DP. Upon evaluating the approach on industryspecific dataset, we obtained highest weighted F-score (0.69) with a Bi-LSTM with attention-based model.","PeriodicalId":119790,"journal":{"name":"2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)","volume":"63 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130489891","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}
引用次数: 4
What's bothering developers in code review? 代码审查中困扰开发人员的是什么?
Emma Söderberg, Luke Church, J. Börstler, D. Niehorster, Christofer Rydenfält
The practice of code review is widely adopted in industry and has been studied to an increasing degree in the research community. However, the developer experience of code review has received limited attention. Here, we report on initial results from a mixed-method exploratory study of the developer experience.
代码审查的实践在工业界被广泛采用,并且在研究界得到了越来越多的研究。然而,开发人员的代码审查经验受到了有限的关注。在这里,我们报告了开发人员经验的混合方法探索性研究的初步结果。
{"title":"What's bothering developers in code review?","authors":"Emma Söderberg, Luke Church, J. Börstler, D. Niehorster, Christofer Rydenfält","doi":"10.1145/3510457.3513083","DOIUrl":"https://doi.org/10.1145/3510457.3513083","url":null,"abstract":"The practice of code review is widely adopted in industry and has been studied to an increasing degree in the research community. However, the developer experience of code review has received limited attention. Here, we report on initial results from a mixed-method exploratory study of the developer experience.","PeriodicalId":119790,"journal":{"name":"2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115921154","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}
引用次数: 1
A Unified Code Review Automation for Large-scale Industry with Diverse Development Environments 在不同的开发环境下,大规模工业的统一代码审查自动化
Hyungjin Kim, Yonghwi Kwon, H. Kwon, Yeonhee Ryou, Sangwoo Joh, Taeksu Kim, Chul-Joo Kim
Code Review is an essential activity to ensure the quality of the software in the development process. Code Review Automation with various analyses can reduce human efforts of code review activities. However, it is a challenge to automate the code review process for large-scale companies such as Samsung Electronics due to their complex development environments: many kinds of products, various sizes of software, different version control systems, and diverse code review systems. In this work, we show how we automated the code review process for those intricate environments, and share some lessons learned during two years of operation. Our unified code review automation system, Code Review Bot, is designed to process review requests holistically regardless of such environments. Our findings provide practical evidence that our system motivates developers in Samsung Electronics to improve code quality.
代码审查是在开发过程中确保软件质量的一项重要活动。具有各种分析的代码审查自动化可以减少代码审查活动的人力。然而,对于像三星电子这样的大型企业来说,由于其复杂的开发环境(多种产品、各种规模的软件、不同的版本控制系统和不同的代码审查系统),使代码审查过程自动化是一项挑战。在这项工作中,我们展示了如何为那些复杂的环境自动化代码审查过程,并分享了在两年的操作中获得的一些经验教训。我们的统一的代码审查自动化系统,代码审查机器人,被设计来处理审查请求,而不考虑这样的环境。我们的研究结果提供了实际的证据,证明我们的系统可以激励三星电子的开发人员提高代码质量。
{"title":"A Unified Code Review Automation for Large-scale Industry with Diverse Development Environments","authors":"Hyungjin Kim, Yonghwi Kwon, H. Kwon, Yeonhee Ryou, Sangwoo Joh, Taeksu Kim, Chul-Joo Kim","doi":"10.1109/ICSE-SEIP55303.2022.9793899","DOIUrl":"https://doi.org/10.1109/ICSE-SEIP55303.2022.9793899","url":null,"abstract":"Code Review is an essential activity to ensure the quality of the software in the development process. Code Review Automation with various analyses can reduce human efforts of code review activities. However, it is a challenge to automate the code review process for large-scale companies such as Samsung Electronics due to their complex development environments: many kinds of products, various sizes of software, different version control systems, and diverse code review systems. In this work, we show how we automated the code review process for those intricate environments, and share some lessons learned during two years of operation. Our unified code review automation system, Code Review Bot, is designed to process review requests holistically regardless of such environments. Our findings provide practical evidence that our system motivates developers in Samsung Electronics to improve code quality.","PeriodicalId":119790,"journal":{"name":"2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130188751","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}
引用次数: 1
Build System Aware Multi-language Regression Test Selection in Continuous Integration 在持续集成中构建系统感知的多语言回归测试选择
Daniel Elsner, Roland Wuersching, Markus Schnappinger, A. Pretschner, Maria Graber, René Dammer, Silke Reimer
At IVU Traffic Technologies, continuous integration (CI) pipelines build, analyze, and test the code for inadvertent effects before pull requests are merged. However, compiling the entire code base and executing all regression tests for each pull request is infeasible due to prohibitively long feedback times. Regression test selection (RTS) aims to reduce the testing effort. Yet, existing safe RTS techniques are not suitable, as they largely rely on language-specific program analysis. The IVU code base consists of more than 13 million lines of code in Java or C/C++ and contains thousands of non-code artifacts. Regression tests commonly operate across languages, using cross-language links, or read from non-code artifacts. In this paper, we describe our build system aware multi-language RTS approach, which selectively compiles and executes affected code modules and regression tests, respectively, for a pull request. We evaluate our RTS technique on 397 pull requests, covering roughly 2,700 commits. The results show that we are able to safely exclude up to 75% of tests on average (no undetected real failures slip into the target branches) and thereby save 72% of testing time, whereas end-to-end CI pipeline time is reduced by up to 63% on average.
在IVU Traffic Technologies,持续集成(CI)管道在合并pull请求之前构建、分析和测试代码,以防止无意的影响。然而,由于反馈时间过长,编译整个代码库并为每个拉取请求执行所有回归测试是不可行的。回归测试选择(RTS)旨在减少测试工作。然而,现有的安全RTS技术并不适用,因为它们主要依赖于特定语言的程序分析。IVU代码库由超过1300万行Java或C/ c++代码组成,并包含数千个非代码工件。回归测试通常跨语言操作,使用跨语言链接,或者从非代码构件中读取。在本文中,我们描述了构建系统感知的多语言RTS方法,该方法分别为拉取请求选择性地编译和执行受影响的代码模块和回归测试。我们对397个拉取请求进行了RTS技术评估,涵盖了大约2700次提交。结果表明,我们平均能够安全地排除高达75%的测试(没有未检测到的实际故障溜进目标分支),从而节省了72%的测试时间,而端到端CI管道时间平均减少了高达63%。
{"title":"Build System Aware Multi-language Regression Test Selection in Continuous Integration","authors":"Daniel Elsner, Roland Wuersching, Markus Schnappinger, A. Pretschner, Maria Graber, René Dammer, Silke Reimer","doi":"10.1145/3510457.3513078","DOIUrl":"https://doi.org/10.1145/3510457.3513078","url":null,"abstract":"At IVU Traffic Technologies, continuous integration (CI) pipelines build, analyze, and test the code for inadvertent effects before pull requests are merged. However, compiling the entire code base and executing all regression tests for each pull request is infeasible due to prohibitively long feedback times. Regression test selection (RTS) aims to reduce the testing effort. Yet, existing safe RTS techniques are not suitable, as they largely rely on language-specific program analysis. The IVU code base consists of more than 13 million lines of code in Java or C/C++ and contains thousands of non-code artifacts. Regression tests commonly operate across languages, using cross-language links, or read from non-code artifacts. In this paper, we describe our build system aware multi-language RTS approach, which selectively compiles and executes affected code modules and regression tests, respectively, for a pull request. We evaluate our RTS technique on 397 pull requests, covering roughly 2,700 commits. The results show that we are able to safely exclude up to 75% of tests on average (no undetected real failures slip into the target branches) and thereby save 72% of testing time, whereas end-to-end CI pipeline time is reduced by up to 63% on average.","PeriodicalId":119790,"journal":{"name":"2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127311435","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
Code Reviewer Recommendation in Tencent: Practice, Challenge, and Direction* 腾讯的代码评审推荐:实践、挑战与方向*
Georges Aaron Randrianaina, Xhevahire Tërnava, D. Khelladi, Mathieu Acher
Code review is essential for assuring system quality in software engineering. Over decades in practice, code review has evolved to be a lightweight tool-based process focusing on code change: the smallest unit of the development cycle, and we refer to it as Modern Code Review (MCR). MCR involves code contributors committing code changes and code reviewers reviewing the assigned code changes. Such a reviewer assigning process is challenged by efficiently finding appropriate reviewers. Recent studies propose automated code reviewer recommendation (CRR) approaches to resolve such challenges. These approaches are often evaluated on open-source projects and obtain promising performance. However, the code reviewer recommendation systems are not widely used on proprietary projects, and most current reviewer selecting practice is still manual or, at best, semi-manual. No previous work systematically evaluated these approaches’ effectiveness and compared each other on proprietary projects in practice. In this paper, we performed a quantitative analysis of typical recommendation approaches on proprietary projects in Tencent. The results show an imperfect performance of these approaches on proprietary projects and reveal practical challenges like the “cold start problem”. To better understand practical challenges, we interviewed practitioners about the expectations of applying reviewer recommendations to a production environment. The interview involves the current systems’ limitations, expected application scenario, and information requirements. Finally, we discuss the implications and the direction of practical code reviewer recommendation tools.
在软件工程中,代码审查是保证系统质量的重要手段。在几十年的实践中,代码审查已经发展成为一个轻量级的基于工具的过程,专注于代码更改:开发周期的最小单元,我们将其称为现代代码审查(MCR)。MCR包括代码贡献者提交代码更改,代码审阅者审查分配的代码更改。这样的审稿人分配过程受到有效地找到合适的审稿人的挑战。最近的研究提出了自动代码审查推荐(CRR)方法来解决这些挑战。这些方法经常在开源项目中进行评估,并获得了良好的性能。然而,代码审阅者推荐系统并没有广泛应用于专有项目,并且大多数当前的审阅者选择实践仍然是手动的,或者充其量是半手动的。以前的工作没有系统地评估这些方法的有效性,并在实践中对专有项目进行比较。在本文中,我们对腾讯专有项目的典型推荐方法进行了定量分析。结果表明,这些方法在专有项目中的表现并不完美,并揭示了诸如“冷启动问题”之类的实际挑战。为了更好地理解实际的挑战,我们采访了实践者,了解他们对将审稿人的建议应用到生产环境的期望。面试涉及到当前系统的局限性、预期的应用场景和信息需求。最后,我们讨论了实用的代码评审推荐工具的含义和方向。
{"title":"Code Reviewer Recommendation in Tencent: Practice, Challenge, and Direction*","authors":"Georges Aaron Randrianaina, Xhevahire Tërnava, D. Khelladi, Mathieu Acher","doi":"10.1145/3510457.3513035","DOIUrl":"https://doi.org/10.1145/3510457.3513035","url":null,"abstract":"Code review is essential for assuring system quality in software engineering. Over decades in practice, code review has evolved to be a lightweight tool-based process focusing on code change: the smallest unit of the development cycle, and we refer to it as Modern Code Review (MCR). MCR involves code contributors committing code changes and code reviewers reviewing the assigned code changes. Such a reviewer assigning process is challenged by efficiently finding appropriate reviewers. Recent studies propose automated code reviewer recommendation (CRR) approaches to resolve such challenges. These approaches are often evaluated on open-source projects and obtain promising performance. However, the code reviewer recommendation systems are not widely used on proprietary projects, and most current reviewer selecting practice is still manual or, at best, semi-manual. No previous work systematically evaluated these approaches’ effectiveness and compared each other on proprietary projects in practice. In this paper, we performed a quantitative analysis of typical recommendation approaches on proprietary projects in Tencent. The results show an imperfect performance of these approaches on proprietary projects and reveal practical challenges like the “cold start problem”. To better understand practical challenges, we interviewed practitioners about the expectations of applying reviewer recommendations to a production environment. The interview involves the current systems’ limitations, expected application scenario, and information requirements. Finally, we discuss the implications and the direction of practical code reviewer recommendation tools.","PeriodicalId":119790,"journal":{"name":"2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115501418","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
On the Effectiveness of Machine Learning Experiment Management Tools 论机器学习实验管理工具的有效性
S. Idowu, O. Osman, D. Strüber, T. Berger
Machine learning experiment management tools support developers and data scientists on planning, tracking, and retrieving machine-learning experiments and assets when building intelligent software systems. Among others, they allow tracing back system behavior to experiment runs, for instance, when model performance drifts. Unfortunately, despite a surge of these tools, they are not well integrated with traditional software engineering tooling, and no hard empirical data exists on their effectiveness and value for users. We present a short research agenda and early results towards unified and effective software engineering and experiment management software.
机器学习实验管理工具支持开发人员和数据科学家在构建智能软件系统时规划、跟踪和检索机器学习实验和资产。其中,它们允许追溯系统行为以进行实验运行,例如,当模型性能偏离时。不幸的是,尽管这些工具激增,但它们并没有很好地与传统的软件工程工具集成,并且没有关于它们对用户的有效性和价值的可靠经验数据。本文对统一有效的软件工程和实验管理软件提出了一个简短的研究议程和初步成果。
{"title":"On the Effectiveness of Machine Learning Experiment Management Tools","authors":"S. Idowu, O. Osman, D. Strüber, T. Berger","doi":"10.1145/3510457.3513084","DOIUrl":"https://doi.org/10.1145/3510457.3513084","url":null,"abstract":"Machine learning experiment management tools support developers and data scientists on planning, tracking, and retrieving machine-learning experiments and assets when building intelligent software systems. Among others, they allow tracing back system behavior to experiment runs, for instance, when model performance drifts. Unfortunately, despite a surge of these tools, they are not well integrated with traditional software engineering tooling, and no hard empirical data exists on their effectiveness and value for users. We present a short research agenda and early results towards unified and effective software engineering and experiment management software.","PeriodicalId":119790,"journal":{"name":"2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129739439","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
A Cross-Company Ethnographic Study on Software Teams for DevOps and Microservices: Organization, Benefits, and Issues 关于DevOps和微服务软件团队的跨公司人种志研究:组织、利益和问题
Xin Zhou, Huang Huang, He Zhang, Xin Huang, Dong Shao, Chenxing Zhong
Context: DevOps and microservices are acknowledged to be important new paradigms to tackle contemporary software demands and provide capabilities for rapid and reliable software development. Industrial reports show that they are quickly adopted together in massive software companies. However, because of the technical and organizational requirements, many difficulties against efficient implementation of the both emerge in real software teams. Objectives: This study aims to discover the organization, benefits and issues of software teams using DevOps & microservices from an immersive perspective. Method: An ethnographic study was carried out in three companies with different business, size, products, customers, and degree of globalization. All the three companies claimed their adoption of DevOps and microservices. Seven months (cumulative) of participant observations and nine interviews with practitioners were conducted to collect the data of software teams related to DevOps and microservices. A cross-company empirical investigation using grounded theory was done by analyzing the archive data. Results: The virtual software teams were organized for adopting DevOps and microservices under the stubborn organizational structure. The adoption of DevOps and microservices brings benefits to rapid delivery, ability improvements and burden reduction, whilst the high cost and lack of practical guidance were emerged. Two major issues of adopting DevOps and microservices in software teams (i.e. fragmentary DevOps and abuse of microservices) were found common in the companies. Moreover, our observations and interviews reflect that in software teams, the relationship between DevOps and microservices is not significant, which differs from the relationship described in the previous studies. Four lessons for practitioners and four implications for researchers were discussed based on our findings. Conclusion: Our findings contribute to the understanding of the organization, benefits and issues of adopting DevOps and microservices from an immersive perspective of software teams.
背景:DevOps和微服务被认为是解决当代软件需求和提供快速可靠软件开发能力的重要新范例。行业报告显示,它们很快就被大型软件公司同时采用。然而,由于技术和组织的需求,在实际的软件团队中,对这两者的有效实现出现了许多困难。目的:本研究旨在从沉浸式的角度发现使用DevOps和微服务的软件团队的组织、好处和问题。方法:对三家不同业务、规模、产品、客户和全球化程度的公司进行民族志研究。这三家公司都声称他们采用了DevOps和微服务。七个月(累积)的参与者观察和九次从业者访谈,收集了与DevOps和微服务相关的软件团队的数据。通过对档案数据的分析,运用扎根理论进行了跨公司的实证调查。结果:在顽固的组织结构下,虚拟软件团队采用DevOps和微服务组织。采用DevOps和微服务带来了快速交付、能力提升和负担减轻的好处,同时也出现了高成本和缺乏实用指导的问题。在软件团队中采用DevOps和微服务的两个主要问题(即零碎的DevOps和滥用微服务)在公司中很常见。此外,我们的观察和访谈反映出,在软件团队中,DevOps和微服务之间的关系并不显著,这与之前研究中描述的关系不同。根据我们的研究结果,讨论了对从业者的四个教训和对研究人员的四个启示。结论:我们的发现有助于从软件团队沉浸式的角度理解采用DevOps和微服务的组织、好处和问题。
{"title":"A Cross-Company Ethnographic Study on Software Teams for DevOps and Microservices: Organization, Benefits, and Issues","authors":"Xin Zhou, Huang Huang, He Zhang, Xin Huang, Dong Shao, Chenxing Zhong","doi":"10.1145/3510457.3513054","DOIUrl":"https://doi.org/10.1145/3510457.3513054","url":null,"abstract":"Context: DevOps and microservices are acknowledged to be important new paradigms to tackle contemporary software demands and provide capabilities for rapid and reliable software development. Industrial reports show that they are quickly adopted together in massive software companies. However, because of the technical and organizational requirements, many difficulties against efficient implementation of the both emerge in real software teams. Objectives: This study aims to discover the organization, benefits and issues of software teams using DevOps & microservices from an immersive perspective. Method: An ethnographic study was carried out in three companies with different business, size, products, customers, and degree of globalization. All the three companies claimed their adoption of DevOps and microservices. Seven months (cumulative) of participant observations and nine interviews with practitioners were conducted to collect the data of software teams related to DevOps and microservices. A cross-company empirical investigation using grounded theory was done by analyzing the archive data. Results: The virtual software teams were organized for adopting DevOps and microservices under the stubborn organizational structure. The adoption of DevOps and microservices brings benefits to rapid delivery, ability improvements and burden reduction, whilst the high cost and lack of practical guidance were emerged. Two major issues of adopting DevOps and microservices in software teams (i.e. fragmentary DevOps and abuse of microservices) were found common in the companies. Moreover, our observations and interviews reflect that in software teams, the relationship between DevOps and microservices is not significant, which differs from the relationship described in the previous studies. Four lessons for practitioners and four implications for researchers were discussed based on our findings. Conclusion: Our findings contribute to the understanding of the organization, benefits and issues of adopting DevOps and microservices from an immersive perspective of software teams.","PeriodicalId":119790,"journal":{"name":"2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128750549","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}
引用次数: 4
Dependency Tracking for Risk Mitigation in Machine Learning (ML) Systems 机器学习(ML)系统中风险缓解的依赖跟踪
Xiwei Xu, Chen Wang, Zhen Wang, Q. Lu, Liming Zhu
In a Machine Learning (ML) system, characteristics of the ML components create new challenges for software system design and development activities. Data-dependent behavior causes risks in ML systems. Dealing with such risks in the development phase requires non-trivial costs due to un-controllable data generation processes in the test phase. In addition, ML systems often need continuous monitoring and validation in run-time. In this paper, we propose an integrated dependency tracking system that balances the cost and risks in the development stage and operation stage. Our solution uses blockchain (an immutable data store) to track the co-evolution of the models and the corresponding datasets. The provenance of data and models provides a trustworthy trace for dependencies between datasets and models at the development phase, and predictions at the operation phase. A graph database is used to provide visualization and query of the provenance information, and enables explainability for the model-data co-evolution.
在机器学习(ML)系统中,ML组件的特性为软件系统设计和开发活动带来了新的挑战。数据依赖行为会给机器学习系统带来风险。由于测试阶段的数据生成过程不可控,在开发阶段处理此类风险需要花费不小的成本。此外,机器学习系统通常需要在运行时进行持续监控和验证。在本文中,我们提出了一个集成的依赖跟踪系统,平衡了开发阶段和运营阶段的成本和风险。我们的解决方案使用区块链(一个不可变的数据存储)来跟踪模型和相应数据集的共同进化。数据和模型的来源为开发阶段的数据集和模型之间的依赖关系以及操作阶段的预测提供了可靠的跟踪。图形数据库用于提供来源信息的可视化和查询,并为模型-数据协同演化提供可解释性。
{"title":"Dependency Tracking for Risk Mitigation in Machine Learning (ML) Systems","authors":"Xiwei Xu, Chen Wang, Zhen Wang, Q. Lu, Liming Zhu","doi":"10.1145/3510457.3513058","DOIUrl":"https://doi.org/10.1145/3510457.3513058","url":null,"abstract":"In a Machine Learning (ML) system, characteristics of the ML components create new challenges for software system design and development activities. Data-dependent behavior causes risks in ML systems. Dealing with such risks in the development phase requires non-trivial costs due to un-controllable data generation processes in the test phase. In addition, ML systems often need continuous monitoring and validation in run-time. In this paper, we propose an integrated dependency tracking system that balances the cost and risks in the development stage and operation stage. Our solution uses blockchain (an immutable data store) to track the co-evolution of the models and the corresponding datasets. The provenance of data and models provides a trustworthy trace for dependencies between datasets and models at the development phase, and predictions at the operation phase. A graph database is used to provide visualization and query of the provenance information, and enables explainability for the model-data co-evolution.","PeriodicalId":119790,"journal":{"name":"2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)","volume":"69 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133041845","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}
引用次数: 4
期刊
2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)
全部 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