首页 > 最新文献

2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)最新文献

英文 中文
Exploring the integration of user feedback in automated testing of Android applications 探索在Android应用程序的自动化测试中集成用户反馈
Giovanni Grano, Adelina Ciurumelea, Sebastiano Panichella, Fabio Palomba, H. Gall
The intense competition characterizing mobile application's marketplaces forces developers to create and maintain high-quality mobile apps in order to ensure their commercial success and acquire new users. This motivated the research community to propose solutions that automate the testing process of mobile apps. However, the main problem of current testing tools is that they generate redundant and random inputs that are insufficient to properly simulate the human behavior, thus leaving feature and crash bugs undetected until they are encountered by users. To cope with this problem, we conjecture that information available in user reviews—that previous work showed as effective for maintenance and evolution problems—can be successfully exploited to identify the main issues users experience while using mobile applications, e.g., GUI problems and crashes. In this paper we provide initial insights into this direction, investigating (i) what type of user feedback can be actually exploited for testing purposes, (ii) how complementary user feedback and automated testing tools are, when detecting crash bugs or errors and (iii) whether an automated system able to monitor crash-related information reported in user feedback is sufficiently accurate. Results of our study, involving 11,296 reviews of 8 mobile applications, show that user feedback can be exploited to provide contextual details about errors or exceptions detected by automated testing tools. Moreover, they also help detecting bugs that would remain uncovered when rely on testing tools only. Finally, the accuracy of the proposed automated monitoring system demonstrates the feasibility of our vision, i.e., integrate user feedback into testing process.
手机应用市场的激烈竞争迫使开发者创造并维护高质量的手机应用,以确保其商业成功并获得新用户。这促使研究团体提出解决方案,使移动应用程序的测试过程自动化。然而,当前测试工具的主要问题是,它们生成的冗余和随机输入不足以正确模拟人类行为,因此,直到用户遇到功能和崩溃错误时才会发现它们。为了解决这个问题,我们推测用户评论中可用的信息——以前的工作表明对维护和发展问题有效——可以成功地利用来识别用户在使用移动应用程序时遇到的主要问题,例如GUI问题和崩溃。在本文中,我们提供了对这个方向的初步见解,调查了(i)哪种类型的用户反馈实际上可以用于测试目的,(ii)在检测崩溃错误或错误时,用户反馈和自动化测试工具是如何互补的,以及(iii)能够监控用户反馈中报告的崩溃相关信息的自动化系统是否足够准确。我们对8款手机应用的11,296条评论进行了研究,结果表明用户反馈可以用来提供自动化测试工具检测到的错误或异常的上下文细节。此外,它们还有助于检测仅依赖测试工具时无法发现的错误。最后,所提出的自动监控系统的准确性证明了我们设想的可行性,即将用户反馈集成到测试过程中。
{"title":"Exploring the integration of user feedback in automated testing of Android applications","authors":"Giovanni Grano, Adelina Ciurumelea, Sebastiano Panichella, Fabio Palomba, H. Gall","doi":"10.1109/SANER.2018.8330198","DOIUrl":"https://doi.org/10.1109/SANER.2018.8330198","url":null,"abstract":"The intense competition characterizing mobile application's marketplaces forces developers to create and maintain high-quality mobile apps in order to ensure their commercial success and acquire new users. This motivated the research community to propose solutions that automate the testing process of mobile apps. However, the main problem of current testing tools is that they generate redundant and random inputs that are insufficient to properly simulate the human behavior, thus leaving feature and crash bugs undetected until they are encountered by users. To cope with this problem, we conjecture that information available in user reviews—that previous work showed as effective for maintenance and evolution problems—can be successfully exploited to identify the main issues users experience while using mobile applications, e.g., GUI problems and crashes. In this paper we provide initial insights into this direction, investigating (i) what type of user feedback can be actually exploited for testing purposes, (ii) how complementary user feedback and automated testing tools are, when detecting crash bugs or errors and (iii) whether an automated system able to monitor crash-related information reported in user feedback is sufficiently accurate. Results of our study, involving 11,296 reviews of 8 mobile applications, show that user feedback can be exploited to provide contextual details about errors or exceptions detected by automated testing tools. Moreover, they also help detecting bugs that would remain uncovered when rely on testing tools only. Finally, the accuracy of the proposed automated monitoring system demonstrates the feasibility of our vision, i.e., integrate user feedback into testing process.","PeriodicalId":6602,"journal":{"name":"2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"48 1","pages":"72-83"},"PeriodicalIF":0.0,"publicationDate":"2018-04-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84739215","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}
引用次数: 53
The Statechart Workbench: Enabling scalable software event log analysis using process mining Statechart工作台:使用流程挖掘支持可伸缩的软件事件日志分析
M. Leemans, Wil M.P. van der Aalst, M. Brand
To understand and maintain the behavior of a (legacy) software system, one can observe and study the system's behavior by analyzing event data. For model-driven reverse engineering and analysis of system behavior, operation and usage based on software event data, we need a combination of advanced algorithms and techniques. In this paper, we present the Statechart Workbench: a novel software behavior exploration tool. Our tool provides a rich and mature integration of advanced (academic) techniques for the analysis of behavior, performance (timings), frequency (usage), conformance and reliability in the context of various formal models. The accompanied Eclipse plugin allows the user to interactively link all the results from the Statechart Workbench back to the source code of the system and enables users to get started right away with their own software. The work can be positioned in-between reverse engineering and process mining. Implementations, documentation, and a screen-cast (https://youtu.be/xR4XfU3E5mk) of the proposed approach are available, and a user study demonstrates the novelty and usefulness of the tool.
为了理解和维护(遗留)软件系统的行为,可以通过分析事件数据来观察和研究系统的行为。对于基于软件事件数据的模型驱动的逆向工程和系统行为、操作和使用的分析,我们需要先进的算法和技术的结合。在本文中,我们提出了Statechart Workbench:一种新颖的软件行为探索工具。我们的工具提供了丰富而成熟的高级(学术)技术集成,用于在各种正式模型的上下文中分析行为、性能(计时)、频率(使用)、一致性和可靠性。附带的Eclipse插件允许用户交互地将来自Statechart Workbench的所有结果链接回系统的源代码,并使用户能够立即开始使用自己的软件。这项工作可以定位在逆向工程和过程挖掘之间。所建议的方法的实现、文档和屏幕播放(https://youtu.be/xR4XfU3E5mk)都是可用的,用户研究演示了该工具的新颖性和实用性。
{"title":"The Statechart Workbench: Enabling scalable software event log analysis using process mining","authors":"M. Leemans, Wil M.P. van der Aalst, M. Brand","doi":"10.1109/SANER.2018.8330248","DOIUrl":"https://doi.org/10.1109/SANER.2018.8330248","url":null,"abstract":"To understand and maintain the behavior of a (legacy) software system, one can observe and study the system's behavior by analyzing event data. For model-driven reverse engineering and analysis of system behavior, operation and usage based on software event data, we need a combination of advanced algorithms and techniques. In this paper, we present the Statechart Workbench: a novel software behavior exploration tool. Our tool provides a rich and mature integration of advanced (academic) techniques for the analysis of behavior, performance (timings), frequency (usage), conformance and reliability in the context of various formal models. The accompanied Eclipse plugin allows the user to interactively link all the results from the Statechart Workbench back to the source code of the system and enables users to get started right away with their own software. The work can be positioned in-between reverse engineering and process mining. Implementations, documentation, and a screen-cast (https://youtu.be/xR4XfU3E5mk) of the proposed approach are available, and a user study demonstrates the novelty and usefulness of the tool.","PeriodicalId":6602,"journal":{"name":"2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"90 1","pages":"502-506"},"PeriodicalIF":0.0,"publicationDate":"2018-04-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84309808","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
Detecting code smells using machine learning techniques: Are we there yet? 使用机器学习技术检测代码气味:我们做到了吗?
D. D. Nucci, Fabio Palomba, D. Tamburri, Alexander Serebrenik, A. D. Lucia
Code smells are symptoms of poor design and implementation choices weighing heavily on the quality of produced source code. During the last decades several code smell detection tools have been proposed. However, the literature shows that the results of these tools can be subjective and are intrinsically tied to the nature and approach of the detection. In a recent work the use of Machine-Learning (ML) techniques for code smell detection has been proposed, possibly solving the issue of tool subjectivity giving to a learner the ability to discern between smelly and non-smelly source code elements. While this work opened a new perspective for code smell detection, it only considered the case where instances affected by a single type smell are contained in each dataset used to train and test the machine learners. In this work we replicate the study with a different dataset configuration containing instances of more than one type of smell. The results reveal that with this configuration the machine learning techniques reveal critical limitations in the state of the art which deserve further research.
代码气味是糟糕的设计和实现选择严重影响生成的源代码质量的症状。在过去的几十年里,已经提出了几种代码气味检测工具。然而,文献表明,这些工具的结果可能是主观的,并且与检测的性质和方法内在地联系在一起。在最近的一项工作中,已经提出使用机器学习(ML)技术进行代码气味检测,可能解决工具主观性的问题,使学习者能够区分有气味和无气味的源代码元素。虽然这项工作为代码气味检测开辟了一个新的视角,但它只考虑了受单一类型气味影响的实例包含在用于训练和测试机器学习者的每个数据集中的情况。在这项工作中,我们使用包含多种气味实例的不同数据集配置来复制该研究。结果表明,在这种配置下,机器学习技术揭示了当前技术的关键局限性,值得进一步研究。
{"title":"Detecting code smells using machine learning techniques: Are we there yet?","authors":"D. D. Nucci, Fabio Palomba, D. Tamburri, Alexander Serebrenik, A. D. Lucia","doi":"10.1109/SANER.2018.8330266","DOIUrl":"https://doi.org/10.1109/SANER.2018.8330266","url":null,"abstract":"Code smells are symptoms of poor design and implementation choices weighing heavily on the quality of produced source code. During the last decades several code smell detection tools have been proposed. However, the literature shows that the results of these tools can be subjective and are intrinsically tied to the nature and approach of the detection. In a recent work the use of Machine-Learning (ML) techniques for code smell detection has been proposed, possibly solving the issue of tool subjectivity giving to a learner the ability to discern between smelly and non-smelly source code elements. While this work opened a new perspective for code smell detection, it only considered the case where instances affected by a single type smell are contained in each dataset used to train and test the machine learners. In this work we replicate the study with a different dataset configuration containing instances of more than one type of smell. The results reveal that with this configuration the machine learning techniques reveal critical limitations in the state of the art which deserve further research.","PeriodicalId":6602,"journal":{"name":"2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"1 1","pages":"612-621"},"PeriodicalIF":0.0,"publicationDate":"2018-04-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89449550","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}
引用次数: 144
Improving developers awareness of the exception handling policy 提高开发人员对异常处理策略的认识
Taiza Montenegro, Hugo Melo, Roberta Coelho, E. Barbosa
The exception handling policy of a system comprises the set of design rules that specify its exception handling behavior (how exceptions should be handled and thrown in a system). Such policy is usually undocumented and implicitly defined by the system architect. Developers are usually unaware of such rules and may think that by just sprinkling the code with catch-blocks they can adequately deal with the exceptional conditions of a system. As a consequence, the exception handling code once designed to make the program more reliable may become a source of faults (e.g., the uncaught exceptions are one of the main causes of crashes in current Java applications). To mitigate such problem, we propose Exception Policy Expert (EPE), a tool embedded in Eclipse IDE that warns developers about policy violations related to the code being edited. A case study performed in a real development context showed that the tool could indeed make the exception handling policy explicit to the developers during development.
系统的异常处理策略包括一组设计规则,这些规则指定了系统的异常处理行为(在系统中应该如何处理和抛出异常)。这样的策略通常没有文档记录,并由系统架构师隐式定义。开发人员通常不知道这些规则,他们可能认为只要在代码中添加捕获块,就可以充分处理系统的异常情况。因此,曾经为使程序更可靠而设计的异常处理代码可能成为错误的来源(例如,未捕获的异常是当前Java应用程序崩溃的主要原因之一)。为了缓解这样的问题,我们提出了例外策略专家(EPE),这是一个嵌入在Eclipse IDE中的工具,它警告开发人员与正在编辑的代码相关的策略违反。在实际开发环境中执行的案例研究表明,该工具确实可以在开发过程中对开发人员显式地执行异常处理策略。
{"title":"Improving developers awareness of the exception handling policy","authors":"Taiza Montenegro, Hugo Melo, Roberta Coelho, E. Barbosa","doi":"10.1109/SANER.2018.8330228","DOIUrl":"https://doi.org/10.1109/SANER.2018.8330228","url":null,"abstract":"The exception handling policy of a system comprises the set of design rules that specify its exception handling behavior (how exceptions should be handled and thrown in a system). Such policy is usually undocumented and implicitly defined by the system architect. Developers are usually unaware of such rules and may think that by just sprinkling the code with catch-blocks they can adequately deal with the exceptional conditions of a system. As a consequence, the exception handling code once designed to make the program more reliable may become a source of faults (e.g., the uncaught exceptions are one of the main causes of crashes in current Java applications). To mitigate such problem, we propose Exception Policy Expert (EPE), a tool embedded in Eclipse IDE that warns developers about policy violations related to the code being edited. A case study performed in a real development context showed that the tool could indeed make the exception handling policy explicit to the developers during development.","PeriodicalId":6602,"journal":{"name":"2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"14 5 Suppl 3 1","pages":"413-422"},"PeriodicalIF":0.0,"publicationDate":"2018-03-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84985061","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}
引用次数: 13
A generalized model for visualizing library popularity, adoption, and diffusion within a software ecosystem 一个用于可视化库在软件生态系统中的流行、采用和扩散的通用模型
R. Kula, Coen De Roover, D. Germán, T. Ishio, Katsuro Inoue
The popularity of super repositories such as Maven Central and the CRAN is a testament to software reuse activities in both open-source and commercial projects alike. However, several studies have highlighted the risks and dangers brought about by application developers keeping dependencies on outdated library versions. Intelligent mining of super repositories could reveal hidden trends within the corresponding software ecosystem and thereby provide valuable insights for such dependency-related decisions. In this paper, we propose the Software Universe Graph (SUG) Model as a structured abstraction of the evolution of software systems and their library dependencies over time. To demonstrate the SUG's usefulness, we conduct an empirical study using 6,374 Maven artifacts and over 6,509 CRAN packages mined from their real-world ecosystems. Visualizations of the SUG model such as ‘library coexistence pairings’ and ‘dependents diffusion’ uncover popularity, adoption and diffusion patterns within each software ecosystem. Results show the Maven ecosystem as having a more conservative approach to dependency updating than the CRAN ecosystem.
超级存储库(如Maven Central和CRAN)的流行是开源和商业项目中软件重用活动的证明。然而,一些研究强调了应用程序开发人员依赖过时的库版本所带来的风险和危险。对超级存储库的智能挖掘可以揭示相应软件生态系统中隐藏的趋势,从而为此类依赖相关的决策提供有价值的见解。在本文中,我们提出软件宇宙图(SUG)模型作为软件系统及其库依赖关系随时间演变的结构化抽象。为了证明SUG的有用性,我们进行了一项实证研究,使用了6,374个Maven工件和超过6,509个从它们的真实生态系统中挖掘出来的CRAN包。SUG模型的可视化,如“库共存配对”和“依赖扩散”,揭示了每个软件生态系统中的流行、采用和扩散模式。结果显示,Maven生态系统在依赖项更新方面比CRAN生态系统更保守。
{"title":"A generalized model for visualizing library popularity, adoption, and diffusion within a software ecosystem","authors":"R. Kula, Coen De Roover, D. Germán, T. Ishio, Katsuro Inoue","doi":"10.1109/SANER.2018.8330217","DOIUrl":"https://doi.org/10.1109/SANER.2018.8330217","url":null,"abstract":"The popularity of super repositories such as Maven Central and the CRAN is a testament to software reuse activities in both open-source and commercial projects alike. However, several studies have highlighted the risks and dangers brought about by application developers keeping dependencies on outdated library versions. Intelligent mining of super repositories could reveal hidden trends within the corresponding software ecosystem and thereby provide valuable insights for such dependency-related decisions. In this paper, we propose the Software Universe Graph (SUG) Model as a structured abstraction of the evolution of software systems and their library dependencies over time. To demonstrate the SUG's usefulness, we conduct an empirical study using 6,374 Maven artifacts and over 6,509 CRAN packages mined from their real-world ecosystems. Visualizations of the SUG model such as ‘library coexistence pairings’ and ‘dependents diffusion’ uncover popularity, adoption and diffusion patterns within each software ecosystem. Results show the Maven ecosystem as having a more conservative approach to dependency updating than the CRAN ecosystem.","PeriodicalId":6602,"journal":{"name":"2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"22 1","pages":"288-299"},"PeriodicalIF":0.0,"publicationDate":"2018-03-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80996551","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}
引用次数: 20
Context is king: The developer perspective on the usage of static analysis tools 上下文为王:开发人员对静态分析工具使用的看法
Carmine Vassallo, Sebastiano Panichella, Fabio Palomba, Sebastian Proksch, A. Zaidman, H. Gall
Automatic static analysis tools (ASATs) are tools that support automatic code quality evaluation of software systems with the aim of (i) avoiding and/or removing bugs and (ii) spotting design issues. Hindering their wide-spread acceptance are their (i) high false positive rates and (ii) low comprehensibility of the generated warnings. Researchers and ASATs vendors have proposed solutions to prioritize such warnings with the aim of guiding developers toward the most severe ones. However, none of the proposed solutions considers the development context in which an ASAT is being used to further improve the selection of relevant warnings. To shed light on the impact of such contexts on the warnings configuration, usage and adopted prioritization strategies, we surveyed 42 developers (69% in industry and 31% in open source projects) and interviewed 11 industrial experts that integrate ASATs in their workflow. While we can confirm previous findings on the reluctance of developers to configure ASATs, our study highlights that (i) 71% of developers do pay attention to different warning categories depending on the development context, and (ii) 63% of our respondents rely on specific factors (e.g., team policies and composition) when prioritizing warnings to fix during their programming. Our results clearly indicate ways to better assist developers by improving existing warning selection and prioritization strategies.
自动静态分析工具(asat)是支持软件系统的自动代码质量评估的工具,其目的是(i)避免和/或消除错误,以及(ii)发现设计问题。阻碍它们被广泛接受的是它们(i)高假阳性率和(ii)产生的警告的低可理解性。研究人员和asat供应商已经提出了解决方案,以优先考虑这些警告,目的是指导开发人员解决最严重的警告。然而,所提出的解决办法都没有考虑到利用反卫星系统进一步改进有关预警选择的发展背景。为了阐明这种环境对警告配置、使用和采用优先级策略的影响,我们调查了42名开发人员(69%来自工业,31%来自开源项目),并采访了11名将asat集成到其工作流程中的工业专家。虽然我们可以确认之前关于开发人员不愿意配置asat的发现,但我们的研究强调了(i) 71%的开发人员确实根据开发环境关注不同的警告类别,并且(ii) 63%的受访者在编程期间优先考虑要修复的警告时依赖于特定因素(例如,团队策略和组成)。我们的结果清楚地指出了通过改进现有的警告选择和优先级策略来更好地帮助开发人员的方法。
{"title":"Context is king: The developer perspective on the usage of static analysis tools","authors":"Carmine Vassallo, Sebastiano Panichella, Fabio Palomba, Sebastian Proksch, A. Zaidman, H. Gall","doi":"10.1109/SANER.2018.8330195","DOIUrl":"https://doi.org/10.1109/SANER.2018.8330195","url":null,"abstract":"Automatic static analysis tools (ASATs) are tools that support automatic code quality evaluation of software systems with the aim of (i) avoiding and/or removing bugs and (ii) spotting design issues. Hindering their wide-spread acceptance are their (i) high false positive rates and (ii) low comprehensibility of the generated warnings. Researchers and ASATs vendors have proposed solutions to prioritize such warnings with the aim of guiding developers toward the most severe ones. However, none of the proposed solutions considers the development context in which an ASAT is being used to further improve the selection of relevant warnings. To shed light on the impact of such contexts on the warnings configuration, usage and adopted prioritization strategies, we surveyed 42 developers (69% in industry and 31% in open source projects) and interviewed 11 industrial experts that integrate ASATs in their workflow. While we can confirm previous findings on the reluctance of developers to configure ASATs, our study highlights that (i) 71% of developers do pay attention to different warning categories depending on the development context, and (ii) 63% of our respondents rely on specific factors (e.g., team policies and composition) when prioritizing warnings to fix during their programming. Our results clearly indicate ways to better assist developers by improving existing warning selection and prioritization strategies.","PeriodicalId":6602,"journal":{"name":"2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"5 1","pages":"38-49"},"PeriodicalIF":0.0,"publicationDate":"2018-03-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"82538541","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}
引用次数: 87
BECLoMA: Augmenting stack traces with user review information BECLoMA:用用户评论信息增加堆栈跟踪
L. Pelloni, Giovanni Grano, Adelina Ciurumelea, Sebastiano Panichella, Fabio Palomba, H. Gall
Mobile devices such as smartphones, tablets and wearables are changing the way we do things, radically modifying our approach to technology. To sustain the high competition characterizing the mobile market, developers need to deliver high quality applications in a short release cycle. To reveal and fix bugs as soon as possible, researchers and practitioners proposed tools to automate the testing process. However, such tools generate a high number of redundant inputs, lacking of contextual information and generating reports difficult to analyze. In this context, the content of user reviews represents an unmatched source for developers seeking for defects in their applications. However, no prior work explored the adoption of information available in user reviews for testing purposes. In this demo we present BECLOMA, a tool to enable the integration of user feedback in the testing process of mobile apps. BECLOMA links information from testing tools and user reviews, presenting to developers an augmented testing report combining stack traces with user reviews information referring to the same crash. We show that BECLOMA facilitates not only the diagnosis and fix of app bugs, but also presents additional benefits: it eases the usage of testing tools and automates the analysis of user reviews from the Google Play Store.
智能手机、平板电脑和可穿戴设备等移动设备正在改变我们做事的方式,从根本上改变我们对技术的态度。为了维持手机市场的高竞争,开发者需要在较短的发布周期内交付高质量的应用。为了尽快发现和修复错误,研究人员和从业者提出了自动化测试过程的工具。然而,这些工具产生了大量的冗余输入,缺乏上下文信息,生成的报告难以分析。在这种情况下,用户评论的内容代表了开发人员在其应用程序中寻找缺陷的无与伦比的来源。然而,之前的工作没有探索用户评论中可用信息用于测试目的的采用。在这个演示中,我们展示了BECLOMA,一个能够在移动应用程序的测试过程中集成用户反馈的工具。BECLOMA将来自测试工具和用户评论的信息链接起来,向开发人员展示一个增强的测试报告,该报告结合了堆栈跟踪和用户评论信息,涉及相同的崩溃。我们发现BECLOMA不仅有助于诊断和修复应用漏洞,而且还提供了额外的好处:它简化了测试工具的使用,并自动分析来自Google Play Store的用户评论。
{"title":"BECLoMA: Augmenting stack traces with user review information","authors":"L. Pelloni, Giovanni Grano, Adelina Ciurumelea, Sebastiano Panichella, Fabio Palomba, H. Gall","doi":"10.1109/SANER.2018.8330252","DOIUrl":"https://doi.org/10.1109/SANER.2018.8330252","url":null,"abstract":"Mobile devices such as smartphones, tablets and wearables are changing the way we do things, radically modifying our approach to technology. To sustain the high competition characterizing the mobile market, developers need to deliver high quality applications in a short release cycle. To reveal and fix bugs as soon as possible, researchers and practitioners proposed tools to automate the testing process. However, such tools generate a high number of redundant inputs, lacking of contextual information and generating reports difficult to analyze. In this context, the content of user reviews represents an unmatched source for developers seeking for defects in their applications. However, no prior work explored the adoption of information available in user reviews for testing purposes. In this demo we present BECLOMA, a tool to enable the integration of user feedback in the testing process of mobile apps. BECLOMA links information from testing tools and user reviews, presenting to developers an augmented testing report combining stack traces with user reviews information referring to the same crash. We show that BECLOMA facilitates not only the diagnosis and fix of app bugs, but also presents additional benefits: it eases the usage of testing tools and automates the analysis of user reviews from the Google Play Store.","PeriodicalId":6602,"journal":{"name":"2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"115 12 1","pages":"522-526"},"PeriodicalIF":0.0,"publicationDate":"2018-03-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90232380","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}
引用次数: 25
ChangeMacroRecorder: Recording fine-grained textual changes of source code ChangeMacroRecorder:记录源代码的细粒度文本更改
Katsuhisa Maruyama, Shinpei Hayashi, Takayuki Omori
Recording code changes comes to be well recognized as an effective means for understanding the evolution of existing programs and making their future changes efficient. Although fine-grained textual changes of source code are worth leveraging in various situations, there is no satisfactory tool that records such changes. This paper proposes a yet another tool, called ChangeMacroRecorder, which automatically records all textual changes of source code while a programmer writes and modifies it on the Eclipse's Java editor. Its capability has been improved with respect to both the accuracy of its recording and the convenience for its use. Tool developers can easily and cheaply create their new applications that utilize recorded changes by embedding our proposed recording tool into them.
记录代码更改被公认为是理解现有程序的演变并使其未来的更改更有效的有效方法。尽管源代码的细粒度文本更改在各种情况下都值得利用,但是没有令人满意的工具可以记录这些更改。本文提出了另一种工具,称为ChangeMacroRecorder,当程序员在Eclipse的Java编辑器上编写和修改源代码时,它会自动记录源代码的所有文本更改。它的能力在记录的准确性和使用的便利性方面都得到了提高。工具开发人员可以通过将我们建议的记录工具嵌入到他们的新应用程序中,从而轻松而廉价地创建他们的新应用程序。
{"title":"ChangeMacroRecorder: Recording fine-grained textual changes of source code","authors":"Katsuhisa Maruyama, Shinpei Hayashi, Takayuki Omori","doi":"10.1109/SANER.2018.8330255","DOIUrl":"https://doi.org/10.1109/SANER.2018.8330255","url":null,"abstract":"Recording code changes comes to be well recognized as an effective means for understanding the evolution of existing programs and making their future changes efficient. Although fine-grained textual changes of source code are worth leveraging in various situations, there is no satisfactory tool that records such changes. This paper proposes a yet another tool, called ChangeMacroRecorder, which automatically records all textual changes of source code while a programmer writes and modifies it on the Eclipse's Java editor. Its capability has been improved with respect to both the accuracy of its recording and the convenience for its use. Tool developers can easily and cheaply create their new applications that utilize recorded changes by embedding our proposed recording tool into them.","PeriodicalId":6602,"journal":{"name":"2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"32 1","pages":"537-541"},"PeriodicalIF":0.0,"publicationDate":"2018-03-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"91291844","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
Clustering support for inadequate test suite reduction 集群支持不足的测试套件减少
Carmen Coviello, Simone Romano, G. Scanniello, A. Marchetto, G. Antoniol, A. Corazza
Regression testing is an important activity that can be expensive (e.g., for large test suites). Test suite reduction approaches speed up regression testing by removing redundant test cases. These approaches can be classified as adequate or inadequate. Adequate approaches reduce test suites so that they completely preserve the test requirements (e.g., code coverage) of the original test suites. Inadequate approaches produce reduced test suites that only partially preserve the test requirements. An inadequate approach is appealing when it leads to a greater reduction in test suite size at the expense of a small loss in fault-detection capability. We investigate a clustering-based approach for inadequate test suite reduction and compare it with well-known adequate approaches. Our investigation is founded on a public dataset and allows an exploration of trade-offs in test suite reduction. Results help a more informed decision, using guidelines defined in this research, to balance size, coverage, and fault-detection loss of reduced test suites when using clustering.
回归测试是一项重要的活动,但它可能是昂贵的(例如,对于大型测试套件)。测试套件缩减方法通过移除冗余的测试用例来加速回归测试。这些方法可分为适当或不适当。适当的方法减少测试套件,以便它们完全保留原始测试套件的测试需求(例如,代码覆盖率)。不充分的方法会产生减少的测试套件,只会部分保留测试需求。当不适当的方法以故障检测能力的小损失为代价导致测试套件大小的更大减少时,它是有吸引力的。我们研究了一种基于聚类的方法来减少不充分的测试套件,并将其与众所周知的适当方法进行比较。我们的调查是建立在一个公共数据集上的,并允许对测试套件减少中的权衡进行探索。使用本研究中定义的指导方针,结果有助于做出更明智的决策,以在使用集群时平衡缩减的测试套件的大小、覆盖率和故障检测损失。
{"title":"Clustering support for inadequate test suite reduction","authors":"Carmen Coviello, Simone Romano, G. Scanniello, A. Marchetto, G. Antoniol, A. Corazza","doi":"10.1109/SANER.2018.8330200","DOIUrl":"https://doi.org/10.1109/SANER.2018.8330200","url":null,"abstract":"Regression testing is an important activity that can be expensive (e.g., for large test suites). Test suite reduction approaches speed up regression testing by removing redundant test cases. These approaches can be classified as adequate or inadequate. Adequate approaches reduce test suites so that they completely preserve the test requirements (e.g., code coverage) of the original test suites. Inadequate approaches produce reduced test suites that only partially preserve the test requirements. An inadequate approach is appealing when it leads to a greater reduction in test suite size at the expense of a small loss in fault-detection capability. We investigate a clustering-based approach for inadequate test suite reduction and compare it with well-known adequate approaches. Our investigation is founded on a public dataset and allows an exploration of trade-offs in test suite reduction. Results help a more informed decision, using guidelines defined in this research, to balance size, coverage, and fault-detection loss of reduced test suites when using clustering.","PeriodicalId":6602,"journal":{"name":"2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"28 1","pages":"95-105"},"PeriodicalIF":0.0,"publicationDate":"2018-03-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"88433222","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}
引用次数: 22
Cross-version defect prediction via hybrid active learning with kernel principal component analysis 基于混合主动学习和核主成分分析的跨版本缺陷预测
Zhou Xu, Jin Liu, Xiapu Luo, Zhang Tao
As defects in software modules may cause product failure and financial loss, it is critical to utilize defect prediction methods to effectively identify the potentially defective modules for a thorough inspection, especially in the early stage of software development lifecycle. For an upcoming version of a software project, it is practical to employ the historical labeled defect data of the prior versions within the same project to conduct defect prediction on the current version, i.e., Cross-Version Defect Prediction (CVDP). However, software development is a dynamic evolution process that may cause the data distribution (such as defect characteristics) to vary across versions. Furthermore, the raw features usually may not well reveal the intrinsic structure information behind the data. Therefore, it is challenging to perform effective CVDP. In this paper, we propose a two-phase CVDP framework that combines Hybrid Active Learning and Kernel PCA (HALKP) to address these two issues. In the first stage, HALKP uses a hybrid active learning method to select some informative and representative unlabeled modules from the current version for querying their labels, then merges them into the labeled modules of the prior version to form an enhanced training set. In the second stage, HALKP employs a non-linear mapping method, kernel PCA, to extract representative features by embedding the original data of two versions into a high-dimension space. We evaluate the HALKP framework on 31 versions of 10 projects with three prevalent performance indicators. The experimental results indicate that HALKP achieves encouraging results with average F-measure, g-mean and Balance of 0.480, 0.592 and 0.580, respectively and significantly outperforms nearly all baseline methods.
由于软件模块中的缺陷可能导致产品故障和经济损失,因此利用缺陷预测方法有效识别潜在缺陷模块以进行彻底检查是至关重要的,特别是在软件开发生命周期的早期阶段。对于软件项目即将到来的版本,在同一个项目中使用以前版本的历史标记缺陷数据来对当前版本进行缺陷预测,也就是跨版本缺陷预测(CVDP)是很实用的。然而,软件开发是一个动态的演进过程,它可能导致数据分布(比如缺陷特征)在不同版本之间变化。此外,原始特征通常不能很好地揭示数据背后的内在结构信息。因此,执行有效的CVDP是具有挑战性的。在本文中,我们提出了一个结合混合主动学习和核主成分分析(HALKP)的两阶段CVDP框架来解决这两个问题。在第一阶段,HALKP采用混合主动学习方法,从当前版本中选择一些信息量大且具有代表性的未标记模块进行标签查询,然后将其合并到之前版本的已标记模块中,形成增强训练集。第二阶段,HALKP采用非线性映射方法核主成分分析法,将两个版本的原始数据嵌入到高维空间中,提取具有代表性的特征。我们用三个普遍的绩效指标对10个项目的31个版本的HALKP框架进行了评估。实验结果表明,HALKP取得了令人鼓舞的结果,平均F-measure、g-mean和Balance分别为0.480、0.592和0.580,显著优于几乎所有基线方法。
{"title":"Cross-version defect prediction via hybrid active learning with kernel principal component analysis","authors":"Zhou Xu, Jin Liu, Xiapu Luo, Zhang Tao","doi":"10.1109/SANER.2018.8330210","DOIUrl":"https://doi.org/10.1109/SANER.2018.8330210","url":null,"abstract":"As defects in software modules may cause product failure and financial loss, it is critical to utilize defect prediction methods to effectively identify the potentially defective modules for a thorough inspection, especially in the early stage of software development lifecycle. For an upcoming version of a software project, it is practical to employ the historical labeled defect data of the prior versions within the same project to conduct defect prediction on the current version, i.e., Cross-Version Defect Prediction (CVDP). However, software development is a dynamic evolution process that may cause the data distribution (such as defect characteristics) to vary across versions. Furthermore, the raw features usually may not well reveal the intrinsic structure information behind the data. Therefore, it is challenging to perform effective CVDP. In this paper, we propose a two-phase CVDP framework that combines Hybrid Active Learning and Kernel PCA (HALKP) to address these two issues. In the first stage, HALKP uses a hybrid active learning method to select some informative and representative unlabeled modules from the current version for querying their labels, then merges them into the labeled modules of the prior version to form an enhanced training set. In the second stage, HALKP employs a non-linear mapping method, kernel PCA, to extract representative features by embedding the original data of two versions into a high-dimension space. We evaluate the HALKP framework on 31 versions of 10 projects with three prevalent performance indicators. The experimental results indicate that HALKP achieves encouraging results with average F-measure, g-mean and Balance of 0.480, 0.592 and 0.580, respectively and significantly outperforms nearly all baseline methods.","PeriodicalId":6602,"journal":{"name":"2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"41 1","pages":"209-220"},"PeriodicalIF":0.0,"publicationDate":"2018-03-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90517518","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}
引用次数: 52
期刊
2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)
全部 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