首页 > 最新文献

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

英文 中文
Message from the General Chair and the Program Co-Chairs 总主委和计划联合主委的信息
Pub Date : 2018-09-01 DOI: 10.1109/icsme.2018.00005
On behalf of the entire conference committee, it is our great pleasure to welcome you to Madrid for ICSME 2018, the 34th IEEE International Conference on Software Maintenance and Evolution. ICSME is the premier international forum for researchers and practitioners from academia, industry, and government to present, discuss, and debate the most recent ideas, experiences, and challenges in software maintenance and evolution.
{"title":"Message from the General Chair and the Program Co-Chairs","authors":"","doi":"10.1109/icsme.2018.00005","DOIUrl":"https://doi.org/10.1109/icsme.2018.00005","url":null,"abstract":"On behalf of the entire conference committee, it is our great pleasure to welcome you to Madrid for ICSME 2018, the 34th IEEE International Conference on Software Maintenance and Evolution. ICSME is the premier international forum for researchers and practitioners from academia, industry, and government to present, discuss, and debate the most recent ideas, experiences, and challenges in software maintenance and evolution.","PeriodicalId":6572,"journal":{"name":"2018 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"31 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75290565","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
Combining Search-Based Testing and Dynamic Symbolic Execution by Evolvability Metric 基于演化度量的搜索测试与动态符号执行相结合
Pub Date : 2018-09-01 DOI: 10.1109/ICSME.2018.00015
Ziming Zhu, L. Jiao, Xiong Xu
In the area of software testing, search-based software testing (SBST) and dynamic symbolic execution (DSE) are two efficient testing techniques for test cases generation. However, both of the two approaches have their own drawbacks: The efficiency of SBST depends on the guidance of the fitness landscape. When the fitness landscape has some plateaus with no gradient for directing search process, SBST may degenerate into random testing. DSE relies on the capability of constraint solvers. It may struggle to generate test cases with constraints that are difficult to be solved. In this paper, we combine the strengths of both techniques. SBST is used to help DSE for solving difficult constraints and DSE is used to improve the efficiency and capability of SBST. Evolvability metric is introduced for measuring when the software is not suitable for SBST. A novel switch mechanism based on the evolvability metric between SBST and DSE is proposed in this paper to help to choose the proper technique at the proper time. Experiments on several benchmarks reveal the promising results of our proposal.
在软件测试领域,基于搜索的软件测试(SBST)和动态符号执行(DSE)是生成测试用例的两种有效的测试技术。然而,这两种方法都有自己的缺点:SBST的效率取决于健身景观的指导。当适应度景观存在平台且没有梯度用于指导搜索过程时,SBST可能退化为随机检验。DSE依赖于约束求解器的能力。它可能会努力生成带有难以解决的约束的测试用例。在本文中,我们结合了这两种技术的优势。利用SBST帮助DSE解决困难约束,利用DSE提高SBST的效率和能力。引入了可演化性度量,用于在软件不适合SBST时进行度量。本文提出了一种基于演化度度量的SBST和DSE切换机制,以帮助在适当的时间选择适当的技术。在几个基准上的实验显示了我们的建议的有希望的结果。
{"title":"Combining Search-Based Testing and Dynamic Symbolic Execution by Evolvability Metric","authors":"Ziming Zhu, L. Jiao, Xiong Xu","doi":"10.1109/ICSME.2018.00015","DOIUrl":"https://doi.org/10.1109/ICSME.2018.00015","url":null,"abstract":"In the area of software testing, search-based software testing (SBST) and dynamic symbolic execution (DSE) are two efficient testing techniques for test cases generation. However, both of the two approaches have their own drawbacks: The efficiency of SBST depends on the guidance of the fitness landscape. When the fitness landscape has some plateaus with no gradient for directing search process, SBST may degenerate into random testing. DSE relies on the capability of constraint solvers. It may struggle to generate test cases with constraints that are difficult to be solved. In this paper, we combine the strengths of both techniques. SBST is used to help DSE for solving difficult constraints and DSE is used to improve the efficiency and capability of SBST. Evolvability metric is introduced for measuring when the software is not suitable for SBST. A novel switch mechanism based on the evolvability metric between SBST and DSE is proposed in this paper to help to choose the proper technique at the proper time. Experiments on several benchmarks reveal the promising results of our proposal.","PeriodicalId":6572,"journal":{"name":"2018 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"40 1","pages":"59-68"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"78529398","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
TUNA: TUning Naturalness-Based Analysis 金枪鱼:调整基于自然的分析
Pub Date : 2018-09-01 DOI: 10.1109/ICSME.2018.00087
Matthieu Jimenez, Maxime Cordy, Yves Le Traon, Mike Papadakis
Natural language processing techniques, in particular n-gram models, have been applied successfully to facilitate a number of software engineering tasks. However, in our related ICSME '18 paper, we have shown that the conclusions of a study can drastically change with respect to how the code is tokenized and how the used n-gram model is parameterized. These choices are thus of utmost importance, and one must carefully make them. To show this and allow the community to benefit from our work, we have developed TUNA (TUning Naturalness-based Analysis), a Java software artifact to perform naturalness-based analyses of source code. To the best of our knowledge, TUNA is the first open-source, end-to-end toolchain to carry out source code analyses based on naturalness.
自然语言处理技术,特别是n-gram模型,已经成功地应用于许多软件工程任务。然而,在我们相关的ICSME '18论文中,我们已经表明,研究的结论可以在代码如何标记和使用的n-gram模型如何参数化方面发生巨大变化。因此,这些选择是极其重要的,必须谨慎地作出选择。为了显示这一点并允许社区从我们的工作中受益,我们开发了TUNA(基于自然的分析调优),这是一个Java软件工件,用于执行基于自然的源代码分析。据我们所知,TUNA是第一个基于自然性执行源代码分析的开源端到端工具链。
{"title":"TUNA: TUning Naturalness-Based Analysis","authors":"Matthieu Jimenez, Maxime Cordy, Yves Le Traon, Mike Papadakis","doi":"10.1109/ICSME.2018.00087","DOIUrl":"https://doi.org/10.1109/ICSME.2018.00087","url":null,"abstract":"Natural language processing techniques, in particular n-gram models, have been applied successfully to facilitate a number of software engineering tasks. However, in our related ICSME '18 paper, we have shown that the conclusions of a study can drastically change with respect to how the code is tokenized and how the used n-gram model is parameterized. These choices are thus of utmost importance, and one must carefully make them. To show this and allow the community to benefit from our work, we have developed TUNA (TUning Naturalness-based Analysis), a Java software artifact to perform naturalness-based analyses of source code. To the best of our knowledge, TUNA is the first open-source, end-to-end toolchain to carry out source code analyses based on naturalness.","PeriodicalId":6572,"journal":{"name":"2018 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"4 1","pages":"715-715"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75958014","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
An Experience Report of the API Evolution and Maintenance for Software Platforms 软件平台API演进与维护经验报告
Pub Date : 2018-09-01 DOI: 10.1109/ICSME.2018.00034
Hobum Kwon, Juwon Ahn, Sun-Tae Choi, Jakub Siewierski, Piotr Kosko, Piotr Szydelko
Development and maintenance of software plat-form APIs are challenging because new APIs are constantly added in new software platforms. Furthermore, software plat-form API development requires a lot of stakeholders to work together on tight release schedules. Application developers use platform's APIs to create their applications and therefore providing a well-defined and comprehensive set of platform APIs may be the most basic requirement for software platforms. To provide such APIs, API usability should be secured and API backward compatibility should be guaranteed in subsequent platform re-leases. In these circumstances, sharing lessons learned from multiple years of experience of platform API development, mainte-nance, and releases using an integrated API development process can benefit API researchers and practitioners who have similar needs to create or adopt API development process for their projects. In this paper we share an API development and mainte-nance process for multi-device Tizen software platform, which we call the Tizen API Change Request (ACR) process. The process has been used among various Tizen API stakeholders for several years of Tizen platform and SDK releases to keep API usability and compatibility high. We believe the process can be further applied to various software platforms and projects to systematically develop and maintain their APIs.
软件平台api的开发和维护具有挑战性,因为新的api不断地添加到新的软件平台中。此外,软件平台API开发需要许多利益相关者在紧凑的发布时间表上一起工作。应用程序开发人员使用平台的api来创建他们的应用程序,因此提供一套定义良好且全面的平台api可能是软件平台的最基本要求。为了提供这样的API,应该保证API的可用性,并在随后的平台发布中保证API的向后兼容性。在这种情况下,分享多年来使用集成API开发过程进行平台API开发、维护和发布的经验教训,可以使API研究人员和从业者受益,他们有类似的需求来为他们的项目创建或采用API开发过程。在本文中,我们分享了一个多设备Tizen软件平台的API开发和维护过程,我们称之为Tizen API变更请求(ACR)过程。这个过程已经在Tizen平台和SDK版本的各种Tizen API利益相关者中使用了好几年,以保持API的可用性和兼容性。我们相信这个过程可以进一步应用于各种软件平台和项目,以系统地开发和维护它们的api。
{"title":"An Experience Report of the API Evolution and Maintenance for Software Platforms","authors":"Hobum Kwon, Juwon Ahn, Sun-Tae Choi, Jakub Siewierski, Piotr Kosko, Piotr Szydelko","doi":"10.1109/ICSME.2018.00034","DOIUrl":"https://doi.org/10.1109/ICSME.2018.00034","url":null,"abstract":"Development and maintenance of software plat-form APIs are challenging because new APIs are constantly added in new software platforms. Furthermore, software plat-form API development requires a lot of stakeholders to work together on tight release schedules. Application developers use platform's APIs to create their applications and therefore providing a well-defined and comprehensive set of platform APIs may be the most basic requirement for software platforms. To provide such APIs, API usability should be secured and API backward compatibility should be guaranteed in subsequent platform re-leases. In these circumstances, sharing lessons learned from multiple years of experience of platform API development, mainte-nance, and releases using an integrated API development process can benefit API researchers and practitioners who have similar needs to create or adopt API development process for their projects. In this paper we share an API development and mainte-nance process for multi-device Tizen software platform, which we call the Tizen API Change Request (ACR) process. The process has been used among various Tizen API stakeholders for several years of Tizen platform and SDK releases to keep API usability and compatibility high. We believe the process can be further applied to various software platforms and projects to systematically develop and maintain their APIs.","PeriodicalId":6572,"journal":{"name":"2018 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"3 1","pages":"587-590"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"86388115","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
Integrating Runtime Values with Source Code to Facilitate Program Comprehension 将运行时值与源代码集成以促进程序理解
Pub Date : 2018-09-01 DOI: 10.1109/ICSME.2018.00093
Matúš Sulír
An inherently abstract nature of source code makes programs difficult to understand. In our research, we designed three techniques utilizing concrete values of variables and other expressions during program execution. RuntimeSearch is a debugger extension searching for a given string in all expressions at runtime. DynamiDoc generates documentation sentences containing examples of arguments, return values and state changes. RuntimeSamp augments source code lines in the IDE (integrated development environment) with sample variable values. In this post-doctoral article, we briefly describe these three approaches and related motivational studies, surveys and evaluations. We also reflect on the PhD study, providing advice for current students. Finally, short-term and long-term future work is described.
源代码固有的抽象性质使程序难以理解。在我们的研究中,我们设计了三种在程序执行过程中利用变量的具体值和其他表达式的技术。RuntimeSearch是一个调试器扩展,在运行时搜索所有表达式中的给定字符串。DynamiDoc生成包含参数、返回值和状态更改示例的文档句子。RuntimeSamp用示例变量值在IDE(集成开发环境)中增加源代码行。在这篇博士后文章中,我们简要地描述了这三种方法以及相关的动机研究、调查和评估。我们也反思博士研究,为在读学生提供建议。最后,对今后的短期和长期工作进行了展望。
{"title":"Integrating Runtime Values with Source Code to Facilitate Program Comprehension","authors":"Matúš Sulír","doi":"10.1109/ICSME.2018.00093","DOIUrl":"https://doi.org/10.1109/ICSME.2018.00093","url":null,"abstract":"An inherently abstract nature of source code makes programs difficult to understand. In our research, we designed three techniques utilizing concrete values of variables and other expressions during program execution. RuntimeSearch is a debugger extension searching for a given string in all expressions at runtime. DynamiDoc generates documentation sentences containing examples of arguments, return values and state changes. RuntimeSamp augments source code lines in the IDE (integrated development environment) with sample variable values. In this post-doctoral article, we briefly describe these three approaches and related motivational studies, surveys and evaluations. We also reflect on the PhD study, providing advice for current students. Finally, short-term and long-term future work is described.","PeriodicalId":6572,"journal":{"name":"2018 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"1 1","pages":"743-748"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90358367","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
Dead Code 死代码
Pub Date : 2018-09-01 DOI: 10.1109/ICSME.2018.00092
Simone Romano
Dead code is a bad smell. It is conjectured to be harmful and it appears to be also a common phenomenon in software systems. Surprisingly, dead code has received little empirical attention from the software engineering research community. This post-doctoral track paper shows the main results of a multi-study investigation into dead code with an overarching goal to study when and why developers introduce dead code, how they perceive and cope with it, and whether dead code is harmful. This investigation is composed of semi-structured interviews with software professionals and four experiments at the University of Basilicata and the College of William & Mary. The results suggest that it is worth studying dead code not only in maintenance and evolution phases, where the results suggest that its presence is detrimental to developers, but also in design and implementation phases, where source code is born dead because developers consider dead code as a sort of reuse means. The results also foster the development of tools for detecting dead code. In this respect, two approaches were proposed and then implemented in two prototypes of supporting tool.
死代码是一种难闻的气味。它被认为是有害的,似乎也是软件系统中常见的现象。令人惊讶的是,死代码很少得到软件工程研究社区的经验关注。这篇博士后跟踪论文展示了对死代码的多项研究调查的主要结果,其总体目标是研究开发人员何时以及为什么引入死代码,他们如何看待和处理它,以及死代码是否有害。本调查由对软件专业人员的半结构化访谈和在巴西利卡塔大学和威廉玛丽学院进行的四次实验组成。结果表明,不仅在维护和发展阶段(结果表明它的存在对开发人员有害)研究死代码是值得的,而且在设计和实现阶段(因为开发人员将死代码视为一种重用手段)研究死代码也是值得的。研究结果还促进了检测死代码的工具的开发。在这方面,提出了两种方法,然后在两个支持工具的原型中实现。
{"title":"Dead Code","authors":"Simone Romano","doi":"10.1109/ICSME.2018.00092","DOIUrl":"https://doi.org/10.1109/ICSME.2018.00092","url":null,"abstract":"Dead code is a bad smell. It is conjectured to be harmful and it appears to be also a common phenomenon in software systems. Surprisingly, dead code has received little empirical attention from the software engineering research community. This post-doctoral track paper shows the main results of a multi-study investigation into dead code with an overarching goal to study when and why developers introduce dead code, how they perceive and cope with it, and whether dead code is harmful. This investigation is composed of semi-structured interviews with software professionals and four experiments at the University of Basilicata and the College of William & Mary. The results suggest that it is worth studying dead code not only in maintenance and evolution phases, where the results suggest that its presence is detrimental to developers, but also in design and implementation phases, where source code is born dead because developers consider dead code as a sort of reuse means. The results also foster the development of tools for detecting dead code. In this respect, two approaches were proposed and then implemented in two prototypes of supporting tool.","PeriodicalId":6572,"journal":{"name":"2018 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"40 1","pages":"737-742"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90515330","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
Improving Code: The (Mis) Perception of Quality Metrics 改进代码:质量度量的(错误)感知
Pub Date : 2018-09-01 DOI: 10.1109/ICSME.2018.00017
Jevgenija Pantiuchina, Michele Lanza, G. Bavota
Code quality metrics are widely used to identify design flaws (e.g., code smells) as well as to act as fitness functions for refactoring recommenders. Both these applications imply a strong assumption: quality metrics are able to assess code quality as perceived by developers. Indeed, code smell detectors and refactoring recommenders should be able to identify design flaws/recommend refactorings that are meaningful from the developer's point-of-view. While such an assumption might look reasonable, there is limited empirical evidence supporting it. We aim at bridging this gap by empirically investigating whether quality metrics are able to capture code quality improvement as perceived by developers. While previous studies surveyed developers to investigate whether metrics align with their perception of code quality, we mine commits in which developers clearly state in the commit message their aim of improving one of four quality attributes: cohesion, coupling, code readability, and code complexity. Then, we use state-of-the-art metrics to assess the change brought by each of those commits to the specific quality attribute it targets. We found that, more often than not the considered quality metrics were not able to capture the quality improvement as perceived by developers (e.g., the developer states "improved the cohesion of class C", but no quality metric captures such an improvement).
代码质量度量被广泛用于识别设计缺陷(例如,代码气味),以及作为重构推荐的适应度函数。这两个应用程序都暗示了一个强有力的假设:质量度量能够评估开发人员所感知的代码质量。实际上,代码气味检测器和重构推荐器应该能够识别设计缺陷/推荐从开发人员的角度来看有意义的重构。虽然这样的假设可能看起来合理,但支持它的经验证据有限。我们的目标是通过经验调查质量度量是否能够捕获开发人员所感知的代码质量改进来弥合这一差距。虽然之前的研究调查了开发人员,以调查度量标准是否与他们对代码质量的看法一致,但我们在提交中挖掘了开发人员在提交消息中清楚地声明他们提高四个质量属性之一的目标:内聚、耦合、代码可读性和代码复杂性。然后,我们使用最先进的度量标准来评估每个提交对其目标的特定质量属性所带来的更改。我们发现,通常考虑的质量度量标准不能捕获开发人员感知到的质量改进(例如,开发人员声明“改进了类C的内聚性”,但是没有质量度量标准捕获这样的改进)。
{"title":"Improving Code: The (Mis) Perception of Quality Metrics","authors":"Jevgenija Pantiuchina, Michele Lanza, G. Bavota","doi":"10.1109/ICSME.2018.00017","DOIUrl":"https://doi.org/10.1109/ICSME.2018.00017","url":null,"abstract":"Code quality metrics are widely used to identify design flaws (e.g., code smells) as well as to act as fitness functions for refactoring recommenders. Both these applications imply a strong assumption: quality metrics are able to assess code quality as perceived by developers. Indeed, code smell detectors and refactoring recommenders should be able to identify design flaws/recommend refactorings that are meaningful from the developer's point-of-view. While such an assumption might look reasonable, there is limited empirical evidence supporting it. We aim at bridging this gap by empirically investigating whether quality metrics are able to capture code quality improvement as perceived by developers. While previous studies surveyed developers to investigate whether metrics align with their perception of code quality, we mine commits in which developers clearly state in the commit message their aim of improving one of four quality attributes: cohesion, coupling, code readability, and code complexity. Then, we use state-of-the-art metrics to assess the change brought by each of those commits to the specific quality attribute it targets. We found that, more often than not the considered quality metrics were not able to capture the quality improvement as perceived by developers (e.g., the developer states \"improved the cohesion of class C\", but no quality metric captures such an improvement).","PeriodicalId":6572,"journal":{"name":"2018 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"1 1","pages":"80-91"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89762525","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}
引用次数: 51
Developers' Game: A Preliminary Study Concerning a Tool for Automated Developers Assessment 开发者游戏:关于开发者自动评估工具的初步研究
Pub Date : 2018-09-01 DOI: 10.1109/ICSME.2018.00079
W. Fracz, J. Dajda
These days, despite dynamic development of the software industry there is still no proven and accurate assessment method of developers' performance. Current solutions are based on limited set of factors that can be easily measured by managers, such as the number of hours worked, issues closed, or lines of code written. However, there is more than that: developers write code of better or worse quality, they perform code reviews and code refactorings. To answer these needs we have created the Code Review Analyzer (CRA) tool that uses information gathered in code review platforms to assess developers based on their work style. Among others, it collects information on commits frequency, number of code review rejections and code reviews performed. This information is used to calculate developers performance in a continuous manner and to introduce gamification techniques into the team space by providing developers with their ranking and awarding them with various achievement badges. Afterwards, the tool was experimentally evaluated in order to prove the evaluation accuracy but also to verify the motivational impact of the gamification techniques. The CRA tool demonstration can be seen at https://youtu.be/dUFFxCeH-ok.
目前,尽管软件行业在不断发展,但对于开发人员的绩效评估方法仍然缺乏成熟、准确的评价方法。当前的解决方案基于一组有限的因素,这些因素可以很容易地被管理人员衡量,比如工作时间、解决的问题或编写的代码行数。然而,还有更多:开发人员编写的代码质量或好或坏,他们执行代码审查和代码重构。为了满足这些需求,我们创建了代码审查分析器(CRA)工具,它使用在代码审查平台中收集的信息来根据开发人员的工作风格评估他们。其中,它收集有关提交频率、代码审查拒绝数量和执行代码审查的信息。这些信息用于持续计算开发者的表现,并通过向开发者提供他们的排名和奖励各种成就徽章,将游戏化技术引入团队空间。随后,对该工具进行了实验评估,以证明评估的准确性,同时也验证了游戏化技术的动机影响。CRA工具演示可以在https://youtu.be/dUFFxCeH-ok上看到。
{"title":"Developers' Game: A Preliminary Study Concerning a Tool for Automated Developers Assessment","authors":"W. Fracz, J. Dajda","doi":"10.1109/ICSME.2018.00079","DOIUrl":"https://doi.org/10.1109/ICSME.2018.00079","url":null,"abstract":"These days, despite dynamic development of the software industry there is still no proven and accurate assessment method of developers' performance. Current solutions are based on limited set of factors that can be easily measured by managers, such as the number of hours worked, issues closed, or lines of code written. However, there is more than that: developers write code of better or worse quality, they perform code reviews and code refactorings. To answer these needs we have created the Code Review Analyzer (CRA) tool that uses information gathered in code review platforms to assess developers based on their work style. Among others, it collects information on commits frequency, number of code review rejections and code reviews performed. This information is used to calculate developers performance in a continuous manner and to introduce gamification techniques into the team space by providing developers with their ranking and awarding them with various achievement badges. Afterwards, the tool was experimentally evaluated in order to prove the evaluation accuracy but also to verify the motivational impact of the gamification techniques. The CRA tool demonstration can be seen at https://youtu.be/dUFFxCeH-ok.","PeriodicalId":6572,"journal":{"name":"2018 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"16 1","pages":"695-699"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81414770","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
Reproducible Interference-Aware Mobile Testing 可重复的干扰感知移动测试
Pub Date : 2018-09-01 DOI: 10.1109/ICSME.2018.00013
Weilun Xiong, Shihao Chen, Yuning Zhang, Mingyuan Xia, Zhengwei Qi
Mobile apps are born to work in an environment with ever-changing network connectivity, random hardware interruption, unanticipated task switches, etc. However, such interference cases are often oblivious in traditional mobile testing but happen frequently and sophisticatedly in the field, causing various robustness, responsiveness and consistency problems. In this paper, we propose JazzDroid to introduce interference to mobile testing. JazzDroid adopts a gray-box approach to instrument apps at binary level such that interference logic is inlined with app execution and can be triggered to effectively affect normal execution. Then, JazzDroid repeatedly orchestrates the instrumented app through app developers' existing tests and continuously randomizes interference on the fly to reveal possible faulty executions. Upon discovering problems, JazzDroid generates a test script with the user inputs from developers' tests and the interference injected for developers to reproduce the problems. At a high level, JazzDroid can be seamlessly integrated into app developers' testing procedures, detecting more problems from existing tests. We implement JazzDroid to function on unmodified apps directly from app markets and interface with de facto industrial testing toolchain. JazzDroid improves mobile testing by discovering 6x more problems, including crashes, functional bugs, UI consistency issues and common bug patterns that fail numerous apps.
移动应用生来就是要在一个不断变化的网络连接、随机硬件中断、意外任务切换等环境中工作的。然而,这种干扰情况在传统的移动测试中往往被忽略,但在实际中却频繁而复杂地发生,造成了各种鲁棒性、响应性和一致性问题。在本文中,我们提出了JazzDroid来引入干扰到移动测试。JazzDroid采用灰盒方法在二进制级别对应用程序进行检测,从而使干扰逻辑与应用程序执行内联,并且可以触发以有效地影响正常执行。然后,JazzDroid通过应用程序开发人员的现有测试反复编排仪表化应用程序,并不断随机干扰,以发现可能的错误执行。一旦发现问题,JazzDroid就会生成一个测试脚本,其中包含来自开发人员测试的用户输入和注入给开发人员的干扰,以重现问题。在高层次上,JazzDroid可以无缝地集成到应用程序开发人员的测试过程中,从现有的测试中发现更多的问题。我们实现JazzDroid功能在未经修改的应用程序直接从应用程序市场和接口事实上的工业测试工具链。JazzDroid通过发现6倍以上的问题来改进手机测试,包括崩溃、功能bug、UI一致性问题和导致大量应用失败的常见bug模式。
{"title":"Reproducible Interference-Aware Mobile Testing","authors":"Weilun Xiong, Shihao Chen, Yuning Zhang, Mingyuan Xia, Zhengwei Qi","doi":"10.1109/ICSME.2018.00013","DOIUrl":"https://doi.org/10.1109/ICSME.2018.00013","url":null,"abstract":"Mobile apps are born to work in an environment with ever-changing network connectivity, random hardware interruption, unanticipated task switches, etc. However, such interference cases are often oblivious in traditional mobile testing but happen frequently and sophisticatedly in the field, causing various robustness, responsiveness and consistency problems. In this paper, we propose JazzDroid to introduce interference to mobile testing. JazzDroid adopts a gray-box approach to instrument apps at binary level such that interference logic is inlined with app execution and can be triggered to effectively affect normal execution. Then, JazzDroid repeatedly orchestrates the instrumented app through app developers' existing tests and continuously randomizes interference on the fly to reveal possible faulty executions. Upon discovering problems, JazzDroid generates a test script with the user inputs from developers' tests and the interference injected for developers to reproduce the problems. At a high level, JazzDroid can be seamlessly integrated into app developers' testing procedures, detecting more problems from existing tests. We implement JazzDroid to function on unmodified apps directly from app markets and interface with de facto industrial testing toolchain. JazzDroid improves mobile testing by discovering 6x more problems, including crashes, functional bugs, UI consistency issues and common bug patterns that fail numerous apps.","PeriodicalId":6572,"journal":{"name":"2018 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"31 1","pages":"36-47"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"82417488","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}
引用次数: 7
Title Page i 第1页
Pub Date : 2018-09-01 DOI: 10.1109/icsme.2018.00001
{"title":"Title Page i","authors":"","doi":"10.1109/icsme.2018.00001","DOIUrl":"https://doi.org/10.1109/icsme.2018.00001","url":null,"abstract":"","PeriodicalId":6572,"journal":{"name":"2018 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"16 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77125343","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
期刊
2018 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