首页 > 最新文献

2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)最新文献

英文 中文
ProMal: Precise Window Transition Graphs for Android via Synergy of Program Analysis and Machine Learning 基于程序分析和机器学习的Android精确窗口转换图
Changlin Liu
Mobile apps have been an integral part in our daily life. As these apps become more complex, it is critical to provide automated analysis techniques to ensure the correctness, security, and performance of these apps. A key component for these automated analysis techniques is to create a graphical user interface (GUI) model of an app, i.e., a window transition graph (WTG), that models windows and transitions among the windows. While existing work has provided both static and dynamic analysis to build the WTG for an app, the constructed WTG misses many transitions or contains many infeasible transitions due to the coverage issues of dynamic analysis and over-approximation of the static analysis. We propose ProMal, a "tribrid" analysis that synergistically combines static analysis, dynamic analysis, and machine learning to construct a precise WTG. Specifically, ProMal first applies static analysis to build a static WTG, and then applies dynamic analysis to verify the transitions in the static WTG. For the unverified transitions, ProMal further provides machine learning techniques that leverage runtime information (i.e., screenshots, UI layouts, and text information) to predict whether they are feasible transitions. Our evaluations on 40 real-world apps demonstrate the superiority of ProMal in building WTGs over static analysis, dynamic analysis, and machine learning techniques when they are applied separately.
手机应用已经成为我们日常生活中不可或缺的一部分。随着这些应用程序变得越来越复杂,提供自动化分析技术来确保这些应用程序的正确性、安全性和性能是至关重要的。这些自动化分析技术的一个关键组件是创建应用程序的图形用户界面(GUI)模型,即窗口转换图(WTG),用于对窗口和窗口之间的转换建模。虽然现有的工作提供了静态和动态分析来构建应用程序的WTG,但由于动态分析的覆盖问题和静态分析的过度逼近,构建的WTG遗漏了许多转换或包含许多不可行的转换。我们提出了ProMal,这是一种“混合”分析,它将静态分析、动态分析和机器学习协同结合起来,以构建精确的WTG。具体来说,ProMal首先应用静态分析来构建静态WTG,然后应用动态分析来验证静态WTG中的转换。对于未经验证的转换,ProMal进一步提供了利用运行时信息(例如,屏幕截图、UI布局和文本信息)的机器学习技术来预测它们是否是可行的转换。我们对40个实际应用程序的评估表明,在单独应用时,ProMal在构建wtg方面优于静态分析、动态分析和机器学习技术。
{"title":"ProMal: Precise Window Transition Graphs for Android via Synergy of Program Analysis and Machine Learning","authors":"Changlin Liu","doi":"10.1109/ICSE-Companion52605.2021.00061","DOIUrl":"https://doi.org/10.1109/ICSE-Companion52605.2021.00061","url":null,"abstract":"Mobile apps have been an integral part in our daily life. As these apps become more complex, it is critical to provide automated analysis techniques to ensure the correctness, security, and performance of these apps. A key component for these automated analysis techniques is to create a graphical user interface (GUI) model of an app, i.e., a window transition graph (WTG), that models windows and transitions among the windows. While existing work has provided both static and dynamic analysis to build the WTG for an app, the constructed WTG misses many transitions or contains many infeasible transitions due to the coverage issues of dynamic analysis and over-approximation of the static analysis. We propose ProMal, a \"tribrid\" analysis that synergistically combines static analysis, dynamic analysis, and machine learning to construct a precise WTG. Specifically, ProMal first applies static analysis to build a static WTG, and then applies dynamic analysis to verify the transitions in the static WTG. For the unverified transitions, ProMal further provides machine learning techniques that leverage runtime information (i.e., screenshots, UI layouts, and text information) to predict whether they are feasible transitions. Our evaluations on 40 real-world apps demonstrate the superiority of ProMal in building WTGs over static analysis, dynamic analysis, and machine learning techniques when they are applied separately.","PeriodicalId":136929,"journal":{"name":"2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129226409","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
CodeShovel: A Reusable and Available Tool for Extracting Source Code Histories CodeShovel:一个可重用的、可用的提取源代码历史的工具
F. Grund, S. A. Chowdhury, N. Bradley, Braxton Hall, Reid Holmes
Being able to accurately understand how source code evolved is fundamentally important for both software engineers and researchers. Our ICSE 2021 Research Paper CodeShovel: Constructing Method-Level Source Code Histories describes a novel approach for quickly uncovering these method histories. The approach, codified in the CodeShovel tool, is available for researchers and practitioners alike to use and extend. It is available both as a public web service that can be used interactively or through a REST API and as a stand-alone Java component. This document details how to install and use CodeShovel, although all pertinent details are available online enabling CodeShovel to be reused as desired.
能够准确地理解源代码是如何演化的,对于软件工程师和研究人员来说都是非常重要的。我们的ICSE 2021研究论文CodeShovel:构建方法级源代码历史描述了一种快速发现这些方法历史的新方法。该方法在CodeShovel工具中进行了编码,可供研究人员和实践者使用和扩展。它既可以作为可交互使用或通过REST API使用的公共web服务,也可以作为独立的Java组件使用。本文档详细介绍了如何安装和使用CodeShovel,尽管所有相关细节都可以在网上获得,以便根据需要重用CodeShovel。
{"title":"CodeShovel: A Reusable and Available Tool for Extracting Source Code Histories","authors":"F. Grund, S. A. Chowdhury, N. Bradley, Braxton Hall, Reid Holmes","doi":"10.1109/ICSE-Companion52605.2021.00100","DOIUrl":"https://doi.org/10.1109/ICSE-Companion52605.2021.00100","url":null,"abstract":"Being able to accurately understand how source code evolved is fundamentally important for both software engineers and researchers. Our ICSE 2021 Research Paper CodeShovel: Constructing Method-Level Source Code Histories describes a novel approach for quickly uncovering these method histories. The approach, codified in the CodeShovel tool, is available for researchers and practitioners alike to use and extend. It is available both as a public web service that can be used interactively or through a REST API and as a stand-alone Java component. This document details how to install and use CodeShovel, although all pertinent details are available online enabling CodeShovel to be reused as desired.","PeriodicalId":136929,"journal":{"name":"2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114039146","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
Artifact: Reducing DNN Properties to Enable Falsification with Adversarial Attacks 神器:减少DNN属性以允许对抗性攻击的伪造
David Shriver, Sebastian G. Elbaum, Matthew B. Dwyer
We present an artifact to accompany Reducing DNN Properties to Enable Falsification with Adversarial Attacks which includes the DNNF tool, data and scripts to facilitate the replication of its study. The artifact is both reusable and available. DNNF is available on Github, and we provide an artifact to reproduce our study as a VirtualBox virtual machine image. Full replication of the study requires 64GB of memory and 8 CPU cores. Users should know how to use VirtualBox, as well as have basic knowledge of the bash shell.
我们提出了一个工件,以配合减少DNN属性以实现对抗性攻击的伪造,其中包括DNNF工具,数据和脚本,以促进其研究的复制。工件既可重用又可用。DNNF在Github上可用,我们提供了一个工件来将我们的研究复制为VirtualBox虚拟机映像。研究的完整复制需要64GB内存和8个CPU内核。用户应该知道如何使用VirtualBox,以及bash shell的基本知识。
{"title":"Artifact: Reducing DNN Properties to Enable Falsification with Adversarial Attacks","authors":"David Shriver, Sebastian G. Elbaum, Matthew B. Dwyer","doi":"10.1109/ICSE-Companion52605.2021.00068","DOIUrl":"https://doi.org/10.1109/ICSE-Companion52605.2021.00068","url":null,"abstract":"We present an artifact to accompany Reducing DNN Properties to Enable Falsification with Adversarial Attacks which includes the DNNF tool, data and scripts to facilitate the replication of its study. The artifact is both reusable and available. DNNF is available on Github, and we provide an artifact to reproduce our study as a VirtualBox virtual machine image. Full replication of the study requires 64GB of memory and 8 CPU cores. Users should know how to use VirtualBox, as well as have basic knowledge of the bash shell.","PeriodicalId":136929,"journal":{"name":"2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132783126","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
Learning to Boost the Efficiency of Modern Code Review 学习提高现代代码审查的效率
R. Heumüller
Modern Code Review (MCR) is a standard in all kinds of organizations that develop software.MCR pays for itself through perceived and proven benefits in quality assurance and knowledge transfer. However, the time invest in MCR is generally substantial. The goal of this thesis is to boost the efficiency of MCR by developing AI techniques that can partially replace or assist human reviewers. The envisioned techniques distinguish from existing MCR-related AI models in that we interpret these challenges as graph-learning problems. This should allow us to use state-of-science algorithms from that domain to learn coding and reviewing standards directly from existing projects. The required training data will be mined from online repositories and the experiments will be designed to use standard, quantitative evaluation metrics. This research proposal defines the motivation, research-questions, and solution components for the thesis, and gives an overview of the relevant related work.
现代代码审查(MCR)是各种软件开发组织的标准。MCR通过在质量保证和知识转移方面的感知和证明的好处来为自己买单。然而,在MCR中投入的时间通常是可观的。本文的目标是通过开发可以部分取代或协助人类审稿人的人工智能技术来提高MCR的效率。设想的技术与现有的mcr相关的人工智能模型的区别在于,我们将这些挑战解释为图形学习问题。这应该允许我们使用来自该领域的最新算法来学习编码,并直接从现有项目中审查标准。所需的训练数据将从在线存储库中挖掘,实验将设计为使用标准的、定量的评估指标。本研究计划明确本论文的研究动机、研究问题及解决方案,并概述相关工作。
{"title":"Learning to Boost the Efficiency of Modern Code Review","authors":"R. Heumüller","doi":"10.1109/ICSE-Companion52605.2021.00126","DOIUrl":"https://doi.org/10.1109/ICSE-Companion52605.2021.00126","url":null,"abstract":"Modern Code Review (MCR) is a standard in all kinds of organizations that develop software.MCR pays for itself through perceived and proven benefits in quality assurance and knowledge transfer. However, the time invest in MCR is generally substantial. The goal of this thesis is to boost the efficiency of MCR by developing AI techniques that can partially replace or assist human reviewers. The envisioned techniques distinguish from existing MCR-related AI models in that we interpret these challenges as graph-learning problems. This should allow us to use state-of-science algorithms from that domain to learn coding and reviewing standards directly from existing projects. The required training data will be mined from online repositories and the experiments will be designed to use standard, quantitative evaluation metrics. This research proposal defines the motivation, research-questions, and solution components for the thesis, and gives an overview of the relevant related work.","PeriodicalId":136929,"journal":{"name":"2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-04-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131732099","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
High-Quality Automated Program Repair 高质量的自动程序修复
Manish Motwani
Automatic program repair (APR) has recently gained attention because it proposes to fix software defects with no human intervention. To automatically fix defects, most APR tools use the developer-written tests to (a) localize the defect, and (b) generate and validate the automatically produced candidate patches based on the constraints imposed by the tests. While APR tools can produce patches that appear to fix the defect for 11–19% of the defects in real-world software, most of the patches produced are not correct or acceptable to developers because they overfit to the tests used during the repair process. This problem is known as the patch overfitting problem. To address this problem, I propose to equip APR tools with additional constraints derived from natural-language software artifacts such as bug reports and requirements specifications that describe the bug and intended software behavior but are not typically used by the APR tools. I hypothesize that patches produced by APR tools while using such additional constraints would be of higher quality. To test this hypothesis, I propose an automated and objective approach to evaluate the quality of patches, and propose two novel methods to improve the fault localization and developer-written test suites using natural-language software artifacts. Finally, I propose to use my patch evaluation methodology to analyze the effect of the improved fault localization and test suites on the quality of patches produced by APR tools for real-world defects.
自动程序修复(APR)最近引起了人们的关注,因为它提出在没有人为干预的情况下修复软件缺陷。为了自动修复缺陷,大多数APR工具使用开发人员编写的测试来(a)定位缺陷,以及(b)根据测试施加的约束生成并验证自动生成的候选补丁。虽然APR工具可以生成补丁,似乎修复了实际软件中11-19%的缺陷,但大多数生成的补丁对开发人员来说是不正确的或不可接受的,因为它们过于适合修复过程中使用的测试。这个问题被称为贴片过拟合问题。为了解决这个问题,我建议为APR工具配备额外的约束,这些约束来自于自然语言软件工件,比如bug报告和需求规范,它们描述了bug和预期的软件行为,但APR工具通常不使用这些约束。我假设APR工具在使用这些附加约束的情况下产生的补丁将具有更高的质量。为了验证这一假设,我提出了一种自动化和客观的方法来评估补丁的质量,并提出了两种新的方法来改进故障定位和使用自然语言软件工件的开发人员编写的测试套件。最后,我建议使用我的补丁评估方法来分析改进的故障定位和测试套件对APR工具针对现实世界缺陷生成的补丁质量的影响。
{"title":"High-Quality Automated Program Repair","authors":"Manish Motwani","doi":"10.1109/ICSE-Companion52605.2021.00134","DOIUrl":"https://doi.org/10.1109/ICSE-Companion52605.2021.00134","url":null,"abstract":"Automatic program repair (APR) has recently gained attention because it proposes to fix software defects with no human intervention. To automatically fix defects, most APR tools use the developer-written tests to (a) localize the defect, and (b) generate and validate the automatically produced candidate patches based on the constraints imposed by the tests. While APR tools can produce patches that appear to fix the defect for 11–19% of the defects in real-world software, most of the patches produced are not correct or acceptable to developers because they overfit to the tests used during the repair process. This problem is known as the patch overfitting problem. To address this problem, I propose to equip APR tools with additional constraints derived from natural-language software artifacts such as bug reports and requirements specifications that describe the bug and intended software behavior but are not typically used by the APR tools. I hypothesize that patches produced by APR tools while using such additional constraints would be of higher quality. To test this hypothesis, I propose an automated and objective approach to evaluate the quality of patches, and propose two novel methods to improve the fault localization and developer-written test suites using natural-language software artifacts. Finally, I propose to use my patch evaluation methodology to analyze the effect of the improved fault localization and test suites on the quality of patches produced by APR tools for real-world defects.","PeriodicalId":136929,"journal":{"name":"2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-04-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126022945","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
A Model using Agile Methodologies for Defining Metrics to be used by the Public Sector in Brazil to set Remuneration for Outsourced Software Development 一个使用敏捷方法定义度量标准的模型,将被巴西公共部门用于设置外包软件开发的报酬
Washington Almeida
The process of contracting software factorieswithin the scope of the Federal Public Administration (APF, inPortuguese) in Brazil has undergone some changes due tolegislative alterations and a model has been proposed to improvethe rendering of services regarding delivering results. Softwarefactory contracts based on predictive processes and on themetrics of Function Points (FP) are the target of criticisms andhave problems in achieving results, as verified in previousresearch. The initial objective of the study now proposed will beto define a process model for formulating metrics that can beused in agile contracts as opposed to those of standardized FPwhich have already proved to be quite problematic and difficultfor the contractor to manage. Thus, in line with the theme ofagile contracts for software development companies, the studyproposed will seek to better understand the problem of softwaredevelopment and its maintenance by public bodies by means ofcontracts using agile methodologies and appropriate metrics forremunerating these services.
巴西联邦公共管理局(APF,葡萄牙语)范围内的软件工厂承包过程由于立法变更而发生了一些变化,并提出了一种模式,以改善交付结果的服务呈现。基于预测过程和功能点(FP)度量的软件工厂合同是批评的目标,并且在实现结果方面存在问题,正如先前的研究所证实的那样。现在提出的这项研究的最初目标是定义一个过程模型,用于制定可用于敏捷合同的度量标准,而不是那些标准化的fp,后者已经被证明对承包商来说是相当有问题和难以管理的。因此,与软件开发公司的敏捷合同主题一致,拟议的研究将寻求通过使用敏捷方法和适当的度量标准来支付这些服务的合同,更好地理解软件开发及其公共机构维护的问题。
{"title":"A Model using Agile Methodologies for Defining Metrics to be used by the Public Sector in Brazil to set Remuneration for Outsourced Software Development","authors":"Washington Almeida","doi":"10.1109/ICSE-Companion52605.2021.00125","DOIUrl":"https://doi.org/10.1109/ICSE-Companion52605.2021.00125","url":null,"abstract":"The process of contracting software factorieswithin the scope of the Federal Public Administration (APF, inPortuguese) in Brazil has undergone some changes due tolegislative alterations and a model has been proposed to improvethe rendering of services regarding delivering results. Softwarefactory contracts based on predictive processes and on themetrics of Function Points (FP) are the target of criticisms andhave problems in achieving results, as verified in previousresearch. The initial objective of the study now proposed will beto define a process model for formulating metrics that can beused in agile contracts as opposed to those of standardized FPwhich have already proved to be quite problematic and difficultfor the contractor to manage. Thus, in line with the theme ofagile contracts for software development companies, the studyproposed will seek to better understand the problem of softwaredevelopment and its maintenance by public bodies by means ofcontracts using agile methodologies and appropriate metrics forremunerating these services.","PeriodicalId":136929,"journal":{"name":"2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-04-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134176937","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
Group Recommendation Techniques for Feature Modeling and Configuration 特征建模和配置的组推荐技术
Viet-Man Le
In large-scale feature models, feature modeling and configuration processes are highly expected to be done by a group of stakeholders. In this context, recommendation techniques can increase the efficiency of feature-model design and find optimal configurations for groups of stakeholders. Existing studies show plenty of issues concerning feature model navigation support, group members' satisfaction, and conflict resolution. This study proposes group recommendation techniques for feature modeling and configuration on the basis of addressing the mentioned issues.
在大规模特征模型中,特征建模和配置过程被一组利益相关者高度期望完成。在这种情况下,推荐技术可以提高特征模型设计的效率,并为利益相关者群体找到最优配置。现有研究在特征模型导航支持、群体成员满意度、冲突解决等方面存在诸多问题。本研究在解决上述问题的基础上,提出了用于特征建模和配置的组推荐技术。
{"title":"Group Recommendation Techniques for Feature Modeling and Configuration","authors":"Viet-Man Le","doi":"10.1109/ICSE-Companion52605.2021.00123","DOIUrl":"https://doi.org/10.1109/ICSE-Companion52605.2021.00123","url":null,"abstract":"In large-scale feature models, feature modeling and configuration processes are highly expected to be done by a group of stakeholders. In this context, recommendation techniques can increase the efficiency of feature-model design and find optimal configurations for groups of stakeholders. Existing studies show plenty of issues concerning feature model navigation support, group members' satisfaction, and conflict resolution. This study proposes group recommendation techniques for feature modeling and configuration on the basis of addressing the mentioned issues.","PeriodicalId":136929,"journal":{"name":"2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-04-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126968200","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
Unburdening Onboarding in Software Product Lines 卸下软件产品线中的入职负担
Raul Medeiros
The number of studies focusing on onboarding in software organizations has increased significantly during the last years. However, current literature overlooks onboarding in Software Product Lines (SPLs). SPLs have been proven effective in managing the increasing variability of industry software and enabling systematic reuse of a product family. Despite these benefits, SPLs are complex and exhibit particular characteristics that distinguish them from traditional software. Due to these peculiarities, SPLs require a tailor-made onboarding process. Assistance tools might help. In this dissertation, we propose assistance tools (i.e., tools built on top of the software project that helplearnersunderstand and developknowledge) as a means for helping newcomers during onboarding in SPLs.
在过去的几年中,软件组织中关注入职的研究数量显著增加。然而,目前的文献忽略了软件产品线(SPLs)中的入职。spc已被证明在管理日益增加的工业软件可变性和支持产品族的系统重用方面是有效的。尽管有这些好处,SPLs是复杂的,并且表现出与传统软件不同的特殊特征。由于这些特性,spc需要一个量身定制的入职流程。辅助工具可能会有所帮助。在本文中,我们提出了辅助工具(即,建立在软件项目之上的工具,帮助初学者理解和开发知识)作为帮助新手在spl入门期间的一种手段。
{"title":"Unburdening Onboarding in Software Product Lines","authors":"Raul Medeiros","doi":"10.1109/ICSE-Companion52605.2021.00121","DOIUrl":"https://doi.org/10.1109/ICSE-Companion52605.2021.00121","url":null,"abstract":"The number of studies focusing on onboarding in software organizations has increased significantly during the last years. However, current literature overlooks onboarding in Software Product Lines (SPLs). SPLs have been proven effective in managing the increasing variability of industry software and enabling systematic reuse of a product family. Despite these benefits, SPLs are complex and exhibit particular characteristics that distinguish them from traditional software. Due to these peculiarities, SPLs require a tailor-made onboarding process. Assistance tools might help. In this dissertation, we propose assistance tools (i.e., tools built on top of the software project that helplearnersunderstand and developknowledge) as a means for helping newcomers during onboarding in SPLs.","PeriodicalId":136929,"journal":{"name":"2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-04-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133808017","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
Extractive Multi Product-Line Engineering 采掘多产品线工程
Kamil Rosiak
Cloning is a general approach to create new functionality within variants as well as new system variants. It is a fast, flexible, intuitive, and economical approach to evolve systems in the short run. However, in the long run, the maintenance effort increases. A common solution to this problem is the extraction of a product line from a set of cloned variants. This process requires a detailed analysis of variants to extract variability information. However, clones within a variant are usually not considered in the process, but are also a cause for unsustainable software. This thesis proposes an extractive multi product-line engineering approach to re-establish the sustainable development of software variants. We propose an approach to re-engineer intra-system and inter-system clones into reusable, configurable components stored in an integrated platform and synthesize a matching multi-layer feature model.
克隆是在变体和新系统变体中创建新功能的一种通用方法。它是一种在短期内发展系统的快速、灵活、直观和经济的方法。但是,从长远来看,维护工作量会增加。此问题的一个常见解决方案是从一组克隆变体中提取产品线。这个过程需要对变量进行详细的分析,以提取变异性信息。然而,在这个过程中通常不会考虑变体中的克隆,但这也是导致软件不可持续的一个原因。本文提出了一种可提取的多产品线工程方法来重建软件变体的可持续发展。我们提出了一种方法,将系统内和系统间的克隆重新设计为存储在集成平台中的可重用、可配置的组件,并合成匹配的多层特征模型。
{"title":"Extractive Multi Product-Line Engineering","authors":"Kamil Rosiak","doi":"10.1109/ICSE-Companion52605.2021.00122","DOIUrl":"https://doi.org/10.1109/ICSE-Companion52605.2021.00122","url":null,"abstract":"Cloning is a general approach to create new functionality within variants as well as new system variants. It is a fast, flexible, intuitive, and economical approach to evolve systems in the short run. However, in the long run, the maintenance effort increases. A common solution to this problem is the extraction of a product line from a set of cloned variants. This process requires a detailed analysis of variants to extract variability information. However, clones within a variant are usually not considered in the process, but are also a cause for unsustainable software. This thesis proposes an extractive multi product-line engineering approach to re-establish the sustainable development of software variants. We propose an approach to re-engineer intra-system and inter-system clones into reusable, configurable components stored in an integrated platform and synthesize a matching multi-layer feature model.","PeriodicalId":136929,"journal":{"name":"2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-04-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132406792","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
NodeSRT: A Selective Regression Testing Tool for Node.js Application nodest:用于Node.js应用程序的选择性回归测试工具
Yufeng Chen
Node.js is one of the most popular frameworks for building web applications. As software systems mature, the cost of running their entire regression test suite can become significant. Selective Regression Testing (SRT) is a technique that executes only a subset of tests the regression test suite can detect software failures more efficiently. Previous SRT studies mainly focused on standard desktop applications. Node.js applications are considered hard to perform test reduction because of Node's asynchronous, event-driven programming model and because JavaScript is a dynamic programming language. In this paper, we present NodeSRT, a Selective Regression Testing framework for Node.js applications. By performing static and dynamic analysis, NodeSRT identifies the relationship between changed methods and tests, then reduces the regression test suite to only tests that are affected by the change to improve the execution time of the regression test suite. To evaluate our selection technique, we applied NodeSRT to two open-source projects: Uppy and Simorgh, then compared our approach with the retest-all strategy and current industry-standard SRT technique: Jest OnlyChange. The results demonstrate that NodeSRT correctly selects affected tests based on changes and is 250% faster, 450% more precise than the Jest OnlyChange.
Node.js是构建web应用程序最流行的框架之一。随着软件系统的成熟,运行整个回归测试套件的成本会变得非常高。选择性回归测试(SRT)是一种只执行测试子集的技术,回归测试套件可以更有效地检测软件故障。以前的SRT研究主要集中在标准桌面应用程序上。Node.js应用程序被认为很难执行测试减少,因为Node的异步、事件驱动的编程模型,而且JavaScript是一种动态编程语言。在本文中,我们介绍了NodeSRT,一个用于Node.js应用程序的选择性回归测试框架。通过执行静态和动态分析,NodeSRT识别更改的方法和测试之间的关系,然后将回归测试套件减少到仅受更改影响的测试,以改进回归测试套件的执行时间。为了评估我们的选择技术,我们将NodeSRT应用于两个开源项目:Uppy和Simorgh,然后将我们的方法与重新测试所有策略和当前的行业标准SRT技术:Jest OnlyChange进行比较。结果表明,NodeSRT基于更改正确地选择受影响的测试,并且比Jest OnlyChange快250%,精确450%。
{"title":"NodeSRT: A Selective Regression Testing Tool for Node.js Application","authors":"Yufeng Chen","doi":"10.1109/ICSE-Companion52605.2021.00055","DOIUrl":"https://doi.org/10.1109/ICSE-Companion52605.2021.00055","url":null,"abstract":"Node.js is one of the most popular frameworks for building web applications. As software systems mature, the cost of running their entire regression test suite can become significant. Selective Regression Testing (SRT) is a technique that executes only a subset of tests the regression test suite can detect software failures more efficiently. Previous SRT studies mainly focused on standard desktop applications. Node.js applications are considered hard to perform test reduction because of Node's asynchronous, event-driven programming model and because JavaScript is a dynamic programming language. In this paper, we present NodeSRT, a Selective Regression Testing framework for Node.js applications. By performing static and dynamic analysis, NodeSRT identifies the relationship between changed methods and tests, then reduces the regression test suite to only tests that are affected by the change to improve the execution time of the regression test suite. To evaluate our selection technique, we applied NodeSRT to two open-source projects: Uppy and Simorgh, then compared our approach with the retest-all strategy and current industry-standard SRT technique: Jest OnlyChange. The results demonstrate that NodeSRT correctly selects affected tests based on changes and is 250% faster, 450% more precise than the Jest OnlyChange.","PeriodicalId":136929,"journal":{"name":"2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-03-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126406046","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
期刊
2021 IEEE/ACM 43rd 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