首页 > 最新文献

2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR)最新文献

英文 中文
Automatic Clustering of Code Changes 代码变更的自动聚类
Pub Date : 2016-05-14 DOI: 10.1145/2901739.2901749
Patrick Kreutzer, Georg Dotzler, M. Ring, B. Eskofier, M. Philippsen
Several research tools and projects require groups of similar code changes asinput. Examples are recommendation and bug finding tools that can providevaluable information to developers based on such data. With the help ofsimilar code changes they can simplify the application of bug fixes and codechanges to multiple locations in a project. But despite their benefit, thepractical value of existing tools is limited, as users need to manually specifythe input data, i.e., the groups of similar code changes.To overcome this drawback, this paper presents and evaluates two syntacticalsimilarity metrics, one of them is specifically designed to run fast, incombination with two carefully selected and self-tuning clustering algorithmsto automatically detect groups of similar code changes.We evaluate the combinations of metrics and clustering algorithms by applyingthem to several open source projects and also publish the detected groups ofsimilar code changes online as a reference dataset. The automatically detectedgroups of similar code changes work well when used as input for LASE, arecommendation system for code changes.
一些研究工具和项目需要一组类似的代码更改作为输入。例如,推荐和bug查找工具可以根据这些数据为开发人员提供有价值的信息。在类似代码更改的帮助下,它们可以简化bug修复和代码更改在项目中多个位置的应用程序。但是,尽管它们有好处,现有工具的实用价值是有限的,因为用户需要手动指定输入数据,即相似代码更改的组。为了克服这一缺点,本文提出并评估了两种语法相似性度量,其中一种是专门设计用于快速运行的,与两种精心选择和自调优的聚类算法相结合,以自动检测相似代码更改的组。我们通过将度量和聚类算法应用于几个开源项目来评估它们的组合,并将检测到的类似代码更改组作为参考数据集在线发布。当将自动检测到的相似代码更改组用作LASE(代码更改推荐系统)的输入时,效果良好。
{"title":"Automatic Clustering of Code Changes","authors":"Patrick Kreutzer, Georg Dotzler, M. Ring, B. Eskofier, M. Philippsen","doi":"10.1145/2901739.2901749","DOIUrl":"https://doi.org/10.1145/2901739.2901749","url":null,"abstract":"Several research tools and projects require groups of similar code changes asinput. Examples are recommendation and bug finding tools that can providevaluable information to developers based on such data. With the help ofsimilar code changes they can simplify the application of bug fixes and codechanges to multiple locations in a project. But despite their benefit, thepractical value of existing tools is limited, as users need to manually specifythe input data, i.e., the groups of similar code changes.To overcome this drawback, this paper presents and evaluates two syntacticalsimilarity metrics, one of them is specifically designed to run fast, incombination with two carefully selected and self-tuning clustering algorithmsto automatically detect groups of similar code changes.We evaluate the combinations of metrics and clustering algorithms by applyingthem to several open source projects and also publish the detected groups ofsimilar code changes online as a reference dataset. The automatically detectedgroups of similar code changes work well when used as input for LASE, arecommendation system for code changes.","PeriodicalId":6621,"journal":{"name":"2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR)","volume":"298 1","pages":"61-72"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"86759131","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}
引用次数: 35
Mining Test Repositories for Automatic Detection of UI Performance Regressions in Android Apps 挖掘测试库以自动检测Android应用中的UI性能退化
Pub Date : 2016-05-14 DOI: 10.1145/2901739.2901747
María Gómez, Romain Rouvoy, Bram Adams, L. Seinturier
The reputation of a mobile app vendor is crucial to survive amongst the ever increasing competition. However this reputation largely depends on the quality of the apps, both functional and non-functional. One major non-functional requirement of mobile apps is to guarantee smooth UI interactions, since choppy scrolling or navigation caused by performance problems on a mobile device’s limited hardware resources, is highly annoying for end-users. The main research challenge of automatically identifying UI performance problems on mobile devices is that the performance of an app highly varies depending on its context—i.e., the hardware and software configurations on which it runs. This paper presents DUNE, an approach to automatically detect UI performance degradations in Android apps while taking into account context differences. First, DUNE builds an ensemble model of the UI performance metrics of an app from a repository of historical test runs that are known to be acceptable, for different configurations of context. Then, DUNE uses this model to flag UI performance deviations (regressions and optimizations) in new test runs. We empirically evaluate DUNE on real UI performance defects reported in two Android apps, and one manually injected defect in a third app. We demonstrate that this toolset can be successfully used to spot UI performance regressions at a fine granularity.
手机应用供应商的声誉对于在日益激烈的竞争中生存至关重要。然而,这种声誉在很大程度上取决于应用程序的质量,包括功能和非功能。移动应用的一个主要非功能需求是保证流畅的UI交互,因为移动设备有限的硬件资源上的性能问题导致的滚动或导航不稳定,对最终用户来说是非常烦人的。在移动设备上自动识别UI性能问题的主要研究挑战是,应用程序的性能取决于其上下文。,它运行的硬件和软件配置。本文介绍了DUNE,一种在考虑上下文差异的情况下自动检测Android应用中UI性能下降的方法。首先,DUNE根据历史测试运行的存储库构建应用程序UI性能指标的集成模型,这些存储库已知是可接受的,适用于不同的上下文配置。然后,DUNE使用该模型在新的测试运行中标记UI性能偏差(回归和优化)。我们根据两个Android应用中报告的真实UI性能缺陷和第三个应用中手动注入的缺陷对DUNE进行了实证评估。我们证明,该工具集可以成功地用于在细粒度上发现UI性能退化。
{"title":"Mining Test Repositories for Automatic Detection of UI Performance Regressions in Android Apps","authors":"María Gómez, Romain Rouvoy, Bram Adams, L. Seinturier","doi":"10.1145/2901739.2901747","DOIUrl":"https://doi.org/10.1145/2901739.2901747","url":null,"abstract":"The reputation of a mobile app vendor is crucial to survive amongst the ever increasing competition. However this reputation largely depends on the quality of the apps, both functional and non-functional. One major non-functional requirement of mobile apps is to guarantee smooth UI interactions, since choppy scrolling or navigation caused by performance problems on a mobile device’s limited hardware resources, is highly annoying for end-users. The main research challenge of automatically identifying UI performance problems on mobile devices is that the performance of an app highly varies depending on its context—i.e., the hardware and software configurations on which it runs. This paper presents DUNE, an approach to automatically detect UI performance degradations in Android apps while taking into account context differences. First, DUNE builds an ensemble model of the UI performance metrics of an app from a repository of historical test runs that are known to be acceptable, for different configurations of context. Then, DUNE uses this model to flag UI performance deviations (regressions and optimizations) in new test runs. We empirically evaluate DUNE on real UI performance defects reported in two Android apps, and one manually injected defect in a third app. We demonstrate that this toolset can be successfully used to spot UI performance regressions at a fine granularity.","PeriodicalId":6621,"journal":{"name":"2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR)","volume":"27 1","pages":"13-24"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"86843543","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}
引用次数: 24
Logging Library Migrations: A Case Study for the Apache Software Foundation Projects 日志库迁移:Apache软件基金会项目的案例研究
Pub Date : 2016-05-14 DOI: 10.1145/2901739.2901769
Suhas Kabinna, C. Bezemer, Weiyi Shang, A. Hassan
Developers leverage logs for debugging, performance monitoring and load testing. The increased dependence on logs has lead to the development of numerous logging libraries which help developers in logging their code. As new libraries emerge and current ones evolve, projects often migrate from an older library to another one.In this paper we study logging library migrations within Apache Software Foundation (ASF) projects. From our manual analysis of JIRA issues, we find that 33 out of 223 (i.e., 14%) ASF projects have undergone at least one logging library migration. We find that the five main drivers for logging library migration are: 1) to increase flexibility (i.e., the ability to use different logging libraries within a project) 2) to improve performance, 3) to reduce effort spent on code maintenance, 4) to reduce dependence on other libraries and 5) to obtain specific features from the new logging library. We find that over 70% of the migrated projects encounter on average two post-migration bugs due to the new logging library. Furthermore, our findings suggest that performance (traditionally one of the primary drivers for migrations) is rarely improved after a migration.
开发人员利用日志进行调试、性能监控和负载测试。对日志依赖的增加导致了大量日志库的开发,这些库可以帮助开发人员记录他们的代码。随着新库的出现和现有库的发展,项目经常从一个旧库迁移到另一个库。在本文中,我们研究了Apache软件基金会(ASF)项目中的日志库迁移。从我们对JIRA问题的手工分析中,我们发现223个ASF项目中有33个(即14%)至少进行了一次日志库迁移。我们发现,日志库迁移的五个主要驱动因素是:1)增加灵活性(即,在一个项目中使用不同日志库的能力)2)提高性能3)减少在代码维护上花费的精力4)减少对其他库的依赖5)从新的日志库获得特定的特性。我们发现,由于新的日志库,超过70%的迁移项目平均会遇到两个迁移后错误。此外,我们的发现表明,性能(传统上是迁移的主要驱动因素之一)在迁移之后很少得到改善。
{"title":"Logging Library Migrations: A Case Study for the Apache Software Foundation Projects","authors":"Suhas Kabinna, C. Bezemer, Weiyi Shang, A. Hassan","doi":"10.1145/2901739.2901769","DOIUrl":"https://doi.org/10.1145/2901739.2901769","url":null,"abstract":"Developers leverage logs for debugging, performance monitoring and load testing. The increased dependence on logs has lead to the development of numerous logging libraries which help developers in logging their code. As new libraries emerge and current ones evolve, projects often migrate from an older library to another one.In this paper we study logging library migrations within Apache Software Foundation (ASF) projects. From our manual analysis of JIRA issues, we find that 33 out of 223 (i.e., 14%) ASF projects have undergone at least one logging library migration. We find that the five main drivers for logging library migration are: 1) to increase flexibility (i.e., the ability to use different logging libraries within a project) 2) to improve performance, 3) to reduce effort spent on code maintenance, 4) to reduce dependence on other libraries and 5) to obtain specific features from the new logging library. We find that over 70% of the migrated projects encounter on average two post-migration bugs due to the new logging library. Furthermore, our findings suggest that performance (traditionally one of the primary drivers for migrations) is rarely improved after a migration.","PeriodicalId":6621,"journal":{"name":"2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR)","volume":"50 1","pages":"154-164"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81211408","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}
引用次数: 80
Improving Change Recommendation using Aggregated Association Rules 使用聚合关联规则改进变更建议
Pub Date : 2016-05-14 DOI: 10.1145/2901739.2901756
Thomas Rolfsnes, L. Moonen, Stefano Di Alesio, Razieh Behjati, D. Binkley
Past research has proposed association rule mining as a means to uncover the evolutionary coupling from a system’s change history. These couplings have various applications, such as improving system decomposition and recommending related changes during development. The strength of the coupling can be characterized using a variety of interestingness measures. Existing recommendation engines typically use only the rule with the highest interestingness value in situations where more than one rule applies. In contrast, we argue that multiple applicable rules indicate increased evidence, and hypothesize that the aggregation of such rules can be exploited to provide more accurate recommendations.To investigate this hypothesis we conduct an empirical study on the change histories of two large industrial systems and four large open source systems. As aggregators we adopt three cumulative gain functions from information retrieval. The experiments evaluate the three using 39 different rule interestingness measures. The results show that aggregation provides a significant impact on most measure’s value and, furthermore, leads to a significant improvement in the resulting recommendation.
过去的研究已经提出将关联规则挖掘作为从系统的变化历史中揭示进化耦合的一种手段。这些耦合有各种各样的应用,例如改进系统分解和在开发期间推荐相关的更改。耦合的强度可以使用各种有趣度度量来表征。在应用多个规则的情况下,现有的推荐引擎通常只使用具有最高兴趣值的规则。相反,我们认为多个适用规则表明证据增加,并假设可以利用这些规则的集合来提供更准确的建议。为了验证这一假设,我们对两个大型工业系统和四个大型开源系统的变化历史进行了实证研究。作为聚合器,我们采用了三个信息检索的累积增益函数。实验使用39种不同的规则有趣度度量来评估这三种规则。结果表明,聚合对大多数度量值提供了显著的影响,进而导致最终推荐的显著改进。
{"title":"Improving Change Recommendation using Aggregated Association Rules","authors":"Thomas Rolfsnes, L. Moonen, Stefano Di Alesio, Razieh Behjati, D. Binkley","doi":"10.1145/2901739.2901756","DOIUrl":"https://doi.org/10.1145/2901739.2901756","url":null,"abstract":"Past research has proposed association rule mining as a means to uncover the evolutionary coupling from a system’s change history. These couplings have various applications, such as improving system decomposition and recommending related changes during development. The strength of the coupling can be characterized using a variety of interestingness measures. Existing recommendation engines typically use only the rule with the highest interestingness value in situations where more than one rule applies. In contrast, we argue that multiple applicable rules indicate increased evidence, and hypothesize that the aggregation of such rules can be exploited to provide more accurate recommendations.To investigate this hypothesis we conduct an empirical study on the change histories of two large industrial systems and four large open source systems. As aggregators we adopt three cumulative gain functions from information retrieval. The experiments evaluate the three using 39 different rule interestingness measures. The results show that aggregation provides a significant impact on most measure’s value and, furthermore, leads to a significant improvement in the resulting recommendation.","PeriodicalId":6621,"journal":{"name":"2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR)","volume":"10 1","pages":"73-84"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84287716","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}
引用次数: 16
QualBoa: Reusability-aware Recommendations of Source Code Components 源码组件的可重用性建议
Pub Date : 2016-05-14 DOI: 10.1145/2901739.2903492
Themistoklis G. Diamantopoulos, Klearchos Thomopoulos, A. Symeonidis
Contemporary software development processes involve finding reusable software components from online repositories and integrating them to the source code, both to reduce development time and to ensure that the final software project is of high quality. Although several systems have been designed to automate this procedure by recommending components that cover the desired functionality, the reusability of these components is usually not assessed by these systems. In this work, we present QualBoa, a recommendation system for source code components that covers both the functional and the quality aspects of software component reuse. Upon retrieving components, QualBoa provides a ranking that involves not only functional matching to the query, but also a reusability score based on configurable thresholds of source code metrics. The evaluation of QualBoa indicates that it can be effective for recommending reusable source code.
当代软件开发过程包括从在线存储库中找到可重用的软件组件,并将它们集成到源代码中,以减少开发时间并确保最终的软件项目具有高质量。尽管已经设计了一些系统,通过推荐涵盖所需功能的组件来自动化此过程,但这些系统通常不会评估这些组件的可重用性。在这项工作中,我们提出了QualBoa,一个源代码组件的推荐系统,它涵盖了软件组件重用的功能和质量方面。在检索组件时,QualBoa提供一个排名,该排名不仅包括与查询的功能匹配,还包括基于源代码度量的可配置阈值的可重用性评分。对QualBoa的评估表明,它可以有效地推荐可重用的源代码。
{"title":"QualBoa: Reusability-aware Recommendations of Source Code Components","authors":"Themistoklis G. Diamantopoulos, Klearchos Thomopoulos, A. Symeonidis","doi":"10.1145/2901739.2903492","DOIUrl":"https://doi.org/10.1145/2901739.2903492","url":null,"abstract":"Contemporary software development processes involve finding reusable software components from online repositories and integrating them to the source code, both to reduce development time and to ensure that the final software project is of high quality. Although several systems have been designed to automate this procedure by recommending components that cover the desired functionality, the reusability of these components is usually not assessed by these systems. In this work, we present QualBoa, a recommendation system for source code components that covers both the functional and the quality aspects of software component reuse. Upon retrieving components, QualBoa provides a ranking that involves not only functional matching to the query, but also a reusability score based on configurable thresholds of source code metrics. The evaluation of QualBoa indicates that it can be effective for recommending reusable source code.","PeriodicalId":6621,"journal":{"name":"2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR)","volume":"17 1","pages":"488-491"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77819998","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}
引用次数: 24
How Android App Developers Manage Power Consumption? - An Empirical Study by Mining Power Management Commits Android应用开发者如何管理功耗?——基于挖矿功率管理的实证研究
Pub Date : 2016-05-14 DOI: 10.1145/2901739.2901748
Lingfeng Bao, D. Lo, Xin Xia, Xinyu Wang, Cong Tian
As Android platform becomes more and more popular, a large amount of Android applications have been developed. When developers design and implement Android applications, power consumption management is an important factor to consider since it affects the usability of the applications. Thus, it is important to help developers adopt proper strategies to manage power consumption. Interestingly, today, there is a large number of Android application repositories made publicly available in sites such as GitHub. These repositories can be mined to help crystalize common power management activities that developers do. These in turn can be used to help other developers to perform similar tasks to improve their own Android applications.In this paper, we present an empirical study of power management commits in Android applications. Our study extends that of Moura et al. who perform an empirical studyon energy aware commits; however they do not focus on Android applications and only a few of the commits that they study come from Android applications. Android applications are often different from other applications (e.g., those running on a server) due to the issue of limited battery life and the use of specialized APIs. As subjects of our empirical study, we obtain a list of open source Android applications from F-Droid and crawl their commits from Github. We get 468 power management commits after we filter the commits using a set of keywords and by performing manual analysis. These 468 power management commits are from 154 different Android applications and belong to 15 different application categories. Furthermore, we use open card sort to categorize these power management commits and we obtain 6 groups which correspond to different power management activities. Our study also reveals that for different kinds of Android application (e.g., Games, Connectivity, Navigation, etc.), the dominant power management activities differ.For example, the percentageof power management commits belonging to Power Adaptation activity is larger for Navigation applications than those belonging to other categories.
随着Android平台的日益普及,大量的Android应用程序被开发出来。当开发人员设计和实现Android应用程序时,功耗管理是一个需要考虑的重要因素,因为它会影响应用程序的可用性。因此,帮助开发人员采用适当的策略来管理功耗是非常重要的。有趣的是,今天有大量的Android应用程序库在GitHub等网站上公开提供。可以对这些存储库进行挖掘,以帮助明确开发人员执行的常见电源管理活动。反过来,这些可以用来帮助其他开发人员执行类似的任务,以改进他们自己的Android应用程序。在本文中,我们对Android应用中的电源管理提交进行了实证研究。我们的研究扩展了Moura等人的研究,他们对能量意识提交进行了实证研究;然而,他们并不关注Android应用程序,他们研究的提交中只有少数来自Android应用程序。Android应用程序通常不同于其他应用程序(例如,那些运行在服务器上的应用程序),因为有限的电池寿命和专用api的使用。作为我们实证研究的主题,我们从F-Droid获得了一个开源Android应用程序列表,并从Github抓取了它们的提交。在使用一组关键字过滤提交并执行手动分析之后,我们得到了468个电源管理提交。这468个电源管理提交来自154个不同的Android应用程序,属于15个不同的应用程序类别。此外,我们使用开卡排序对这些电源管理提交进行分类,我们得到6组对应于不同的电源管理活动。我们的研究还表明,对于不同类型的Android应用程序(例如,游戏,连接,导航等),主要的电源管理活动是不同的。例如,导航应用程序中属于电源适应活动的电源管理提交的百分比比属于其他类别的要大。
{"title":"How Android App Developers Manage Power Consumption? - An Empirical Study by Mining Power Management Commits","authors":"Lingfeng Bao, D. Lo, Xin Xia, Xinyu Wang, Cong Tian","doi":"10.1145/2901739.2901748","DOIUrl":"https://doi.org/10.1145/2901739.2901748","url":null,"abstract":"As Android platform becomes more and more popular, a large amount of Android applications have been developed. When developers design and implement Android applications, power consumption management is an important factor to consider since it affects the usability of the applications. Thus, it is important to help developers adopt proper strategies to manage power consumption. Interestingly, today, there is a large number of Android application repositories made publicly available in sites such as GitHub. These repositories can be mined to help crystalize common power management activities that developers do. These in turn can be used to help other developers to perform similar tasks to improve their own Android applications.In this paper, we present an empirical study of power management commits in Android applications. Our study extends that of Moura et al. who perform an empirical studyon energy aware commits; however they do not focus on Android applications and only a few of the commits that they study come from Android applications. Android applications are often different from other applications (e.g., those running on a server) due to the issue of limited battery life and the use of specialized APIs. As subjects of our empirical study, we obtain a list of open source Android applications from F-Droid and crawl their commits from Github. We get 468 power management commits after we filter the commits using a set of keywords and by performing manual analysis. These 468 power management commits are from 154 different Android applications and belong to 15 different application categories. Furthermore, we use open card sort to categorize these power management commits and we obtain 6 groups which correspond to different power management activities. Our study also reveals that for different kinds of Android application (e.g., Games, Connectivity, Navigation, etc.), the dominant power management activities differ.For example, the percentageof power management commits belonging to Power Adaptation activity is larger for Navigation applications than those belonging to other categories.","PeriodicalId":6621,"journal":{"name":"2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR)","volume":"65 1","pages":"37-48"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"74474194","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}
引用次数: 38
A Look at the Dynamics of the JavaScript Package Ecosystem 看看JavaScript包生态系统的动态
Pub Date : 2016-05-14 DOI: 10.1145/2901739.2901743
Erik Wittern, Philippe Suter, Shriram Rajagopalan
The node package manager (npm) serves as the frontend to a large repository of JavaScript-based software packages, which foster the development of currently huge amounts of server-side Node.js and client-side JavaScript applications. In a span of 6 years since its inception, npm has grown to become one of the largest software ecosystems, hosting more than 230, 000 packages, with hundreds of millions of package installations every week. In this paper, we examine the npm ecosystem from two complementary perspectives: 1) we look at package descriptions, the dependencies among them, and download metrics, and 2) we look at the use of npm packages in publicly available applications hosted on GitHub. In both perspectives, we consider historical data, providing us with a unique view on the evolution of the ecosystem. We present analyses that provide insights into the ecosystem’s growth and activity, into conflicting measures of package popularity, and into the adoption of package versions over time. These insights help understand the evolution of npm, design better package recommendation engines, and can help developers understand how their packages are being used.
节点包管理器(npm)是一个基于JavaScript的大型软件包存储库的前端,它促进了当前大量服务器端node .js和客户端JavaScript应用程序的开发。自成立以来的6年里,npm已经发展成为最大的软件生态系统之一,托管了超过230,000个软件包,每周有数亿个软件包安装。在本文中,我们从两个互补的角度来研究npm生态系统:1)我们看一下包的描述,它们之间的依赖关系,以及下载指标;2)我们看一下在GitHub上托管的公共应用程序中npm包的使用情况。在这两种观点中,我们都考虑了历史数据,为我们提供了关于生态系统演变的独特观点。我们提供的分析提供了对生态系统的增长和活动的见解,对包流行度的冲突度量,以及随着时间的推移对包版本的采用。这些见解有助于理解npm的演变,设计更好的包推荐引擎,并帮助开发人员了解他们的包是如何被使用的。
{"title":"A Look at the Dynamics of the JavaScript Package Ecosystem","authors":"Erik Wittern, Philippe Suter, Shriram Rajagopalan","doi":"10.1145/2901739.2901743","DOIUrl":"https://doi.org/10.1145/2901739.2901743","url":null,"abstract":"The node package manager (npm) serves as the frontend to a large repository of JavaScript-based software packages, which foster the development of currently huge amounts of server-side Node.js and client-side JavaScript applications. In a span of 6 years since its inception, npm has grown to become one of the largest software ecosystems, hosting more than 230, 000 packages, with hundreds of millions of package installations every week. In this paper, we examine the npm ecosystem from two complementary perspectives: 1) we look at package descriptions, the dependencies among them, and download metrics, and 2) we look at the use of npm packages in publicly available applications hosted on GitHub. In both perspectives, we consider historical data, providing us with a unique view on the evolution of the ecosystem. We present analyses that provide insights into the ecosystem’s growth and activity, into conflicting measures of package popularity, and into the adoption of package versions over time. These insights help understand the evolution of npm, design better package recommendation engines, and can help developers understand how their packages are being used.","PeriodicalId":6621,"journal":{"name":"2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR)","volume":"7 1","pages":"351-361"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90216627","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}
引用次数: 137
Comparing Repositories Visually with RepoGrams 可视化地比较存储库和reprogram
Pub Date : 2016-05-14 DOI: 10.1145/2901739.2901768
Daniel Rozenberg, Ivan Beschastnikh, Fabian Kosmale, Valerie Poser, Heiko Becker, Marc Palyart, G. Murphy
The availability of open source software projects has created an enormous opportunity for software engineering research. However, this availability requires that researchers judiciously select an appropriate set of evaluation targets and properly document this rationale. After all, the choice of targets may have a significant effect on evaluation.We developed a tool called RepoGrams to support researchers in qualitatively comparing and contrasting software projects over time using a set of software metrics. RepoGrams uses an extensible, metrics-based, visualization model that can be adapted to a variety of analyses. Through a user study of 14 software engineering researchers we found that RepoGrams can assist researchers in filtering candidate software projects and make more reasoned choices of targets for their evaluations. The tool is open source and is available online: http://repograms.net/
开源软件项目的可用性为软件工程研究创造了巨大的机会。然而,这种可用性要求研究人员明智地选择一组适当的评估目标,并适当地记录这一基本原理。毕竟,目标的选择可能会对评估产生重大影响。我们开发了一个叫做reprograms的工具来支持研究人员使用一组软件度量标准对软件项目进行定性比较和对比。reprograms使用可扩展的、基于度量的可视化模型,该模型可以适应各种分析。通过对14名软件工程研究人员的用户研究,我们发现reprogram可以帮助研究人员筛选候选软件项目,并为他们的评估做出更合理的目标选择。该工具是开源的,可以在线获取:http://repograms.net/
{"title":"Comparing Repositories Visually with RepoGrams","authors":"Daniel Rozenberg, Ivan Beschastnikh, Fabian Kosmale, Valerie Poser, Heiko Becker, Marc Palyart, G. Murphy","doi":"10.1145/2901739.2901768","DOIUrl":"https://doi.org/10.1145/2901739.2901768","url":null,"abstract":"The availability of open source software projects has created an enormous opportunity for software engineering research. However, this availability requires that researchers judiciously select an appropriate set of evaluation targets and properly document this rationale. After all, the choice of targets may have a significant effect on evaluation.We developed a tool called RepoGrams to support researchers in qualitatively comparing and contrasting software projects over time using a set of software metrics. RepoGrams uses an extensible, metrics-based, visualization model that can be adapted to a variety of analyses. Through a user study of 14 software engineering researchers we found that RepoGrams can assist researchers in filtering candidate software projects and make more reasoned choices of targets for their evaluations. The tool is open source and is available online: http://repograms.net/","PeriodicalId":6621,"journal":{"name":"2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR)","volume":"122 1","pages":"109-120"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90919749","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}
引用次数: 28
Characterizing Energy-Aware Software Projects: Are They Different? 节能软件项目的特征:它们是不同的吗?
Pub Date : 2016-05-14 DOI: 10.1145/2901739.2903494
S. Chowdhury, Abram Hindle
The improvement in battery technology for battery-driven devices is insignificant compared to their computing ability. In spite of the overwhelming advances in processing ability, adoption of sophisticated applications is hindered bythe fear of shorter battery life. This is one of the several reasons software developers are becoming conscious of writing energy efficient code.Research has been conducted to model software energyconsumption, to reduce energy drains, and to understanddevelopers expertise on energy efficiency. In this paper,however, we investigate the nature of energy-aware softwareprojects. We observed that projects concerned with energyissues are larger and more popular than the projects thatdo not address energy consumption. Energy related codechanges are larger than others (e.g., bug fixes). In addition,our initial results suggest that energy efficiency is mostlyaddressed on certain platforms and applications.
与电池驱动设备的计算能力相比,电池技术的进步微不足道。尽管在处理能力方面取得了压倒性的进步,但对电池寿命缩短的担忧阻碍了复杂应用的采用。这是软件开发人员逐渐意识到编写节能代码的几个原因之一。已经进行了对软件能耗进行建模的研究,以减少能源消耗,并了解开发人员在能源效率方面的专业知识。然而,在本文中,我们研究了能源意识软件项目的本质。我们注意到,与不解决能源消耗问题的项目相比,涉及能源问题的项目规模更大,更受欢迎。与能源相关的代码更改比其他代码更改更大(例如,bug修复)。此外,我们的初步结果表明,能源效率主要是在某些平台和应用上解决的。
{"title":"Characterizing Energy-Aware Software Projects: Are They Different?","authors":"S. Chowdhury, Abram Hindle","doi":"10.1145/2901739.2903494","DOIUrl":"https://doi.org/10.1145/2901739.2903494","url":null,"abstract":"The improvement in battery technology for battery-driven devices is insignificant compared to their computing ability. In spite of the overwhelming advances in processing ability, adoption of sophisticated applications is hindered bythe fear of shorter battery life. This is one of the several reasons software developers are becoming conscious of writing energy efficient code.Research has been conducted to model software energyconsumption, to reduce energy drains, and to understanddevelopers expertise on energy efficiency. In this paper,however, we investigate the nature of energy-aware softwareprojects. We observed that projects concerned with energyissues are larger and more popular than the projects thatdo not address energy consumption. Energy related codechanges are larger than others (e.g., bug fixes). In addition,our initial results suggest that energy efficiency is mostlyaddressed on certain platforms and applications.","PeriodicalId":6621,"journal":{"name":"2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR)","volume":"17 1","pages":"508-511"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81326945","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}
引用次数: 26
Mining Valence, Arousal, and Dominance - Possibilities for Detecting Burnout and Productivity? 挖掘效价、觉醒和优势——检测倦怠和生产力的可能性?
Pub Date : 2016-03-14 DOI: 10.1145/2901739.2901752
M. Mäntylä, Bram Adams, Giuseppe Destefanis, D. Graziotin, Marco Ortu
Similar to other industries, the software engineering domain is plagued by psychological diseases such as burnout, which lead developers to lose interest, exhibit lower activity and/or feel powerless. Prevention is essential for such diseases, which in turn requires early identification of symptoms. The emotional dimensions of Valence, Arousal and Dominance (VAD) are able to derive a person’s interest (attraction), level of activation and perceived level of control for a particular situation from textual communication, such as emails. As an initial step towards identifying symptoms of productivity loss in software engineering, this paper explores the VAD metrics and their properties on 700,000 Jira issue reports containing over 2,000,000 comments, since issue reports keep track of a developer’s progress on addressing bugs or new features. Using a general-purpose lexicon of 14,000 English words with known VAD scores, our results show that issue reports of different type (e.g., Feature Request vs. Bug) have a fair variation of Valence, while increase in issue priority (e.g., from Minor to Critical) typically increases Arousal. Furthermore, we show that as an issue’s resolution time increases, so does the arousal of the individual the issue is assigned to. Finally, the resolution of an issue increases valence, especially for the issue Reporter and for quickly addressed issues. The existence ofsuch relations between VAD and issue report activities shows promise that text mining in the future could offer an alternative way for work health assessment surveys.
与其他行业类似,软件工程领域也受到倦怠等心理疾病的困扰,这会导致开发人员失去兴趣,表现出较低的积极性和/或感到无能为力。预防对这类疾病至关重要,而预防又要求及早发现症状。效价、唤醒和支配(VAD)的情感维度能够从文本交流(如电子邮件)中得出一个人对特定情况的兴趣(吸引力)、激活水平和感知控制水平。作为识别软件工程中生产力损失症状的第一步,本文在包含超过2,000,000条评论的700,000个Jira问题报告中探讨了VAD指标及其属性,因为问题报告跟踪了开发人员在解决错误或新特性方面的进展。使用已知VAD分数的14000个英语单词的通用词典,我们的结果表明,不同类型的问题报告(例如,Feature Request vs. Bug)在Valence上有相当大的变化,而问题优先级的增加(例如,从Minor到Critical)通常会增加Arousal。此外,我们表明,随着问题解决时间的增加,问题被分配给个体的觉醒也会增加。最后,问题的解决增加了价值,特别是对于问题报告者和快速解决的问题。VAD和问题报告活动之间的这种关系的存在表明,文本挖掘在未来可以为工作健康评估调查提供一种替代方法。
{"title":"Mining Valence, Arousal, and Dominance - Possibilities for Detecting Burnout and Productivity?","authors":"M. Mäntylä, Bram Adams, Giuseppe Destefanis, D. Graziotin, Marco Ortu","doi":"10.1145/2901739.2901752","DOIUrl":"https://doi.org/10.1145/2901739.2901752","url":null,"abstract":"Similar to other industries, the software engineering domain is plagued by psychological diseases such as burnout, which lead developers to lose interest, exhibit lower activity and/or feel powerless. Prevention is essential for such diseases, which in turn requires early identification of symptoms. The emotional dimensions of Valence, Arousal and Dominance (VAD) are able to derive a person’s interest (attraction), level of activation and perceived level of control for a particular situation from textual communication, such as emails. As an initial step towards identifying symptoms of productivity loss in software engineering, this paper explores the VAD metrics and their properties on 700,000 Jira issue reports containing over 2,000,000 comments, since issue reports keep track of a developer’s progress on addressing bugs or new features. Using a general-purpose lexicon of 14,000 English words with known VAD scores, our results show that issue reports of different type (e.g., Feature Request vs. Bug) have a fair variation of Valence, while increase in issue priority (e.g., from Minor to Critical) typically increases Arousal. Furthermore, we show that as an issue’s resolution time increases, so does the arousal of the individual the issue is assigned to. Finally, the resolution of an issue increases valence, especially for the issue Reporter and for quickly addressed issues. The existence ofsuch relations between VAD and issue report activities shows promise that text mining in the future could offer an alternative way for work health assessment surveys.","PeriodicalId":6621,"journal":{"name":"2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR)","volume":"291 1","pages":"247-258"},"PeriodicalIF":0.0,"publicationDate":"2016-03-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"78502048","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}
引用次数: 114
期刊
2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR)
全部 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