首页 > 最新文献

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

英文 中文
Creating and Migrating Chatbots with Conga 用Conga创建和迁移聊天机器人
Sara Pérez-Soler, E. Guerra, J. Lara
Chatbots are agents that enable the interaction of users and software by means of written or spoken natural language conversation. Their use is growing, and many companies are starting to offer their services via chatbots, e.g., for booking, shopping or customer support. For this reason, many chatbot development tools have emerged, which makes choosing the most appropriate tool difficult. Moreover, there is hardly any support for migrating chatbots between tools. To alleviate these issues, we propose a model-driven engineering solution that includes: (i) a domain-specific language to model chatbots independently of the development tool; (ii) a recommender that suggests the most suitable development tool for the given chatbot requirements and model; (iii) code generators that synthesize the chatbot code for the selected tool; and (iv) parsers to extract chatbot models out of existing chatbot implementations. Our solution is supported by a web IDE called Conga that can be used for both chatbot creation and migration. A demo video is available at https://youtu.be/3sw1FDdZ7XY.
聊天机器人是通过书面或口头自然语言对话实现用户和软件交互的代理。它们的使用正在增长,许多公司开始通过聊天机器人提供服务,例如预订、购物或客户支持。因此,出现了许多聊天机器人开发工具,这使得选择最合适的工具变得困难。此外,几乎不支持在工具之间迁移聊天机器人。为了缓解这些问题,我们提出了一个模型驱动的工程解决方案,其中包括:(i)一个领域特定的语言来独立于开发工具对聊天机器人进行建模;(ii)为给定的聊天机器人需求和模型提供最合适的开发工具的推荐人;(iii)为所选工具合成聊天机器人代码的代码生成器;(iv)从现有的聊天机器人实现中提取聊天机器人模型的解析器。我们的解决方案是由一个名为Conga的web IDE支持的,它可以用于聊天机器人的创建和迁移。演示视频可在https://youtu.be/3sw1FDdZ7XY上获得。
{"title":"Creating and Migrating Chatbots with Conga","authors":"Sara Pérez-Soler, E. Guerra, J. Lara","doi":"10.1109/ICSE-Companion52605.2021.00030","DOIUrl":"https://doi.org/10.1109/ICSE-Companion52605.2021.00030","url":null,"abstract":"Chatbots are agents that enable the interaction of users and software by means of written or spoken natural language conversation. Their use is growing, and many companies are starting to offer their services via chatbots, e.g., for booking, shopping or customer support. For this reason, many chatbot development tools have emerged, which makes choosing the most appropriate tool difficult. Moreover, there is hardly any support for migrating chatbots between tools. To alleviate these issues, we propose a model-driven engineering solution that includes: (i) a domain-specific language to model chatbots independently of the development tool; (ii) a recommender that suggests the most suitable development tool for the given chatbot requirements and model; (iii) code generators that synthesize the chatbot code for the selected tool; and (iv) parsers to extract chatbot models out of existing chatbot implementations. Our solution is supported by a web IDE called Conga that can be used for both chatbot creation and migration. A demo video is available at https://youtu.be/3sw1FDdZ7XY.","PeriodicalId":136929,"journal":{"name":"2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132511098","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
Dataset to Study Indirectly Dependent Documentation in GitHub Repositories 用于研究GitHub存储库中间接依赖文档的数据集
Devika Sondhi, Avyakt Gupta, Salil Purandare, A. Rana, Deepanshu Kaushal, Rahul Purandare
In the research work, we have highlighted the importance of regularly updating the software documentation. For this purpose, we analyzed the function documentations indirectly dependent on other functions. This artifact provides scripts to extract the data and the final dataset containing observations obtained on manually annotating the extracted data. The details of this work may be found in the paper appearing in the technical track, titled 'On Indirectly Dependent Documentation in the Context of Code Evolution: A Study'.
在研究工作中,我们强调了定期更新软件文档的重要性。为此,我们分析了间接依赖于其他函数的函数文档。该工件提供了用于提取数据的脚本,以及包含对提取数据进行手动注释所获得的观察结果的最终数据集。这项工作的细节可以在技术轨道上的论文中找到,标题为“代码进化背景下的间接依赖文档:研究”。
{"title":"Dataset to Study Indirectly Dependent Documentation in GitHub Repositories","authors":"Devika Sondhi, Avyakt Gupta, Salil Purandare, A. Rana, Deepanshu Kaushal, Rahul Purandare","doi":"10.1109/ICSE-Companion52605.2021.00096","DOIUrl":"https://doi.org/10.1109/ICSE-Companion52605.2021.00096","url":null,"abstract":"In the research work, we have highlighted the importance of regularly updating the software documentation. For this purpose, we analyzed the function documentations indirectly dependent on other functions. This artifact provides scripts to extract the data and the final dataset containing observations obtained on manually annotating the extracted data. The details of this work may be found in the paper appearing in the technical track, titled 'On Indirectly Dependent Documentation in the Context of Code Evolution: A Study'.","PeriodicalId":136929,"journal":{"name":"2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127844380","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
Research Tools, Survey Responses, and Interview Analysis from a Case Study of Onboarding Software Teams at Microsoft 微软软件团队入职案例研究中的研究工具、调查回应和访谈分析
An Ju, Hitesh Sajnani, Scot Kelly, Kim Herzig
This repository contains the supplementary material for our paper "A Case Study of Onboarding in Software Teams: Tasks and Strategies" at ICSE 2021. It contains interview guides, surveys, anonymized survey responses, and interview analysis and quotes. We have removed open-ended questions from survey responses to protect participants' privacy. All artifacts are publically available at https://doi.org/10.5281/zenodo.4455936.
此存储库包含我们在ICSE 2021上的论文“软件团队的入职案例研究:任务和策略”的补充材料。它包含采访指南,调查,匿名调查回应,和采访分析和引用。为了保护参与者的隐私,我们从调查问卷中删除了开放式问题。所有的工件都可以在https://doi.org/10.5281/zenodo.4455936上公开获得。
{"title":"Research Tools, Survey Responses, and Interview Analysis from a Case Study of Onboarding Software Teams at Microsoft","authors":"An Ju, Hitesh Sajnani, Scot Kelly, Kim Herzig","doi":"10.1109/ICSE-Companion52605.2021.00102","DOIUrl":"https://doi.org/10.1109/ICSE-Companion52605.2021.00102","url":null,"abstract":"This repository contains the supplementary material for our paper \"A Case Study of Onboarding in Software Teams: Tasks and Strategies\" at ICSE 2021. It contains interview guides, surveys, anonymized survey responses, and interview analysis and quotes. We have removed open-ended questions from survey responses to protect participants' privacy. All artifacts are publically available at https://doi.org/10.5281/zenodo.4455936.","PeriodicalId":136929,"journal":{"name":"2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"359 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122341943","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
Program Comprehension and Code Complexity Metrics: A Replication Package of an fMRI Study 程序理解和代码复杂性度量:一个功能磁共振研究的复制包
Norman Peitek, S. Apel, Chris Parnin, A. Brechmann, J. Siegmund
In this artifact, we document our publicly shared data set of our functional magnetic resonance imaging (fMRI) study on programmers. We have conducted an fMRI study with 19 participants observing program comprehension of short code snippets at varying complexity levels. We dissected four classes of code complexity metrics and their relationship to neuronal, behavioral, and subjective correlates of program comprehension. Our data corroborate that complexity metrics can—to a limited degree—explain programmers' cognition in program comprehension. In the paper on the fMRI study, we outline several follow-up experiments investigating fine-grained effects of code complexity and describe possible refinements to code complexity metrics. We view our conducted experiment as a starting point to link code complexity metrics to neural and behavioral correlates. To enable future research to continue this line of work, we aim to provide as much support as possible to conduct similar studies with this artifact.
在这个工件中,我们记录了关于程序员的功能性磁共振成像(fMRI)研究的公开共享数据集。我们对19名参与者进行了fMRI研究,观察程序对不同复杂程度的短代码片段的理解。我们剖析了四类代码复杂性度量及其与程序理解的神经元、行为和主观相关的关系。我们的数据证实,复杂性度量可以在一定程度上解释程序员对程序理解的认知。在关于fMRI研究的论文中,我们概述了几个后续实验,研究代码复杂性的细粒度影响,并描述了代码复杂性度量的可能改进。我们将我们的实验视为将代码复杂性度量与神经和行为关联联系起来的起点。为了使未来的研究能够继续这项工作,我们的目标是提供尽可能多的支持,以使用该工件进行类似的研究。
{"title":"Program Comprehension and Code Complexity Metrics: A Replication Package of an fMRI Study","authors":"Norman Peitek, S. Apel, Chris Parnin, A. Brechmann, J. Siegmund","doi":"10.1109/ICSE-Companion52605.2021.00071","DOIUrl":"https://doi.org/10.1109/ICSE-Companion52605.2021.00071","url":null,"abstract":"In this artifact, we document our publicly shared data set of our functional magnetic resonance imaging (fMRI) study on programmers. We have conducted an fMRI study with 19 participants observing program comprehension of short code snippets at varying complexity levels. We dissected four classes of code complexity metrics and their relationship to neuronal, behavioral, and subjective correlates of program comprehension. Our data corroborate that complexity metrics can—to a limited degree—explain programmers' cognition in program comprehension. In the paper on the fMRI study, we outline several follow-up experiments investigating fine-grained effects of code complexity and describe possible refinements to code complexity metrics. We view our conducted experiment as a starting point to link code complexity metrics to neural and behavioral correlates. To enable future research to continue this line of work, we aim to provide as much support as possible to conduct similar studies with this artifact.","PeriodicalId":136929,"journal":{"name":"2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121519580","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
CIBench: A Dataset and Collection of Techniques for Build and Test Selection and Prioritization in Continuous Integration CIBench:持续集成中构建和测试选择和优先级排序的数据集和技术集合
Xianhao Jin, Francisco Servant
Continuous integration (CI) is a widely used practice in modern software engineering. Unfortunately, it is also an expensive practice — Google and Mozilla estimate their CI systems in millions of dollars. There are a number of techniques and tools designed to or having the potential to save the cost of CI or expand its benefit - reducing time to feedback. However, their benefits in some dimensions may also result in drawbacks in others. They may also be beneficial in other scenarios where they are not designed to help. Therefore, we built CIBench, a dataset and collection of techniques for build and test selection and prioritization in Continuous Integration. CIBench is based on a popular existing dataset for CI — TravisTorrent [2] and extends it in multiple ways including mining additional Travis logs, Github commits, and building dependency graphs for studied projects. This dataset allows us to replicate and evaluate existing techniques to improve CI under the same settings, to better understand the impact of applying different strategies in a more comprehensive way.
持续集成(CI)是现代软件工程中广泛应用的实践。不幸的是,这也是一种昂贵的做法——Google和Mozilla估计他们的CI系统耗资数百万美元。有许多技术和工具旨在或有潜力节省持续集成的成本或扩大其好处——减少反馈时间。然而,它们在某些方面的好处也可能导致其他方面的缺点。它们也可能在其他场景中是有益的,在这些场景中它们并没有被设计用来提供帮助。因此,我们构建了CIBench,这是一个数据集和技术集合,用于在持续集成中进行构建和测试选择和优先级排序。CIBench基于一个流行的现有CI数据集- TravisTorrent[2],并以多种方式扩展它,包括挖掘额外的Travis日志,Github提交,以及为研究项目构建依赖关系图。该数据集允许我们复制和评估在相同设置下改善CI的现有技术,以更全面的方式更好地理解应用不同策略的影响。
{"title":"CIBench: A Dataset and Collection of Techniques for Build and Test Selection and Prioritization in Continuous Integration","authors":"Xianhao Jin, Francisco Servant","doi":"10.1109/ICSE-Companion52605.2021.00070","DOIUrl":"https://doi.org/10.1109/ICSE-Companion52605.2021.00070","url":null,"abstract":"Continuous integration (CI) is a widely used practice in modern software engineering. Unfortunately, it is also an expensive practice — Google and Mozilla estimate their CI systems in millions of dollars. There are a number of techniques and tools designed to or having the potential to save the cost of CI or expand its benefit - reducing time to feedback. However, their benefits in some dimensions may also result in drawbacks in others. They may also be beneficial in other scenarios where they are not designed to help. Therefore, we built CIBench, a dataset and collection of techniques for build and test selection and prioritization in Continuous Integration. CIBench is based on a popular existing dataset for CI — TravisTorrent [2] and extends it in multiple ways including mining additional Travis logs, Github commits, and building dependency graphs for studied projects. This dataset allows us to replicate and evaluate existing techniques to improve CI under the same settings, to better understand the impact of applying different strategies in a more comprehensive way.","PeriodicalId":136929,"journal":{"name":"2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131378552","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
Reactive Synthesis with Spectra: A Tutorial 反应合成与光谱:教程
S. Maoz, Jan Oliver Ringert
Spectra is a formal specification language specifically tailored for use in the context of reactive synthesis, an automated procedure to obtain a correct-by-construction reactive system from its temporal logic specification. Spectra comes with the Spectra Tools, a set of analyses, including a synthesizer to obtain a correct-by-construction implementation, several means for executing the resulting controller, and additional analyses aimed at helping engineers write higher-quality specifications. This hands-on tutorial will introduce participants to the language and the tool set, using examples and exercises, covering an end-to-end process from specification writing to synthesis to execution. The tutorial may be of interest to software engineers and researchers who are interested in the potential applications of formal methods to software engineering.
Spectra是一种正式的规范语言,专门用于反应性合成的上下文中,反应性合成是一种从其时间逻辑规范中获得构造正确的反应性系统的自动化过程。Spectra随附光谱工具,一组分析,包括一个合成器,以获得正确的结构实现,几种执行结果控制器的方法,以及旨在帮助工程师编写更高质量规范的附加分析。本实践教程将使用示例和练习向参与者介绍语言和工具集,涵盖从规范编写到合成再到执行的端到端过程。对形式化方法在软件工程中的潜在应用感兴趣的软件工程师和研究人员可能会对本教程感兴趣。
{"title":"Reactive Synthesis with Spectra: A Tutorial","authors":"S. Maoz, Jan Oliver Ringert","doi":"10.1109/ICSE-Companion52605.2021.00136","DOIUrl":"https://doi.org/10.1109/ICSE-Companion52605.2021.00136","url":null,"abstract":"Spectra is a formal specification language specifically tailored for use in the context of reactive synthesis, an automated procedure to obtain a correct-by-construction reactive system from its temporal logic specification. Spectra comes with the Spectra Tools, a set of analyses, including a synthesizer to obtain a correct-by-construction implementation, several means for executing the resulting controller, and additional analyses aimed at helping engineers write higher-quality specifications. This hands-on tutorial will introduce participants to the language and the tool set, using examples and exercises, covering an end-to-end process from specification writing to synthesis to execution. The tutorial may be of interest to software engineers and researchers who are interested in the potential applications of formal methods to software engineering.","PeriodicalId":136929,"journal":{"name":"2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115578685","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
PASTA: Synthesizing Object State Transformers for Dynamic Software Updates 动态软件更新的综合对象状态转换器
Ze-Yi Zhao, Yanyan Jiang, Chang Xu, Tianxiao Gu, Xiaoxing Ma
Object transformation (upgrading heap objects to their new-version counterparts) is a crucial step in dynamic software update (DSU). However, providing non-trivial object transformers for complex software updates can be difficult for software developers and upgrade maintainers. This paper presents the design and implementation of PASTA, a tool for automatic object transformer synthesis.
对象转换(将堆对象升级到新版本的对应对象)是动态软件更新(DSU)中的关键步骤。然而,对于软件开发人员和升级维护者来说,为复杂的软件更新提供重要的对象转换器是很困难的。本文介绍了对象变压器自动合成工具PASTA的设计与实现。
{"title":"PASTA: Synthesizing Object State Transformers for Dynamic Software Updates","authors":"Ze-Yi Zhao, Yanyan Jiang, Chang Xu, Tianxiao Gu, Xiaoxing Ma","doi":"10.1109/ICSE-Companion52605.2021.00094","DOIUrl":"https://doi.org/10.1109/ICSE-Companion52605.2021.00094","url":null,"abstract":"Object transformation (upgrading heap objects to their new-version counterparts) is a crucial step in dynamic software update (DSU). However, providing non-trivial object transformers for complex software updates can be difficult for software developers and upgrade maintainers. This paper presents the design and implementation of PASTA, a tool for automatic object transformer synthesis.","PeriodicalId":136929,"journal":{"name":"2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122167240","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
Testing Object Detection for Autonomous Driving Systems via 3D Reconstruction 基于三维重建的自动驾驶系统目标检测测试
Jinyan Shao
Object detection is to identify objects from images. In autonomous driving systems, object detection serves as an intermediate module, which is used as the input of autonomous decisions for vehicles. That is, the accuracy of autonomous decisions relies on the object detection. The state-of-the-art object detection modules are designed based on Deep Neural Networks (DNNs). It is difficult to employ white-box testing on DNNs since the output of a single neuron is inexplicable. Existing work conducted metamorphic testing for object detection via image synthesis: the detected object in the original image should be detected in the new synthetic image. However, a synthetic image may not look real from humans' perspective. Even the object detection module fails in detecting such synthetic image, the failure may not reflect the ability of object detection. In this paper, we propose an automatic approach to testing object detection via 3D reconstruction of vehicles in real photos. The 3D reconstruction is developed via vanishing point estimation in photos and heuristic based image insertion. Our approach adds new objects to blank spaces in photos to synthesize images. For example, a new vehicle can be added to a photo of a road and vehicles. In this approach, the output synthetic images are expected to be more natural-looking than randomly synthesizing images. The experiment is conducting on 500 driving photos from the Apollo autonomous driving dataset.
目标检测就是从图像中识别出目标。在自动驾驶系统中,目标检测作为中间模块,作为车辆自主决策的输入。也就是说,自主决策的准确性依赖于目标检测。最先进的目标检测模块是基于深度神经网络(dnn)设计的。由于单个神经元的输出是无法解释的,因此很难对dnn进行白盒测试。现有工作对图像合成的目标检测进行了变形测试:原图像中检测到的目标需要在新的合成图像中检测到。然而,从人类的角度来看,合成图像可能看起来并不真实。即使目标检测模块检测不到这样的合成图像,也不能反映出目标检测的能力。在本文中,我们提出了一种通过在真实照片中对车辆进行三维重建来自动检测目标的方法。通过对照片的消失点估计和基于启发式的图像插入进行三维重建。我们的方法是在照片的空白区域添加新的对象来合成图像。例如,可以在道路和车辆的照片中添加新的车辆。在这种方法中,期望输出的合成图像比随机合成的图像看起来更自然。该实验是在阿波罗自动驾驶数据集中的500张驾驶照片上进行的。
{"title":"Testing Object Detection for Autonomous Driving Systems via 3D Reconstruction","authors":"Jinyan Shao","doi":"10.1109/ICSE-Companion52605.2021.00052","DOIUrl":"https://doi.org/10.1109/ICSE-Companion52605.2021.00052","url":null,"abstract":"Object detection is to identify objects from images. In autonomous driving systems, object detection serves as an intermediate module, which is used as the input of autonomous decisions for vehicles. That is, the accuracy of autonomous decisions relies on the object detection. The state-of-the-art object detection modules are designed based on Deep Neural Networks (DNNs). It is difficult to employ white-box testing on DNNs since the output of a single neuron is inexplicable. Existing work conducted metamorphic testing for object detection via image synthesis: the detected object in the original image should be detected in the new synthetic image. However, a synthetic image may not look real from humans' perspective. Even the object detection module fails in detecting such synthetic image, the failure may not reflect the ability of object detection. In this paper, we propose an automatic approach to testing object detection via 3D reconstruction of vehicles in real photos. The 3D reconstruction is developed via vanishing point estimation in photos and heuristic based image insertion. Our approach adds new objects to blank spaces in photos to synthesize images. For example, a new vehicle can be added to a photo of a road and vehicles. In this approach, the output synthetic images are expected to be more natural-looking than randomly synthesizing images. The experiment is conducting on 500 driving photos from the Apollo autonomous driving dataset.","PeriodicalId":136929,"journal":{"name":"2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"73 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127338866","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
IMGDroid: A Static Analyzer for Detecting Image Loading Defects in Android Applications IMGDroid:用于检测Android应用程序中图像加载缺陷的静态分析器
Wei Song, Mengqi Han, Jeff Huang
We summarize five anti-patterns of image loading defects in Android apps, including image passing by intent, image decoding without resizing, local image loading without permission, repeated decoding without caching, and image decoding in UI thread. Based on the anti-patterns, we propose a static analyzer, IMGDroid, to automatically and effectively detect such defects. Readers can access our artifacts from GitHub and Zenodo, and can run IMGDroid to detect image loading defects in Android apps; so we are applying for Reusable and Available Badges. We implement IMGDroid in Java, and perform the experiments on a computer with Windows 10, JDK 1.8, and Android 7.1.1. Therefore, reviewers are required to be familiar with Java and proficient in using Eclipse.
我们总结了Android应用中图片加载缺陷的五种反模式,包括:意图传递图片、不调整大小的图片解码、未经许可的本地图片加载、不缓存的重复解码、UI线程的图像解码。在反模式的基础上,提出了一种静态分析器IMGDroid来自动有效地检测此类缺陷。读者可以从GitHub和Zenodo访问我们的工件,并可以运行IMGDroid来检测Android应用程序中的图像加载缺陷;所以我们正在申请可重复使用和可用的徽章。我们在Java中实现了IMGDroid,并在Windows 10、JDK 1.8和Android 7.1.1的计算机上进行了实验。因此,审稿人需要熟悉Java并熟练使用Eclipse。
{"title":"IMGDroid: A Static Analyzer for Detecting Image Loading Defects in Android Applications","authors":"Wei Song, Mengqi Han, Jeff Huang","doi":"10.1109/ICSE-Companion52605.2021.00069","DOIUrl":"https://doi.org/10.1109/ICSE-Companion52605.2021.00069","url":null,"abstract":"We summarize five anti-patterns of image loading defects in Android apps, including image passing by intent, image decoding without resizing, local image loading without permission, repeated decoding without caching, and image decoding in UI thread. Based on the anti-patterns, we propose a static analyzer, IMGDroid, to automatically and effectively detect such defects. Readers can access our artifacts from GitHub and Zenodo, and can run IMGDroid to detect image loading defects in Android apps; so we are applying for Reusable and Available Badges. We implement IMGDroid in Java, and perform the experiments on a computer with Windows 10, JDK 1.8, and Android 7.1.1. Therefore, reviewers are required to be familiar with Java and proficient in using Eclipse.","PeriodicalId":136929,"journal":{"name":"2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128743506","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
Replication Package for Input Algebras 输入代数的复制包
Rahul Gopinath, Hamed Nemati, A. Zeller
Grammar-based fuzzers are effective and efficient. They can produce an infinite number of syntactically valid test inputs, which can be used to explore the input space without bias. However, it is notoriously difficult to generate focused inputs to induce a specific behavior such as failure without affecting their effectiveness. This is the fuzzer taming problem. In our paper Input Algebras, we show how one can specialize the grammar towards inclusion or exclusion of specific patterns, and their arbitrary boolean combinations. The resulting specialized grammars can be used both for focused fuzzing and also as validators that can indicate the presence or absence of specific behavior-inducing input patterns. In our evaluation of real-world bugs, we show that specialized grammars are accurate both in producing and validating targeted inputs. We also provide a completely worked out Jupyter notebook that explains our algorithms in detail along with a sufficient number of examples. Further, we describe in detail how to replicate our evaluation.
基于语法的模糊器是有效和高效的。它们可以产生无限数量的语法上有效的测试输入,可以用来无偏见地探索输入空间。然而,众所周知,很难产生集中的输入,以诱导特定的行为,如失败,而不影响其有效性。这是一个驯服模糊者的问题。在我们的论文输入代数中,我们展示了如何专门化语法以包含或排除特定模式,以及它们的任意布尔组合。由此产生的专门化语法既可用于集中模糊测试,也可作为验证器,用于指示是否存在特定的行为诱导输入模式。在我们对现实世界bug的评估中,我们展示了专门的语法在生成和验证目标输入时都是准确的。我们还提供了一个完整的Jupyter笔记本,详细解释了我们的算法以及足够数量的示例。此外,我们详细描述了如何复制我们的评估。
{"title":"Replication Package for Input Algebras","authors":"Rahul Gopinath, Hamed Nemati, A. Zeller","doi":"10.1109/ICSE-Companion52605.2021.00098","DOIUrl":"https://doi.org/10.1109/ICSE-Companion52605.2021.00098","url":null,"abstract":"Grammar-based fuzzers are effective and efficient. They can produce an infinite number of syntactically valid test inputs, which can be used to explore the input space without bias. However, it is notoriously difficult to generate focused inputs to induce a specific behavior such as failure without affecting their effectiveness. This is the fuzzer taming problem. In our paper Input Algebras, we show how one can specialize the grammar towards inclusion or exclusion of specific patterns, and their arbitrary boolean combinations. The resulting specialized grammars can be used both for focused fuzzing and also as validators that can indicate the presence or absence of specific behavior-inducing input patterns. In our evaluation of real-world bugs, we show that specialized grammars are accurate both in producing and validating targeted inputs. We also provide a completely worked out Jupyter notebook that explains our algorithms in detail along with a sufficient number of examples. Further, we describe in detail how to replicate our evaluation.","PeriodicalId":136929,"journal":{"name":"2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"63 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116922342","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
期刊
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