首页 > 最新文献

2019 IEEE International Conference on Software Maintenance and Evolution (ICSME)最新文献

英文 中文
AutoMR: Automatic Discovery and Cleansing of Numerical Metamorphic Relations AutoMR:数值变质关系的自动发现和清理
Pub Date : 2019-09-01 DOI: 10.1109/ICSME.2019.00036
Bo Zhang, Hongyu Zhang, Junjie Chen, Dan Hao, P. Moscato
This artifact is related to our Research Track paper that is accepted at ICSME 2019 [1]. Metamorphic relations (MRs) describe the invariant relationships between program inputs and outputs. We propose AutoMR, a novel method for systematically inferring and cleansing MRs. AutoMR can discover various types of equality and inequality MRs through a search method (particle swarm optimization). It also employs matrix singular-value decomposition and constraint solving techniques to remove the redundant MRs in the search results. Our experiments on 37 numerical programs show that AutoMR can effectively infer accurate and succinct MRs and outperform the state-of-the-art method. Furthermore, we show that the discovered MRs have high fault detection ability in mutation testing and differential testing.
该工件与我们在ICSME 2019上被接受的研究跟踪论文有关[1]。变质关系(MRs)描述了程序输入和输出之间的不变关系。我们提出了一种系统地推断和清洗MRs的新方法AutoMR。AutoMR可以通过一种搜索方法(粒子群优化)发现各种类型的相等和不相等MRs。利用矩阵奇异值分解和约束求解技术去除搜索结果中的冗余MRs。我们在37个数值程序上的实验表明,AutoMR可以有效地推断出准确和简洁的MRs,并且优于最先进的方法。此外,我们还证明了所发现的MRs在突变检测和差分检测中具有较高的故障检测能力。
{"title":"AutoMR: Automatic Discovery and Cleansing of Numerical Metamorphic Relations","authors":"Bo Zhang, Hongyu Zhang, Junjie Chen, Dan Hao, P. Moscato","doi":"10.1109/ICSME.2019.00036","DOIUrl":"https://doi.org/10.1109/ICSME.2019.00036","url":null,"abstract":"This artifact is related to our Research Track paper that is accepted at ICSME 2019 [1]. Metamorphic relations (MRs) describe the invariant relationships between program inputs and outputs. We propose AutoMR, a novel method for systematically inferring and cleansing MRs. AutoMR can discover various types of equality and inequality MRs through a search method (particle swarm optimization). It also employs matrix singular-value decomposition and constraint solving techniques to remove the redundant MRs in the search results. Our experiments on 37 numerical programs show that AutoMR can effectively infer accurate and succinct MRs and outperform the state-of-the-art method. Furthermore, we show that the discovered MRs have high fault detection ability in mutation testing and differential testing.","PeriodicalId":106748,"journal":{"name":"2019 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2019-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124885165","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
A Longitudinal Analysis of Bug Handling Across Eclipse Releases 跨Eclipse版本的Bug处理的纵向分析
Pub Date : 2019-09-01 DOI: 10.1109/ICSME.2019.00010
Zeinab Abou Khalil, Eleni Constantinou, T. Mens, L. Duchien, Clément Quinton
Large open source software projects, like Eclipse, follow a continuous software development process, with a regular release cycle. During each release, new bugs are reported, triaged and resolved. Previous studies have focused on various aspects of bug fixing, such as bug triaging, bug prediction, and bug process analysis. Most studies, however, do not distinguish between what happens before and after each scheduled release. We are also unaware of studies that compare bug fixing activities across different project releases. This paper presents an empirical analysis of the bug handling process of Eclipse over a 15-year period, considering 138K bug reports from Bugzilla, including 16 annual Eclipse releases and two quarterly releases in 2018. We compare the bug resolution rate, the fixing rate, the bug triaging time and the fixing time before and after each release date, and we study the possible impact of "release pressure". Among others, our results reveal that Eclipse bug handling activity is improving over time, with an important decrease in the number of reported bugs before releases, an increase in the bug fixing rate and an increasingly balanced bug handling workload before and after releases. The recent transition from an annual to a quarterly release cycle continued to improve the bug handling process.
大型开源软件项目,如Eclipse,遵循一个连续的软件开发过程,有一个规则的发布周期。在每次发布期间,都会报告、分类和解决新的错误。以前的研究集中在bug修复的各个方面,如bug分类、bug预测和bug过程分析。然而,大多数研究并没有区分每次计划释放之前和之后发生的事情。我们也没有意识到对不同项目版本的bug修复活动进行比较的研究。本文基于Bugzilla提供的138K个bug报告,对Eclipse 15年来的bug处理过程进行了实证分析,其中包括16个年度Eclipse版本和2018年的两个季度版本。我们比较了每个发布日期前后的bug解决率、修复率、bug分类时间和修复时间,研究了“发布压力”可能带来的影响。其中,我们的结果显示Eclipse错误处理活动随着时间的推移而改进,在发布之前报告的错误数量显著减少,错误修复率增加,并且在发布之前和之后的错误处理工作负载越来越平衡。最近从年度发布周期到季度发布周期的转变继续改进了错误处理过程。
{"title":"A Longitudinal Analysis of Bug Handling Across Eclipse Releases","authors":"Zeinab Abou Khalil, Eleni Constantinou, T. Mens, L. Duchien, Clément Quinton","doi":"10.1109/ICSME.2019.00010","DOIUrl":"https://doi.org/10.1109/ICSME.2019.00010","url":null,"abstract":"Large open source software projects, like Eclipse, follow a continuous software development process, with a regular release cycle. During each release, new bugs are reported, triaged and resolved. Previous studies have focused on various aspects of bug fixing, such as bug triaging, bug prediction, and bug process analysis. Most studies, however, do not distinguish between what happens before and after each scheduled release. We are also unaware of studies that compare bug fixing activities across different project releases. This paper presents an empirical analysis of the bug handling process of Eclipse over a 15-year period, considering 138K bug reports from Bugzilla, including 16 annual Eclipse releases and two quarterly releases in 2018. We compare the bug resolution rate, the fixing rate, the bug triaging time and the fixing time before and after each release date, and we study the possible impact of \"release pressure\". Among others, our results reveal that Eclipse bug handling activity is improving over time, with an important decrease in the number of reported bugs before releases, an increase in the bug fixing rate and an increasingly balanced bug handling workload before and after releases. The recent transition from an annual to a quarterly release cycle continued to improve the bug handling process.","PeriodicalId":106748,"journal":{"name":"2019 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2019-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125047048","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}
引用次数: 11
Enhancing Eye Tracking of Source Code: A Specialized Fixation Filter for Source Code 增强源代码眼动追踪:一种专门的源代码固定滤波器
Pub Date : 2019-09-01 DOI: 10.1109/ICSME.2019.00098
Drew T. Guarnera
The present state of the art in gaze processing algorithms, for eye tracking data, targets general purpose application in studies using a variety of stimuli (prose, images, or video). This work proposes the development of a gaze processing algorithm specialized to support eye tracking in the field of software engineering. Enhancements to fixation identification with respect to source code tokens can have wide reaching implications for researchers and practitioners using eye tracking with software engineering tasks. This work will require infrastructure improvements to the iTrace framework and additional study to contextualize the relevance of individual source code tokens during comprehension activities. Details concerning the nature of the improvements and a plan research and development on this problem is presented.
眼动追踪数据的注视处理算法的当前状态是针对使用各种刺激(散文、图像或视频)的研究中的通用应用。本文提出了一种专门用于软件工程领域眼动追踪的注视处理算法。对于使用眼动追踪和软件工程任务的研究人员和实践者来说,增强对源代码令牌的注视识别可以产生广泛的影响。这项工作将需要改进iTrace框架的基础设施,并在理解活动中对单个源代码令牌的相关性进行额外的研究。详细介绍了改进的性质和对这一问题的研究与开发计划。
{"title":"Enhancing Eye Tracking of Source Code: A Specialized Fixation Filter for Source Code","authors":"Drew T. Guarnera","doi":"10.1109/ICSME.2019.00098","DOIUrl":"https://doi.org/10.1109/ICSME.2019.00098","url":null,"abstract":"The present state of the art in gaze processing algorithms, for eye tracking data, targets general purpose application in studies using a variety of stimuli (prose, images, or video). This work proposes the development of a gaze processing algorithm specialized to support eye tracking in the field of software engineering. Enhancements to fixation identification with respect to source code tokens can have wide reaching implications for researchers and practitioners using eye tracking with software engineering tasks. This work will require infrastructure improvements to the iTrace framework and additional study to contextualize the relevance of individual source code tokens during comprehension activities. Details concerning the nature of the improvements and a plan research and development on this problem is presented.","PeriodicalId":106748,"journal":{"name":"2019 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2019-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126180619","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
How the Experience of Development Teams Relates to Assertion Density of Test Classes 开发团队的经验如何与测试类的断言密度相关
Pub Date : 2019-09-01 DOI: 10.1109/ICSME.2019.00034
Gemma Catolino, Fabio Palomba, A. Zaidman, F. Ferrucci
The impact of developers' experience on several development practices has been widely investigated in the past. One of the most promising research fields is software testing, as many researchers found significant correlations between developers' experience and testing effectiveness. In this paper, we aim at further studying this relation, by focusing on how development teams' experience is associated with the assertion density, i.e., the number of assertions per test class KLOC, that has previously been shown as an effective way to decrease fault density. We perform a mixed-methods empirical study. First, we devise a statistical model relating development teams' experience and other control factors to the assertion density of test classes belonging to 12 software projects. This model enables us to investigate whether experience comes out as a statistically significant factor to explain assertion density. Second, we contrast the statistical findings with a survey study conducted with 57 developers, who were asked their opinions on how developer's experience is related to the way they add assertions in test code. Our findings suggest the existence of a relationship: on the one hand, the development team's experience is a statistically significant factor in most of the systems that we have investigated; on the other hand, developers confirm the importance of experience and team composition for the effective testing of production code.
开发人员的经验对几种开发实践的影响在过去已经被广泛地研究过。最有前途的研究领域之一是软件测试,因为许多研究人员发现开发人员的经验和测试效率之间存在显著的相关性。在本文中,我们的目标是进一步研究这种关系,通过关注开发团队的经验如何与断言密度相关联,即,每个测试类KLOC的断言数量,这已经被证明是降低错误密度的有效方法。我们进行了一个混合方法的实证研究。首先,我们设计了一个统计模型,将开发团队的经验和其他控制因素与属于12个软件项目的测试类的断言密度联系起来。这个模型使我们能够调查经验是否作为一个统计上显著的因素来解释断言密度。其次,我们将统计结果与对57名开发人员进行的调查研究进行对比,他们被问及开发人员的经验与他们在测试代码中添加断言的方式之间的关系。我们的发现表明了一种关系的存在:一方面,开发团队的经验在我们所调查的大多数系统中是一个统计上重要的因素;另一方面,开发人员确认经验和团队组成对于产品代码的有效测试的重要性。
{"title":"How the Experience of Development Teams Relates to Assertion Density of Test Classes","authors":"Gemma Catolino, Fabio Palomba, A. Zaidman, F. Ferrucci","doi":"10.1109/ICSME.2019.00034","DOIUrl":"https://doi.org/10.1109/ICSME.2019.00034","url":null,"abstract":"The impact of developers' experience on several development practices has been widely investigated in the past. One of the most promising research fields is software testing, as many researchers found significant correlations between developers' experience and testing effectiveness. In this paper, we aim at further studying this relation, by focusing on how development teams' experience is associated with the assertion density, i.e., the number of assertions per test class KLOC, that has previously been shown as an effective way to decrease fault density. We perform a mixed-methods empirical study. First, we devise a statistical model relating development teams' experience and other control factors to the assertion density of test classes belonging to 12 software projects. This model enables us to investigate whether experience comes out as a statistically significant factor to explain assertion density. Second, we contrast the statistical findings with a survey study conducted with 57 developers, who were asked their opinions on how developer's experience is related to the way they add assertions in test code. Our findings suggest the existence of a relationship: on the one hand, the development team's experience is a statistically significant factor in most of the systems that we have investigated; on the other hand, developers confirm the importance of experience and team composition for the effective testing of production code.","PeriodicalId":106748,"journal":{"name":"2019 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2019-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122687428","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}
引用次数: 19
Same App, Different Countries: A Preliminary User Reviews Study on Most Downloaded iOS Apps 同一款应用,不同国家:多数iOS应用下载用户评价研究
Pub Date : 2019-09-01 DOI: 10.1109/ICSME.2019.00017
Kamonphop Srisopha, C. Phonsom, Keng-Nien Lin, B. Boehm
Prior work on mobile app reviews has demonstrated that user reviews contain a wealth of information and are seen as a potential source of requirements. However, most of the studies done in this area mainly focused on mining and analyzing user reviews from the US App Store, leaving reviews of users from other countries unexplored. In this paper, we seek to understand if the perception of the same apps between users from other countries and that from the US differs through analyzing user reviews. We retrieve 300,643 user reviews of the 15 most downloaded iOS apps of 2018, published directly by Apple, from nine English-speaking countries over the course of 5 months. We manually classify 3,358 reviews into several software quality and improvement factors. We leverage a random forest based algorithm to identify factors that can be used to differentiate reviews between the US and other countries. Our preliminary results show that all countries have some factors that are proportionally inconsistent with the US.
之前关于手机应用评论的研究表明,用户评论包含大量信息,并被视为潜在的需求来源。然而,这一领域的大多数研究主要集中于挖掘和分析美国App Store的用户评论,而忽略了其他国家用户的评论。在本文中,我们试图通过分析用户评论来了解其他国家和美国用户对同一款应用的看法是否存在差异。在5个月的时间里,我们从9个英语国家检索了2018年下载量最高的15款iOS应用的300,643条用户评论,这些应用是由苹果直接发布的。我们手动地将3358个评论分为几个软件质量和改进因素。我们利用基于随机森林的算法来识别可用于区分美国和其他国家评论的因素。我们的初步结果表明,所有国家都有一些与美国比例不一致的因素。
{"title":"Same App, Different Countries: A Preliminary User Reviews Study on Most Downloaded iOS Apps","authors":"Kamonphop Srisopha, C. Phonsom, Keng-Nien Lin, B. Boehm","doi":"10.1109/ICSME.2019.00017","DOIUrl":"https://doi.org/10.1109/ICSME.2019.00017","url":null,"abstract":"Prior work on mobile app reviews has demonstrated that user reviews contain a wealth of information and are seen as a potential source of requirements. However, most of the studies done in this area mainly focused on mining and analyzing user reviews from the US App Store, leaving reviews of users from other countries unexplored. In this paper, we seek to understand if the perception of the same apps between users from other countries and that from the US differs through analyzing user reviews. We retrieve 300,643 user reviews of the 15 most downloaded iOS apps of 2018, published directly by Apple, from nine English-speaking countries over the course of 5 months. We manually classify 3,358 reviews into several software quality and improvement factors. We leverage a random forest based algorithm to identify factors that can be used to differentiate reviews between the US and other countries. Our preliminary results show that all countries have some factors that are proportionally inconsistent with the US.","PeriodicalId":106748,"journal":{"name":"2019 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2019-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114201853","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}
引用次数: 6
Automatic Examining of Software Architectures on Mobile Applications Codebases 基于移动应用程序代码库的软件架构自动检测
Pub Date : 2019-09-01 DOI: 10.1109/ICSME.2019.00094
D. Dobrean
Mobile applications have grown to become complex software systems and some of the most used pieces of software by end users all around the world. With the increase in their complexity, software architecture has become an important topic and a pressure point in their development lifecycle. The purpose of this work is to define an automatic method for extracting and examining the software architecture of mobile applications by leveraging the use of Software Development Kits (SDKs) and Artificial Intelligence algorithms. The proposed system is used for finding architectural issues on the analysed codebase early in the development phase and provides insightful information for both software developers, architects as well as for the management team.
移动应用程序已经发展成为复杂的软件系统,是世界各地终端用户最常用的软件之一。随着其复杂性的增加,软件体系结构已成为其开发生命周期中的一个重要主题和压力点。这项工作的目的是通过利用软件开发工具包(sdk)和人工智能算法,定义一种自动提取和检查移动应用程序软件架构的方法。建议的系统用于在开发阶段的早期发现分析过的代码库中的架构问题,并为软件开发人员、架构师以及管理团队提供有见地的信息。
{"title":"Automatic Examining of Software Architectures on Mobile Applications Codebases","authors":"D. Dobrean","doi":"10.1109/ICSME.2019.00094","DOIUrl":"https://doi.org/10.1109/ICSME.2019.00094","url":null,"abstract":"Mobile applications have grown to become complex software systems and some of the most used pieces of software by end users all around the world. With the increase in their complexity, software architecture has become an important topic and a pressure point in their development lifecycle. The purpose of this work is to define an automatic method for extracting and examining the software architecture of mobile applications by leveraging the use of Software Development Kits (SDKs) and Artificial Intelligence algorithms. The proposed system is used for finding architectural issues on the analysed codebase early in the development phase and provides insightful information for both software developers, architects as well as for the management team.","PeriodicalId":106748,"journal":{"name":"2019 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2019-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128773766","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
Adoption, Support, and Challenges of Infrastructure-as-Code: Insights from Industry 基础设施即代码的采用、支持和挑战:来自行业的见解
Pub Date : 2019-09-01 DOI: 10.1109/ICSME.2019.00092
M. Guerriero, Martin Garriga, D. Tamburri, Fabio Palomba
Infrastructure-as-code (IaC) is the DevOps tactic of managing and provisioning infrastructure through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools. From a maintenance and evolution perspective, the topic has picked the interest of practitioners and academics alike, given the relative scarcity of supporting patterns, best practices, tools, and software engineering techniques. Using the data coming from 44 semistructured interviews to senior developers of as many companies, in this paper we shed light on the state of the practice in the adoption of IaC and the key software engineering challenges in the field. Particularly, we investigate (i) how practitioners adopt and develop IaC, (ii) which support is currently available, i.e., the typically used tools and their advantages/disadvantages, and (iii) what are the practitioner's needs when dealing with IaC development, maintenance, and evolution. Our findings clearly highlight the need for more research in the field: the support provided by currently available tools is still limited, and developers feel the need of novel techniques for testing and maintaining IaC code.
基础设施即代码(IaC)是DevOps通过机器可读的定义文件而不是物理硬件配置或交互式配置工具来管理和供应基础设施的策略。从维护和进化的角度来看,这个主题引起了实践者和学者的兴趣,因为支持模式、最佳实践、工具和软件工程技术相对稀缺。通过对许多公司的高级开发人员进行44次半结构化访谈的数据,在本文中,我们阐明了采用IaC的实践状态以及该领域的关键软件工程挑战。特别是,我们调查了(i)从业者如何采用和开发IaC, (ii)当前可用的支持,即,典型使用的工具及其优点/缺点,以及(iii)从业者在处理IaC开发,维护和演变时需要什么。我们的发现清楚地强调了在该领域进行更多研究的必要性:目前可用的工具提供的支持仍然有限,开发人员感到需要新的技术来测试和维护IaC代码。
{"title":"Adoption, Support, and Challenges of Infrastructure-as-Code: Insights from Industry","authors":"M. Guerriero, Martin Garriga, D. Tamburri, Fabio Palomba","doi":"10.1109/ICSME.2019.00092","DOIUrl":"https://doi.org/10.1109/ICSME.2019.00092","url":null,"abstract":"Infrastructure-as-code (IaC) is the DevOps tactic of managing and provisioning infrastructure through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools. From a maintenance and evolution perspective, the topic has picked the interest of practitioners and academics alike, given the relative scarcity of supporting patterns, best practices, tools, and software engineering techniques. Using the data coming from 44 semistructured interviews to senior developers of as many companies, in this paper we shed light on the state of the practice in the adoption of IaC and the key software engineering challenges in the field. Particularly, we investigate (i) how practitioners adopt and develop IaC, (ii) which support is currently available, i.e., the typically used tools and their advantages/disadvantages, and (iii) what are the practitioner's needs when dealing with IaC development, maintenance, and evolution. Our findings clearly highlight the need for more research in the field: the support provided by currently available tools is still limited, and developers feel the need of novel techniques for testing and maintaining IaC code.","PeriodicalId":106748,"journal":{"name":"2019 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2019-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128586461","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}
引用次数: 59
Kraken-Mobile: Cross-Device Interaction-Based Testing of Android Apps Kraken-Mobile: Android应用的跨设备交互测试
Pub Date : 2019-09-01 DOI: 10.1109/ICSME.2019.00071
William Ravelo-Méndez, Camilo Escobar-Velásquez, M. Linares-Vásquez
Mobile applications that involve the interaction of two or more users are becoming more common nowadays, and the demand of good performance and availability by their users is increasing. This makes testing and automation of processes essential for delivering high-quality cross-device apps. In this paper, we present Kraken, a cross-device testing tool that enables a tester to write, run, and validate test scenarios that involve the interaction of more than two devices as well as its underlying implementation. The proposed tool uses APKs as input along with tests scripts wrote using the Gherkin syntax. Kraken is publicly available on GitHub https://thesoftwaredesignlab.github.io/KrakenMobile/ Videos: https://www.youtube.com/playlist?list=PLF5U8kfVgRcJ3RCHt7cWmwlqN93brbVW-
如今,涉及两个或多个用户交互的移动应用程序变得越来越普遍,用户对良好性能和可用性的需求也在增加。这使得测试和流程自动化对于交付高质量的跨设备应用程序至关重要。在本文中,我们介绍了Kraken,一个跨设备测试工具,它使测试人员能够编写、运行和验证涉及两个以上设备及其底层实现的交互的测试场景。建议的工具使用apk作为输入,以及使用Gherkin语法编写的测试脚本。Kraken在GitHub上公开发布https://thesoftwaredesignlab.github.io/KrakenMobile/ Videos: https://www.youtube.com/playlist?list=PLF5U8kfVgRcJ3RCHt7cWmwlqN93brbVW-
{"title":"Kraken-Mobile: Cross-Device Interaction-Based Testing of Android Apps","authors":"William Ravelo-Méndez, Camilo Escobar-Velásquez, M. Linares-Vásquez","doi":"10.1109/ICSME.2019.00071","DOIUrl":"https://doi.org/10.1109/ICSME.2019.00071","url":null,"abstract":"Mobile applications that involve the interaction of two or more users are becoming more common nowadays, and the demand of good performance and availability by their users is increasing. This makes testing and automation of processes essential for delivering high-quality cross-device apps. In this paper, we present Kraken, a cross-device testing tool that enables a tester to write, run, and validate test scenarios that involve the interaction of more than two devices as well as its underlying implementation. The proposed tool uses APKs as input along with tests scripts wrote using the Gherkin syntax. Kraken is publicly available on GitHub https://thesoftwaredesignlab.github.io/KrakenMobile/ Videos: https://www.youtube.com/playlist?list=PLF5U8kfVgRcJ3RCHt7cWmwlqN93brbVW-","PeriodicalId":106748,"journal":{"name":"2019 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2019-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116364732","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
Know-How in Programming Tasks: From Textual Tutorials to Task-Oriented Knowledge Graph 编程任务中的知识:从文本教程到面向任务的知识图谱
Pub Date : 2019-09-01 DOI: 10.1109/ICSME.2019.00039
Jiamou Sun, Zhenchang Xing, Rui Chu, Heilai Bai, Jinshui Wang, Xin Peng
Accomplishing a program task usually involves performing multiple activities in a logical order. Task-solving activities may have different relationships, such as subactivityof, precede-follow, and different attributes, such as location, condition, API, code. We refer to task-solving activities and their relationships and attributes as know-how knowledge. Programming task know-how knowledge is commonly documented in semi-structured textual tutorials. A formative study of the 20 top-viewed Android-tagged how-to questions on Stack Overflow suggests that developers are faced with three information barriers (incoherent modeling of task intent, tutorial information overload and unstructured task activity description) for effectively discovering and understanding task-solving knowledge in textual tutorials. Knowledge graph has been shown to be effective in representing relational knowledge and supporting knowledge search in a structured way. Unfortunately, existing knowledge graphs extract only know-what information (e.g., APIs, API caveats and API dependencies) from software documentation. In this paper, we devise open information extraction (OpenIE) techniques to extract candidates for task activities, activity attributes and activity relationships from programming task tutorials. The resulting knowledge graph, TaskKG, includes a hierarchical taxonomy of activities, three types of activities relationships and five types of activity attributes, and enables activity-centric knowledge search. As a proof-of-concept, we apply our approach to Android Developer Guide. A comprehensive evaluation of TaskKG shows high accuracy of our OpenIE techniques. A user study shows that TaskKG is promising in helping developers finding correct answers to programming how-to questions.
完成一个程序任务通常包括按逻辑顺序执行多个活动。任务解决活动可能具有不同的关系,例如子活动、前后关系,以及不同的属性,例如位置、条件、API、代码。我们将任务解决活动及其关系和属性称为专有知识。编程任务专有知识通常记录在半结构化的文本教程中。一项对Stack Overflow上20个最受欢迎的android标记的how-to问题的形成性研究表明,开发人员在有效地发现和理解文本教程中的任务解决知识时面临着三个信息障碍(任务意图的不连贯建模、教程信息过载和非结构化任务活动描述)。知识图谱在表示关系知识和支持结构化知识搜索方面具有重要的作用。不幸的是,现有的知识图只能从软件文档中提取已知信息(例如,API、API警告和API依赖)。在本文中,我们设计了开放信息提取(OpenIE)技术来从编程任务教程中提取任务活动、活动属性和活动关系的候选项。得到的知识图TaskKG包括活动的层次分类、三种类型的活动关系和五种类型的活动属性,并支持以活动为中心的知识搜索。作为概念验证,我们将我们的方法应用于Android Developer Guide。对TaskKG的综合评估表明,我们的OpenIE技术具有很高的准确性。一项用户研究表明,TaskKG有望帮助开发人员找到编程指南问题的正确答案。
{"title":"Know-How in Programming Tasks: From Textual Tutorials to Task-Oriented Knowledge Graph","authors":"Jiamou Sun, Zhenchang Xing, Rui Chu, Heilai Bai, Jinshui Wang, Xin Peng","doi":"10.1109/ICSME.2019.00039","DOIUrl":"https://doi.org/10.1109/ICSME.2019.00039","url":null,"abstract":"Accomplishing a program task usually involves performing multiple activities in a logical order. Task-solving activities may have different relationships, such as subactivityof, precede-follow, and different attributes, such as location, condition, API, code. We refer to task-solving activities and their relationships and attributes as know-how knowledge. Programming task know-how knowledge is commonly documented in semi-structured textual tutorials. A formative study of the 20 top-viewed Android-tagged how-to questions on Stack Overflow suggests that developers are faced with three information barriers (incoherent modeling of task intent, tutorial information overload and unstructured task activity description) for effectively discovering and understanding task-solving knowledge in textual tutorials. Knowledge graph has been shown to be effective in representing relational knowledge and supporting knowledge search in a structured way. Unfortunately, existing knowledge graphs extract only know-what information (e.g., APIs, API caveats and API dependencies) from software documentation. In this paper, we devise open information extraction (OpenIE) techniques to extract candidates for task activities, activity attributes and activity relationships from programming task tutorials. The resulting knowledge graph, TaskKG, includes a hierarchical taxonomy of activities, three types of activities relationships and five types of activity attributes, and enables activity-centric knowledge search. As a proof-of-concept, we apply our approach to Android Developer Guide. A comprehensive evaluation of TaskKG shows high accuracy of our OpenIE techniques. A user study shows that TaskKG is promising in helping developers finding correct answers to programming how-to questions.","PeriodicalId":106748,"journal":{"name":"2019 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2019-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122522778","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}
引用次数: 14
Application of Philosophical Principles in Linux Kernel Customization 哲学原理在Linux内核定制中的应用
Pub Date : 2019-09-01 DOI: 10.1109/ICSME.2019.00057
Hang Li, Lin Yan, XiLiang Zhao
Philosophical principles are very useful in customization of Linux kernel, e.g., the answer for the question: "For the pointer to the start address of page table, is it a physical address or a virtual address?" can be derived by one simple philosophical principle: the depth of recursion is limited. This is because if the pointer were a virtual address, there would be another new page table to store the translation information of this virtual address, but who was responsible for storing the translation information of the start address of this new page table? This would result an infinite recursion. So the pointer definitely is a physical address. In fact, the usefulness of philosophical principles comes from the reduction of searching space. And this reduction is very important in customization of Linux kernel, for it could cut down the size of the new code needed to be read. This is especially valuable when considering that Linux kernel is continuously updating and huge now. Another example to further demonstrate the reduction of searching space in customization is showed in the following: in customization of file system in kernel version 3.10, the question: "Does the Linux kernel itself maintain the consistency between the buffer cache and the page cache?". This is a hard problem in practice, for without any guidance of philosophical principle, a developer has to read all of the code in Linux kernel to get a precise answer. The tricky part of this question is that if the developer only read a part of the codes and doesn't find any mechanisms for maintenance of cache consistency, the conclusion of non-existence of such mechanisms still can not be drawn, for there's still a possibility that such mechanisms exist in the codes not explored. Besides, if the developer search internet to find the answer, assume that the developer is lucky enough, he/she finally finds one program example on a web page shows that the inconsistency may raise between buffer cache and page cache. He/she still can not get the conclusion that Linux kernel does not maintain such consistency, because that program example maybe is only valid in a specific scenario, e.g. in kernel version 2.26, not 3.10. But we can get a satisfied answer by using the philosophical principle: the cost of management process should be far less than the value created by being managed process. By this principle, it can be drawn that Linux kernel doesn't maintain the consistency between the buffer cache and page cache in kernel 3.10. This is because that the data in buffer cache and page cache is highly dependent on application logic, so if Linux kernel wanted to maintain such consistency, it would have to track all these applications, which cost was much higher than the benefits that these applications could produce. However, the successful application of philosophical principles depends on two factors: firstly, establishment of a mapping between concepts in Linux system and well-known concepts in hum
事实上,它是,因为通过这种映射,开发人员将知道该过程的存在,它是所有其他过程的起源,是高度可能的,而且该过程可能不容易观察到。这是真的,因为该进程是PID为0的进程,并且Linux命令“ps -e”无法观察到该进程。该进程是一个非常有价值的定制点,例如,通过修改该进程,Linux中的所有进程都会受到影响。为什么会有这么大的差距呢?我们认为至少有三个原因:1 .对哲学原则的偏见。这通常来自于一些开发人员在哲学原则和现实世界中的对象之间建立了错误的映射。但对于那些在实践中被多次验证的人来说,这是真的吗?2错误的期望。例如,希望在应用哲学原理时得到精确的答案,而不是减少搜索空间。3一些学术研究者没有意识到,一个好的哲学原理通常是人类大脑多年深度学习过程的结果。最后,我们建议在程序理解的哲学原理的研究上投入更多的努力,我们相信在不久的将来,哲学原理加上人工智能将是程序理解的趋势。
{"title":"Application of Philosophical Principles in Linux Kernel Customization","authors":"Hang Li, Lin Yan, XiLiang Zhao","doi":"10.1109/ICSME.2019.00057","DOIUrl":"https://doi.org/10.1109/ICSME.2019.00057","url":null,"abstract":"Philosophical principles are very useful in customization of Linux kernel, e.g., the answer for the question: \"For the pointer to the start address of page table, is it a physical address or a virtual address?\" can be derived by one simple philosophical principle: the depth of recursion is limited. This is because if the pointer were a virtual address, there would be another new page table to store the translation information of this virtual address, but who was responsible for storing the translation information of the start address of this new page table? This would result an infinite recursion. So the pointer definitely is a physical address. In fact, the usefulness of philosophical principles comes from the reduction of searching space. And this reduction is very important in customization of Linux kernel, for it could cut down the size of the new code needed to be read. This is especially valuable when considering that Linux kernel is continuously updating and huge now. Another example to further demonstrate the reduction of searching space in customization is showed in the following: in customization of file system in kernel version 3.10, the question: \"Does the Linux kernel itself maintain the consistency between the buffer cache and the page cache?\". This is a hard problem in practice, for without any guidance of philosophical principle, a developer has to read all of the code in Linux kernel to get a precise answer. The tricky part of this question is that if the developer only read a part of the codes and doesn't find any mechanisms for maintenance of cache consistency, the conclusion of non-existence of such mechanisms still can not be drawn, for there's still a possibility that such mechanisms exist in the codes not explored. Besides, if the developer search internet to find the answer, assume that the developer is lucky enough, he/she finally finds one program example on a web page shows that the inconsistency may raise between buffer cache and page cache. He/she still can not get the conclusion that Linux kernel does not maintain such consistency, because that program example maybe is only valid in a specific scenario, e.g. in kernel version 2.26, not 3.10. But we can get a satisfied answer by using the philosophical principle: the cost of management process should be far less than the value created by being managed process. By this principle, it can be drawn that Linux kernel doesn't maintain the consistency between the buffer cache and page cache in kernel 3.10. This is because that the data in buffer cache and page cache is highly dependent on application logic, so if Linux kernel wanted to maintain such consistency, it would have to track all these applications, which cost was much higher than the benefits that these applications could produce. However, the successful application of philosophical principles depends on two factors: firstly, establishment of a mapping between concepts in Linux system and well-known concepts in hum","PeriodicalId":106748,"journal":{"name":"2019 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2019-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126285776","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
期刊
2019 IEEE International Conference on Software Maintenance and Evolution (ICSME)
全部 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