首页 > 最新文献

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

英文 中文
Automated Visual Testing for Mobile Apps in an Industrial Setting 工业环境中移动应用程序的自动视觉测试
Dezhi Ran, Zongyang Li, Chenxu Liu, Wenyu Wang, W. Meng, Xionglin Wu, Hui Jin, Jing Cui, Xing Tang, Tao Xie
User Interface (UI) testing has become a common practice for quality assurance of industrial mobile applications (in short as apps). While many automated tools have been developed, they often do not satisfy two major industrial requirements that make a tool desirable in industrial settings: high applicability across platforms (e.g., Android, iOS, AliOS, and Harmony OS) and high capability to handle apps with non-standard UI elements (whose internal structures cannot be acquired using platform APIs). Toward addressing these industrial requirements, automated visual testing emerges to take only device screenshots as input in order to support automated test generation. In this paper, we report our experiences of developing and deploying VTest, our industrial visual testing framework to assure high quality of Taobao, a highly popular industrial app with about one billion monthly active users. VTest includes carefully designed techniques and infrastructure support, outperforming Monkey (which has been popularly deployed in industry and shown to perform superiorly or similarly compared to state-of-the-art tools) with 87.6% more activity coverage. VTEST has been deployed both internally in Alibaba and externally in the Software Green Alliance to provide testing services for top smart-phone vendors and app vendors in China. We summarize five major lessons learned from developing and deploying VTEST.
用户界面(UI)测试已经成为工业移动应用程序(简称应用程序)质量保证的一种常见做法。虽然已经开发了许多自动化工具,但它们通常不能满足工业环境中理想工具的两个主要工业要求:跨平台的高适用性(例如,Android, iOS, AliOS和Harmony OS)和处理具有非标准UI元素的应用程序的高能力(其内部结构无法使用平台api获得)。为了解决这些工业需求,自动化视觉测试出现了,它只把设备屏幕截图作为输入,以支持自动化测试生成。在本文中,我们报告了我们开发和部署VTest的经验,这是我们的工业视觉测试框架,以确保淘宝的高质量,这是一个非常受欢迎的工业应用程序,每月活跃用户约为10亿。VTest包括精心设计的技术和基础设施支持,其性能优于Monkey (Monkey已在工业中广泛部署,与最先进的工具相比表现优越或相似),活动覆盖率高出87.6%。VTEST已部署在阿里巴巴内部和软件绿色联盟外部,为中国顶级智能手机供应商和应用程序供应商提供测试服务。我们总结了从开发和部署VTEST中学到的五个主要经验教训。
{"title":"Automated Visual Testing for Mobile Apps in an Industrial Setting","authors":"Dezhi Ran, Zongyang Li, Chenxu Liu, Wenyu Wang, W. Meng, Xionglin Wu, Hui Jin, Jing Cui, Xing Tang, Tao Xie","doi":"10.1145/3510457.3513027","DOIUrl":"https://doi.org/10.1145/3510457.3513027","url":null,"abstract":"User Interface (UI) testing has become a common practice for quality assurance of industrial mobile applications (in short as apps). While many automated tools have been developed, they often do not satisfy two major industrial requirements that make a tool desirable in industrial settings: high applicability across platforms (e.g., Android, iOS, AliOS, and Harmony OS) and high capability to handle apps with non-standard UI elements (whose internal structures cannot be acquired using platform APIs). Toward addressing these industrial requirements, automated visual testing emerges to take only device screenshots as input in order to support automated test generation. In this paper, we report our experiences of developing and deploying VTest, our industrial visual testing framework to assure high quality of Taobao, a highly popular industrial app with about one billion monthly active users. VTest includes carefully designed techniques and infrastructure support, outperforming Monkey (which has been popularly deployed in industry and shown to perform superiorly or similarly compared to state-of-the-art tools) with 87.6% more activity coverage. VTEST has been deployed both internally in Alibaba and externally in the Software Green Alliance to provide testing services for top smart-phone vendors and app vendors in China. We summarize five major lessons learned from developing and deploying VTEST.","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":"123925953","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
An Empirical Study on Implicit Constraints in Smart Contract Static Analysis 智能合约静态分析中的隐含约束实证研究
Tingting Yin, Chao Zhang, Yuandong Ni, Yixiong Wu, Taiyu Wong, Xiapu Luo, Zheming Li, Yu Guo
Smart contracts are usually financial-related, which makes them attractive attack targets. Many static analysis tools have been developed to facilitate the contract audit process, but not all of them take account of two special features of smart contracts: (1) The external variables, like time, are constrained by real-world factors; (2) The internal variables persist between executions. Since these features import implicit constraints into contracts, they significantly affect the performance of static tools, such as causing errors in reachability analysis and resulting in false positives. In this paper, we conduct a systematic study on implicit constraints from three aspects. First, we summarize the implicit constraints in smart contracts. Second, we evaluate the impact of such constraints on the state-of-the-art static tools. Third, we propose a lightweight but effective mitigation method named ConSym to deal with such constraints and integrate it into OSIRIS. The evaluation result shows that ConSym can filter out 96% of false positives and reduce false negatives by two-thirds.
智能合约通常与金融相关,这使它们成为有吸引力的攻击目标。已经开发了许多静态分析工具来促进合同审计过程,但并非所有工具都考虑到智能合约的两个特殊特征:(1)外部变量,如时间,受到现实世界因素的限制;(2)内部变量在执行之间持续存在。由于这些特性将隐式约束导入到契约中,因此它们会显著影响静态工具的性能,例如在可达性分析中导致错误并导致误报。本文从三个方面对隐式约束进行了系统的研究。首先,我们总结了智能合约中的隐式约束。其次,我们评估了这些约束对最先进的静态工具的影响。第三,我们提出了一种轻量级但有效的缓解方法ConSym来处理这些约束,并将其集成到OSIRIS中。评估结果表明,ConSym可以过滤掉96%的假阳性,减少三分之二的假阴性。
{"title":"An Empirical Study on Implicit Constraints in Smart Contract Static Analysis","authors":"Tingting Yin, Chao Zhang, Yuandong Ni, Yixiong Wu, Taiyu Wong, Xiapu Luo, Zheming Li, Yu Guo","doi":"10.1145/3510457.3513076","DOIUrl":"https://doi.org/10.1145/3510457.3513076","url":null,"abstract":"Smart contracts are usually financial-related, which makes them attractive attack targets. Many static analysis tools have been developed to facilitate the contract audit process, but not all of them take account of two special features of smart contracts: (1) The external variables, like time, are constrained by real-world factors; (2) The internal variables persist between executions. Since these features import implicit constraints into contracts, they significantly affect the performance of static tools, such as causing errors in reachability analysis and resulting in false positives. In this paper, we conduct a systematic study on implicit constraints from three aspects. First, we summarize the implicit constraints in smart contracts. Second, we evaluate the impact of such constraints on the state-of-the-art static tools. Third, we propose a lightweight but effective mitigation method named ConSym to deal with such constraints and integrate it into OSIRIS. The evaluation result shows that ConSym can filter out 96% of false positives and reduce false negatives by two-thirds.","PeriodicalId":119790,"journal":{"name":"2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)","volume":"25 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":"129028056","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
SEIP 2022 Program Committee SEIP 2022项目委员会
{"title":"SEIP 2022 Program Committee","authors":"","doi":"10.1109/icse-seip55303.2022.9793953","DOIUrl":"https://doi.org/10.1109/icse-seip55303.2022.9793953","url":null,"abstract":"","PeriodicalId":119790,"journal":{"name":"2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)","volume":"13 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":"124325619","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
Towards a Green Quotient for Software Projects 迈向软件项目的绿色商数
Rohit Mehra, V. Sharma, Vikrant S. Kaulgud, Sanjay Podder, Adam P. Burden
As sustainability takes center stage across businesses, green and energy-efficient choices are more crucial than ever. While it is becoming increasingly evident that software and the software industry are substantial and rapidly evolving contributors to carbon emissions, there is a dearth of approaches to create actionable awareness about this during the software development lifecycle (SDLC). Can software teams comprehend how green are their projects? Here we provide an industry perspective on why this is a challenging and worthy problem that needs to be addressed. We also outline an approach to quickly gauge the “greenness” of a software project based on the choices made across different SDLC dimensions and present the initial encouraging feedback this approach has received.
随着可持续发展成为企业的中心舞台,绿色和节能的选择比以往任何时候都更加重要。虽然越来越明显的是,软件和软件行业是碳排放的重要和快速发展的贡献者,但在软件开发生命周期(SDLC)中,缺乏方法来创建可操作的意识。软件团队能理解他们的项目有多环保吗?在这里,我们提供了一个行业的观点,为什么这是一个具有挑战性和值得解决的问题。我们还概述了一种基于在不同SDLC维度上做出的选择来快速评估软件项目“绿色”的方法,并给出了这种方法收到的最初的令人鼓舞的反馈。
{"title":"Towards a Green Quotient for Software Projects","authors":"Rohit Mehra, V. Sharma, Vikrant S. Kaulgud, Sanjay Podder, Adam P. Burden","doi":"10.1145/3510457.3513077","DOIUrl":"https://doi.org/10.1145/3510457.3513077","url":null,"abstract":"As sustainability takes center stage across businesses, green and energy-efficient choices are more crucial than ever. While it is becoming increasingly evident that software and the software industry are substantial and rapidly evolving contributors to carbon emissions, there is a dearth of approaches to create actionable awareness about this during the software development lifecycle (SDLC). Can software teams comprehend how green are their projects? Here we provide an industry perspective on why this is a challenging and worthy problem that needs to be addressed. We also outline an approach to quickly gauge the “greenness” of a software project based on the choices made across different SDLC dimensions and present the initial encouraging feedback this approach has received.","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-04-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128043012","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
An Industrial Experience Report on Retro-Inspection 关于追溯检查的工业经验报告
Lanxin Yang, He Zhang, Fu-chang Zhang, Xiaodong Zhang, Guoping Rong
To reinforce the quality of code delivery, especially to improve future coding quality, one global Information and Communication Technology (ICT) enterprise has institutionalized a retrospective style inspection (namely retro-inspection), which is similar to Fagan inspection but differs in terms of stage, participants, etc. This paper reports an industrial case study that aims to investigate the experiences and lessons from this software practice. To this end, we collected and analyzed various empirical evidence for data triangulation. The results reflect that retro-inspection distinguishes itself from peer code review by identifying more complicated and underlying defects, providing more indicative and suggestive comments. Many experienced inspectors indicate defects together with their rationale behind and offer suggestions for correction and prevention. As a result, retro-inspection can benefit not only quality assurance (like Fagan inspection), but also internal audit, interdivision communication, and competence promotion. On the other side, we identify several lessons of retro-inspection at this stage, e.g., developers’ acceptance and organizers’ predicament, for next-step improvement of this practice. To be specific, some recommendations are discussed for retro-inspection, e.g., more adequate preparation and more careful publicity. This study concludes that most of the expected benefits of retro-inspection can be empirically confirmed in this enterprise and its value on the progress to continuous maturity can be recognized organization-wide. The experiences on executing this altered practice in a large enterprise provide reference value on code quality assurance to other software organizations.
为了加强代码交付质量,特别是提高未来的编码质量,一家全球信息和通信技术(ICT)企业将回顾式检查(即追溯检查)制度化,这种检查与 Fagan 检查类似,但在阶段、参与者等方面有所不同。本文报告了一项工业案例研究,旨在调查这一软件实践的经验和教训。为此,我们收集并分析了各种经验证据,以进行数据三角测量。研究结果表明,追溯检查有别于同行代码审查,它能发现更复杂、更深层次的缺陷,提供更多指示性和提示性意见。许多经验丰富的检查员会指出缺陷及其背后的原因,并提出纠正和预防建议。因此,追溯检查不仅有利于质量保证(如 Fagan 检查),还有利于内部审计、部门间沟通和能力提升。另一方面,我们指出了现阶段追溯检查的一些经验教训,如开发商的接受程度和组织者的困境,以便下一步改进这一做法。具体而言,我们讨论了一些关于复验的建议,如更充分的准备和更细致的宣传。本研究的结论是,追溯检查的大部分预期效益都可以在该企业中得到经验证实,其在不断走向成熟方面的价值也可以在整个组织中得到认可。在一家大型企业中执行这一改变实践的经验为其他软件组织提供了代码质量保证方面的参考价值。
{"title":"An Industrial Experience Report on Retro-Inspection","authors":"Lanxin Yang, He Zhang, Fu-chang Zhang, Xiaodong Zhang, Guoping Rong","doi":"10.1145/3510457.3513055","DOIUrl":"https://doi.org/10.1145/3510457.3513055","url":null,"abstract":"To reinforce the quality of code delivery, especially to improve future coding quality, one global Information and Communication Technology (ICT) enterprise has institutionalized a retrospective style inspection (namely retro-inspection), which is similar to Fagan inspection but differs in terms of stage, participants, etc. This paper reports an industrial case study that aims to investigate the experiences and lessons from this software practice. To this end, we collected and analyzed various empirical evidence for data triangulation. The results reflect that retro-inspection distinguishes itself from peer code review by identifying more complicated and underlying defects, providing more indicative and suggestive comments. Many experienced inspectors indicate defects together with their rationale behind and offer suggestions for correction and prevention. As a result, retro-inspection can benefit not only quality assurance (like Fagan inspection), but also internal audit, interdivision communication, and competence promotion. On the other side, we identify several lessons of retro-inspection at this stage, e.g., developers’ acceptance and organizers’ predicament, for next-step improvement of this practice. To be specific, some recommendations are discussed for retro-inspection, e.g., more adequate preparation and more careful publicity. This study concludes that most of the expected benefits of retro-inspection can be empirically confirmed in this enterprise and its value on the progress to continuous maturity can be recognized organization-wide. The experiences on executing this altered practice in a large enterprise provide reference value on code quality assurance to other software organizations.","PeriodicalId":119790,"journal":{"name":"2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)","volume":"43 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-04-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125887364","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
Mining Root Cause Knowledge from Cloud Service Incident Investigations for AIOps 从针对AIOps的云服务事件调查中挖掘根本原因知识
Amrita Saha, S. Hoi
Root Cause Analysis (RCA) of any service-disrupting incident is one of the most critical as well as complex tasks in IT processes, especially for cloud industry leaders like Salesforce. Typically RCA investigation leverages data-sources like application error logs or service call traces. However a rich goldmine of root cause information is also hidden in the natural language documentation of the past incidents investigations by domain experts. This is generally termed as Problem Review Board (PRB) Data which constitute a core component of IT Incident Management. However, owing to the raw unstructured nature of PRBs, such root cause knowledge is not directly reusable by manual or automated pipelines for RCA of new incidents. This motivates us to leverage this widely-available data-source to build an Incident Causation Analysis (ICA) engine, using SoTA neural NLP techniques to extract targeted information and construct a structured Causal Knowledge Graph from PRB documents. ICA forms the backbone of a simple-yet-effective Retrieval based RCA for new incidents, through an Information Retrieval system to search and rank past incidents and detect likely root causes from them, given the incident symptom. In this work, we present ICA and the downstream Incident Search and Retrieval based RCA pipeline, built at Salesforce, over 2K documented cloud service incident investigations collected over a few years. We also establish the effectiveness of ICA and the downstream tasks through various quantitative benchmarks, qualitative analysis as well as domain expert's validation and real incident case studies after deployment.
任何服务中断事件的根本原因分析(RCA)是IT流程中最关键也是最复杂的任务之一,特别是对于像Salesforce这样的云行业领导者来说。通常,RCA调查利用诸如应用程序错误日志或服务调用跟踪之类的数据源。然而,领域专家对过去事件调查的自然语言文档中也隐藏着丰富的根本原因信息金矿。这通常被称为问题审查委员会(PRB)数据,它构成了IT事件管理的核心组件。然而,由于prb的原始非结构化性质,这些根本原因知识不能通过手工或自动化管道直接用于新事件的RCA。这促使我们利用这个广泛可用的数据源来构建事件因果分析(ICA)引擎,使用SoTA神经NLP技术从PRB文档中提取目标信息并构建结构化的因果知识图。ICA通过信息检索系统对过去的事件进行搜索和排序,并根据事件症状从事件中检测可能的根本原因,从而形成了简单而有效的基于检索的新事件RCA的主干。在本文中,我们介绍了在Salesforce构建的基于ICA和下游事件搜索和检索的RCA管道,以及几年来收集的超过2K个记录的云服务事件调查。我们还通过各种定量基准、定性分析以及领域专家的验证和部署后的真实事件案例研究,建立了ICA和下游任务的有效性。
{"title":"Mining Root Cause Knowledge from Cloud Service Incident Investigations for AIOps","authors":"Amrita Saha, S. Hoi","doi":"10.1145/3510457.3513030","DOIUrl":"https://doi.org/10.1145/3510457.3513030","url":null,"abstract":"Root Cause Analysis (RCA) of any service-disrupting incident is one of the most critical as well as complex tasks in IT processes, especially for cloud industry leaders like Salesforce. Typically RCA investigation leverages data-sources like application error logs or service call traces. However a rich goldmine of root cause information is also hidden in the natural language documentation of the past incidents investigations by domain experts. This is generally termed as Problem Review Board (PRB) Data which constitute a core component of IT Incident Management. However, owing to the raw unstructured nature of PRBs, such root cause knowledge is not directly reusable by manual or automated pipelines for RCA of new incidents. This motivates us to leverage this widely-available data-source to build an Incident Causation Analysis (ICA) engine, using SoTA neural NLP techniques to extract targeted information and construct a structured Causal Knowledge Graph from PRB documents. ICA forms the backbone of a simple-yet-effective Retrieval based RCA for new incidents, through an Information Retrieval system to search and rank past incidents and detect likely root causes from them, given the incident symptom. In this work, we present ICA and the downstream Incident Search and Retrieval based RCA pipeline, built at Salesforce, over 2K documented cloud service incident investigations collected over a few years. We also establish the effectiveness of ICA and the downstream tasks through various quantitative benchmarks, qualitative analysis as well as domain expert's validation and real incident case studies after deployment.","PeriodicalId":119790,"journal":{"name":"2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-04-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127691727","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
Using a Semantic Knowledge Base to Improve the Management of Security Reports in Industrial DevOps Projects 使用语义知识库改进工业开发运维项目中安全报告的管理
Markus Voggenreiter, Ulrich Schöpp
Integrating security activities into the software development lifecycle to detect security flaws is essential for any project. These activities produce reports that must be managed and looped back to project stakeholders like developers to enable security improvements. This so-called Feedback Loop is a crucial part of any project and is required by various industrial security standards and models. However, the operation of this loop presents a variety of challenges. These challenges range from ensuring that feedback data is of sufficient quality over providing different stakeholders with the information they need to the enormous effort to manage the reports. In this paper, we propose a novel approach for treating findings from security activity reports as belief in a Knowledge Base (KB). By utilizing continuous logical inferences, we derive information necessary for practitioners and address existing challenges in the industry. This approach is currently evaluated in industrial DevOps projects, using data from continuous security testing.
将安全活动集成到软件开发生命周期中以检测安全缺陷对于任何项目都是必不可少的。这些活动产生的报告必须进行管理,并反馈给项目涉众(如开发人员),以支持安全性改进。这个所谓的反馈回路是任何项目的关键部分,也是各种工业安全标准和模型所要求的。然而,这个循环的操作提出了各种各样的挑战。这些挑战包括确保反馈数据具有足够的质量,为不同的涉众提供他们所需的信息,以及管理报告的巨大努力。在本文中,我们提出了一种新的方法,将来自安全活动报告的发现视为知识库(KB)中的信念。通过使用连续的逻辑推理,我们获得从业者所需的信息,并解决行业中存在的挑战。这种方法目前在工业DevOps项目中进行评估,使用来自持续安全测试的数据。
{"title":"Using a Semantic Knowledge Base to Improve the Management of Security Reports in Industrial DevOps Projects","authors":"Markus Voggenreiter, Ulrich Schöpp","doi":"10.1145/3510457.3513065","DOIUrl":"https://doi.org/10.1145/3510457.3513065","url":null,"abstract":"Integrating security activities into the software development lifecycle to detect security flaws is essential for any project. These activities produce reports that must be managed and looped back to project stakeholders like developers to enable security improvements. This so-called Feedback Loop is a crucial part of any project and is required by various industrial security standards and models. However, the operation of this loop presents a variety of challenges. These challenges range from ensuring that feedback data is of sufficient quality over providing different stakeholders with the information they need to the enormous effort to manage the reports. In this paper, we propose a novel approach for treating findings from security activity reports as belief in a Knowledge Base (KB). By utilizing continuous logical inferences, we derive information necessary for practitioners and address existing challenges in the industry. This approach is currently evaluated in industrial DevOps projects, using data from continuous security testing.","PeriodicalId":119790,"journal":{"name":"2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-04-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125595661","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
Dozer: Migrating Shell Commands to Ansible Modules via Execution Profiling and Synthesis Dozer:通过执行分析和合成将Shell命令迁移到Ansible模块
Eric Horton, Chris Parnin
Software developers frequently use the system shell to perform configuration management tasks. Unfortunately, the shell does not scale well to large systems, and configuration management tools like Ansible are more difficult to learn. We address this problem with Dozer, a technique to help developers push their shell commands into Ansible task definitions. It operates by tracing and comparing system calls to find Ansible modules with similar behaviors to shell commands, then generating and validating migrations to find the task which produces the most similar changes to the system. Dozer is syntax agnostic, which should allow it to generalize to other configuration management platforms. We evaluate Dozer using datasets from open source configuration scripts.
软件开发人员经常使用系统shell来执行配置管理任务。不幸的是,shell不能很好地扩展到大型系统,并且像Ansible这样的配置管理工具更难以学习。我们用Dozer解决了这个问题,这是一种帮助开发人员将shell命令推送到Ansible任务定义中的技术。它通过跟踪和比较系统调用来找到与shell命令行为相似的Ansible模块,然后生成和验证迁移,以找到对系统产生最相似变化的任务。Dozer是语法不可知的,这应该允许它推广到其他配置管理平台。我们使用来自开源配置脚本的数据集来评估Dozer。
{"title":"Dozer: Migrating Shell Commands to Ansible Modules via Execution Profiling and Synthesis","authors":"Eric Horton, Chris Parnin","doi":"10.1145/3510457.3513060","DOIUrl":"https://doi.org/10.1145/3510457.3513060","url":null,"abstract":"Software developers frequently use the system shell to perform configuration management tasks. Unfortunately, the shell does not scale well to large systems, and configuration management tools like Ansible are more difficult to learn. We address this problem with Dozer, a technique to help developers push their shell commands into Ansible task definitions. It operates by tracing and comparing system calls to find Ansible modules with similar behaviors to shell commands, then generating and validating migrations to find the task which produces the most similar changes to the system. Dozer is syntax agnostic, which should allow it to generalize to other configuration management platforms. We evaluate Dozer using datasets from open source configuration scripts.","PeriodicalId":119790,"journal":{"name":"2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122113002","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
Reflekt: a Library for Compile-Time Reflection in Kotlin Reflekt: Kotlin中用于编译时反射的库
Anastasiia Birillo, Elena Lyulina, Maria Malysheva, Vladislav Tankov, T. Bryksin
Reflection in Kotlin is a powerful mechanism to introspect program behavior during its execution at run-time. However, among the variety of practical tasks involving reflection, there are scenarios when the poor performance of run-time approaches becomes a significant disadvantage. This problem manifests itself in Kotless, a popular framework for developing serverless applications, because the faster the applications launch, the less their cloud infrastructure costs. In this paper, we present Reflekt - a compile-time reflection library which allows to perform the search among classes, object expressions (which in Kotlin are implemented as singleton classes), and functions in Kotlin code based on the given search query. It comes with a convenient DSL and better performance comparing to the existing run-time reflection approaches. Our experiments show that replacing run-time reflection calls with Reflekt in serverless applications created with Kotless resulted in a significant performance boost in start-up time of these applications.
Kotlin中的反射是一种强大的机制,用于在运行时执行程序时内省程序行为。然而,在涉及反射的各种实际任务中,在某些情况下,运行时方法的不良性能成为一个显著的缺点。这个问题在Kotless(一种开发无服务器应用程序的流行框架)中表现出来,因为应用程序启动得越快,其云基础设施成本就越低。在本文中,我们介绍了Reflekt——一个编译时反射库,它允许基于给定的搜索查询在Kotlin代码中的类、对象表达式(在Kotlin中是作为单例类实现的)和函数之间执行搜索。与现有的运行时反射方法相比,它提供了方便的DSL和更好的性能。我们的实验表明,在使用Kotless创建的无服务器应用程序中,用Reflekt代替运行时反射调用可以显著提高这些应用程序的启动时间。
{"title":"Reflekt: a Library for Compile-Time Reflection in Kotlin","authors":"Anastasiia Birillo, Elena Lyulina, Maria Malysheva, Vladislav Tankov, T. Bryksin","doi":"10.1145/3510457.3513053","DOIUrl":"https://doi.org/10.1145/3510457.3513053","url":null,"abstract":"Reflection in Kotlin is a powerful mechanism to introspect program behavior during its execution at run-time. However, among the variety of practical tasks involving reflection, there are scenarios when the poor performance of run-time approaches becomes a significant disadvantage. This problem manifests itself in Kotless, a popular framework for developing serverless applications, because the faster the applications launch, the less their cloud infrastructure costs. In this paper, we present Reflekt - a compile-time reflection library which allows to perform the search among classes, object expressions (which in Kotlin are implemented as singleton classes), and functions in Kotlin code based on the given search query. It comes with a convenient DSL and better performance comparing to the existing run-time reflection approaches. Our experiments show that replacing run-time reflection calls with Reflekt in serverless applications created with Kotless resulted in a significant performance boost in start-up time of these applications.","PeriodicalId":119790,"journal":{"name":"2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-02-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121391873","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
Towards Build Verifiability for Java-based Systems 面向基于java的系统的构建可验证性
Jiawen Xiong, Yong Shi, Boyuan Chen, F. R. Côgo, Z. Jiang
Build verifiability refers to the property that the build of a software system can be verified by independent third parties and it is crucial for the trustworthiness of a software system. Various efforts towards build verifiability have been made to $mathrm{C}/mathrm{C}++$ -based systems, yet the techniques for Java-based systems are not systematic and are often specific to a particular build tool (e.g., Maven). In this study, we present a systematic approach towards build verifiability on Java-based systems. Our approach consists of three parts: a unified build process, a tool that dynamically controls non-determinism during the build process, and another tool that eliminates non-equivalences by post-processing the build artifacts. We apply our approach on 46 unverified open source projects from Reproducible Central and 13 open source projects that are widely used by Huawei commercial products. As a result, 91% of the unverified Reproducible Central projects and 100% of the commercially adopted OSS projects are successfully verified with our approach. In addition, based on our experience in analyzing thousands of builds for both commercial and open source Java-based systems, we present 14 patterns that introduce non-equivalences in generated build artifacts and their respective mitigation strategies. Among these patterns, 11 (78%) are unique for Java-based system, whereas the remaining 3 (22%) are common with $mathrm{C}/mathrm{C}++$ -based systems. The approach and the findings of this paper are useful for both practitioners and researchers who are interested in build verifiability.
构建可验证性是指软件系统的构建可以被独立的第三方验证的属性,它对软件系统的可信度至关重要。对于基于$ mathm {C}/ mathm {C}++$的系统,已经进行了各种构建可验证性方面的努力,但是用于基于java的系统的技术并不是系统化的,并且通常特定于特定的构建工具(例如Maven)。在这项研究中,我们提出了一种在基于java的系统上构建可验证性的系统方法。我们的方法由三个部分组成:一个统一的构建过程,一个在构建过程中动态控制不确定性的工具,以及另一个通过后处理构建工件来消除不等价性的工具。我们将我们的方法应用于可再生中心的46个未经验证的开源项目和13个被华为商业产品广泛使用的开源项目。结果,91%的未验证的可复制中心项目和100%的商业采用的OSS项目通过我们的方法成功验证。此外,根据我们对商业和开源java系统的数千个构建的分析经验,我们提出了14种模式,这些模式在生成的构建工件和它们各自的缓解策略中引入了非等等性。在这些模式中,有11种(78%)是基于java的系统所特有的,而剩下的3种(22%)是基于$ mathm {C}/ mathm {C}++$的系统所共有的。本文的方法和发现对对构建可验证性感兴趣的实践者和研究人员都很有用。
{"title":"Towards Build Verifiability for Java-based Systems","authors":"Jiawen Xiong, Yong Shi, Boyuan Chen, F. R. Côgo, Z. Jiang","doi":"10.1145/3510457.3513050","DOIUrl":"https://doi.org/10.1145/3510457.3513050","url":null,"abstract":"Build verifiability refers to the property that the build of a software system can be verified by independent third parties and it is crucial for the trustworthiness of a software system. Various efforts towards build verifiability have been made to $mathrm{C}/mathrm{C}++$ -based systems, yet the techniques for Java-based systems are not systematic and are often specific to a particular build tool (e.g., Maven). In this study, we present a systematic approach towards build verifiability on Java-based systems. Our approach consists of three parts: a unified build process, a tool that dynamically controls non-determinism during the build process, and another tool that eliminates non-equivalences by post-processing the build artifacts. We apply our approach on 46 unverified open source projects from Reproducible Central and 13 open source projects that are widely used by Huawei commercial products. As a result, 91% of the unverified Reproducible Central projects and 100% of the commercially adopted OSS projects are successfully verified with our approach. In addition, based on our experience in analyzing thousands of builds for both commercial and open source Java-based systems, we present 14 patterns that introduce non-equivalences in generated build artifacts and their respective mitigation strategies. Among these patterns, 11 (78%) are unique for Java-based system, whereas the remaining 3 (22%) are common with $mathrm{C}/mathrm{C}++$ -based systems. The approach and the findings of this paper are useful for both practitioners and researchers who are interested in build verifiability.","PeriodicalId":119790,"journal":{"name":"2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)","volume":"127 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-02-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122843130","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
期刊
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