首页 > 最新文献

Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering最新文献

英文 中文
Development and Application of Sentiment Analysis Tools in Software Engineering: A Systematic Literature Review 情感分析工具在软件工程中的发展与应用:系统的文献综述
Martin Obaidi, J. Klünder
Software development is a collaborative task and, hence, involves different persons. Research has shown the relevance of social aspects in the development team for a successful and satisfying project closure. Especially the mood of a team has been proven to be of particular importance. Thus, project managers or project leaders want to be aware of situations in which negative mood is present to allow for interventions. So-called sentiment analysis tools offer a way to determine the mood based on text-based communication. In this paper, we present the results of a systematic literature review of sentiment analysis tools developed for or applied in the context of software engineering. Our results summarize insights from 80 papers with respect to (1) the application domain, (2) the purpose, (3) the used data sets, (4) the approaches for developing sentiment analysis tools and (5) the difficulties researchers face when applying sentiment analysis in the context of software projects. According to our results, sentiment analysis is frequently applied to open-source software projects, and most tools are based on support-vector machines. Despite the frequent use of sentiment analysis in software engineering, there are open issues, e.g., regarding the identification of irony or sarcasm, pointing to future research directions.
软件开发是一项协作任务,因此涉及到不同的人。研究表明,在开发团队中,社会因素与成功和令人满意的项目收尾是相关的。特别是一个团队的情绪已经被证明是特别重要的。因此,项目经理或项目负责人希望意识到消极情绪存在的情况,以便进行干预。所谓的情绪分析工具提供了一种基于文本交流来确定情绪的方法。在本文中,我们提出了一个系统的文献综述的结果情绪分析工具开发或应用于软件工程的背景下。我们的研究结果总结了80篇论文对以下方面的见解:(1)应用领域,(2)目的,(3)使用的数据集,(4)开发情感分析工具的方法,以及(5)研究人员在软件项目背景下应用情感分析时面临的困难。根据我们的结果,情感分析经常应用于开源软件项目,并且大多数工具都是基于支持向量机的。尽管情感分析在软件工程中经常使用,但仍然存在一些开放的问题,例如,关于反讽或讽刺的识别,指出了未来的研究方向。
{"title":"Development and Application of Sentiment Analysis Tools in Software Engineering: A Systematic Literature Review","authors":"Martin Obaidi, J. Klünder","doi":"10.1145/3463274.3463328","DOIUrl":"https://doi.org/10.1145/3463274.3463328","url":null,"abstract":"Software development is a collaborative task and, hence, involves different persons. Research has shown the relevance of social aspects in the development team for a successful and satisfying project closure. Especially the mood of a team has been proven to be of particular importance. Thus, project managers or project leaders want to be aware of situations in which negative mood is present to allow for interventions. So-called sentiment analysis tools offer a way to determine the mood based on text-based communication. In this paper, we present the results of a systematic literature review of sentiment analysis tools developed for or applied in the context of software engineering. Our results summarize insights from 80 papers with respect to (1) the application domain, (2) the purpose, (3) the used data sets, (4) the approaches for developing sentiment analysis tools and (5) the difficulties researchers face when applying sentiment analysis in the context of software projects. According to our results, sentiment analysis is frequently applied to open-source software projects, and most tools are based on support-vector machines. Despite the frequent use of sentiment analysis in software engineering, there are open issues, e.g., regarding the identification of irony or sarcasm, pointing to future research directions.","PeriodicalId":328024,"journal":{"name":"Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-05-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131299604","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 14
A Machine Learning Based Ensemble Method for Automatic Multiclass Classification of Decisions 基于机器学习的决策自动多类分类集成方法
Liming Fu, Peng Liang, Xueying Li, Chen Yang
Stakeholders make various types of decisions with respect to requirements, design, management, and so on during the software development life cycle. Nevertheless, these decisions are typically not well documented and classified due to limited human resources, time, and budget. To this end, automatic approaches provide a promising way. In this paper, we aimed at automatically classifying decisions into five types to help stakeholders better document and understand decisions. First, we collected a dataset from the Hibernate developer mailing list. We then experimented and evaluated 270 configurations regarding feature selection, feature extraction techniques, and machine learning classifiers to seek the best configuration for classifying decisions. Especially, we applied an ensemble learning method and constructed ensemble classifiers to compare the performance between ensemble classifiers and base classifiers. Our experiment results show that (1) feature selection can decently improve the classification results; (2) ensemble classifiers can outperform base classifiers provided that ensemble classifiers are well constructed; (3) BoW + 50% features selected by feature selection with an ensemble classifier that combines Naïve Bayes (NB), Logistic Regression (LR), and Support Vector Machine (SVM) achieves the best classification result (with a weighted precision of 0.750, a weighted recall of 0.739, and a weighted F1-score of 0.727) among all the configurations. Our work can benefit various types of stakeholders in software development through providing an automatic approach for effectively classifying decisions into specific types that are relevant to their interests.
在软件开发生命周期中,涉众针对需求、设计、管理等做出各种类型的决策。然而,由于人力资源、时间和预算的限制,这些决策通常没有很好地记录和分类。为此,自动方法提供了一种很有前途的方法。在本文中,我们的目标是将决策自动分类为五种类型,以帮助涉众更好地记录和理解决策。首先,我们从Hibernate开发者邮件列表中收集了一个数据集。然后,我们实验并评估了270种关于特征选择、特征提取技术和机器学习分类器的配置,以寻求分类决策的最佳配置。特别地,我们应用了集成学习方法并构造了集成分类器来比较集成分类器和基分类器的性能。实验结果表明:(1)特征选择能较好地改善分类结果;(2)当集成分类器构造良好时,集成分类器优于基分类器;(3)结合Naïve贝叶斯(NB)、Logistic回归(LR)和支持向量机(SVM)的集成分类器,通过特征选择选择BoW + 50%的特征,在所有配置中分类效果最好(加权精度为0.750,加权召回率为0.739,加权f1分数为0.727)。我们的工作可以通过提供一种自动方法来有效地将决策分类为与他们的利益相关的特定类型,从而使软件开发中的各种类型的涉众受益。
{"title":"A Machine Learning Based Ensemble Method for Automatic Multiclass Classification of Decisions","authors":"Liming Fu, Peng Liang, Xueying Li, Chen Yang","doi":"10.1145/3463274.3463325","DOIUrl":"https://doi.org/10.1145/3463274.3463325","url":null,"abstract":"Stakeholders make various types of decisions with respect to requirements, design, management, and so on during the software development life cycle. Nevertheless, these decisions are typically not well documented and classified due to limited human resources, time, and budget. To this end, automatic approaches provide a promising way. In this paper, we aimed at automatically classifying decisions into five types to help stakeholders better document and understand decisions. First, we collected a dataset from the Hibernate developer mailing list. We then experimented and evaluated 270 configurations regarding feature selection, feature extraction techniques, and machine learning classifiers to seek the best configuration for classifying decisions. Especially, we applied an ensemble learning method and constructed ensemble classifiers to compare the performance between ensemble classifiers and base classifiers. Our experiment results show that (1) feature selection can decently improve the classification results; (2) ensemble classifiers can outperform base classifiers provided that ensemble classifiers are well constructed; (3) BoW + 50% features selected by feature selection with an ensemble classifier that combines Naïve Bayes (NB), Logistic Regression (LR), and Support Vector Machine (SVM) achieves the best classification result (with a weighted precision of 0.750, a weighted recall of 0.739, and a weighted F1-score of 0.727) among all the configurations. Our work can benefit various types of stakeholders in software development through providing an automatic approach for effectively classifying decisions into specific types that are relevant to their interests.","PeriodicalId":328024,"journal":{"name":"Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-05-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116993778","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 8
Benchmarking as Empirical Standard in Software Engineering Research 标杆管理作为软件工程研究的经验标准
W. Hasselbring
In empirical software engineering, benchmarks can be used for comparing different methods, techniques and tools. However, the recent ACM SIGSOFT Empirical Standards for Software Engineering Research do not include an explicit checklist for benchmarking. In this paper, we discuss benchmarks for software performance and scalability evaluation as example research areas in software engineering, relate benchmarks to some other empirical research methods, and discuss the requirements on benchmarks that may constitute the basis for a checklist of a benchmarking standard for empirical software engineering research.
在经验软件工程中,基准可以用来比较不同的方法、技术和工具。然而,最近的ACM SIGSOFT软件工程研究经验标准并没有包括一个明确的基准检查表。在本文中,我们将讨论软件性能和可伸缩性评估的基准作为软件工程中的示例研究领域,将基准与其他一些实证研究方法联系起来,并讨论基准的需求,这些需求可能构成实证软件工程研究的基准测试标准清单的基础。
{"title":"Benchmarking as Empirical Standard in Software Engineering Research","authors":"W. Hasselbring","doi":"10.1145/3463274.3463361","DOIUrl":"https://doi.org/10.1145/3463274.3463361","url":null,"abstract":"In empirical software engineering, benchmarks can be used for comparing different methods, techniques and tools. However, the recent ACM SIGSOFT Empirical Standards for Software Engineering Research do not include an explicit checklist for benchmarking. In this paper, we discuss benchmarks for software performance and scalability evaluation as example research areas in software engineering, relate benchmarks to some other empirical research methods, and discuss the requirements on benchmarks that may constitute the basis for a checklist of a benchmarking standard for empirical software engineering research.","PeriodicalId":328024,"journal":{"name":"Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering","volume":"162 3","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134362796","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}
引用次数: 15
Storytelling in human–centric software engineering research 在以人为中心的软件工程研究中讲故事
A. Rainer
BACKGROUND: Software engineering is a human activity. People naturally make sense of their activities and experience through storytelling. But storytelling does not appear to have been properly studied by software engineering research. AIM: We explore the question: what contribution can storytelling make to human–centric software engineering research? METHOD: We define concepts, identify types of story and their purposes, outcomes and effects, briefly review prior literature, identify several contributions and propose next steps. RESULTS: Storytelling can, amongst other contributions, contribute to data collection, data analyses, ways of knowing, research outputs, interventions in practice, and advocacy, and can integrate with evidence and arguments. Like all methods, storytelling brings risks. These risks can be managed. CONCLUSION: Storytelling provides a potential counter–balance to abstraction, and an approach to retain and honour human meaning in software engineering.
背景:软件工程是一项人类活动。人们自然会通过讲故事来理解自己的活动和经历。但是软件工程研究似乎并没有对讲故事进行适当的研究。目的:我们探讨的问题是:讲故事对以人为中心的软件工程研究有什么贡献?方法:我们定义概念,确定故事类型及其目的,结果和效果,简要回顾先前的文献,确定几个贡献并提出下一步。结果:除了其他贡献外,讲故事可以有助于数据收集、数据分析、认识方式、研究产出、实践干预和倡导,并可以与证据和论点相结合。和所有方法一样,讲故事也会带来风险。这些风险是可以控制的。结论:讲故事为抽象提供了一种潜在的平衡,也是一种在软件工程中保留和尊重人类意义的方法。
{"title":"Storytelling in human–centric software engineering research","authors":"A. Rainer","doi":"10.1145/3463274.3463803","DOIUrl":"https://doi.org/10.1145/3463274.3463803","url":null,"abstract":"BACKGROUND: Software engineering is a human activity. People naturally make sense of their activities and experience through storytelling. But storytelling does not appear to have been properly studied by software engineering research. AIM: We explore the question: what contribution can storytelling make to human–centric software engineering research? METHOD: We define concepts, identify types of story and their purposes, outcomes and effects, briefly review prior literature, identify several contributions and propose next steps. RESULTS: Storytelling can, amongst other contributions, contribute to data collection, data analyses, ways of knowing, research outputs, interventions in practice, and advocacy, and can integrate with evidence and arguments. Like all methods, storytelling brings risks. These risks can be managed. CONCLUSION: Storytelling provides a potential counter–balance to abstraction, and an approach to retain and honour human meaning in software engineering.","PeriodicalId":328024,"journal":{"name":"Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering","volume":"69 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-04-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126437726","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
Self-Claimed Assumptions in Deep Learning Frameworks: An Exploratory Study 深度学习框架中的自我假设:一项探索性研究
Chen Yang, Peng Liang, Liming Fu, Zengyang Li
Deep learning (DL) frameworks have been extensively designed, implemented, and used in software projects across many domains. However, due to the lack of knowledge or information, time pressure, complex context, etc., various uncertainties emerge during the development, leading to assumptions made in DL frameworks. Though not all the assumptions are negative to the frameworks, being unaware of certain assumptions can result in critical problems (e.g., system vulnerability and failures). As the first step of addressing the critical problems, there is a need to explore and understand the assumptions made in DL frameworks. To this end, we conducted an exploratory study to understand self-claimed assumptions (SCAs) about their distribution, classification, and impacts using code comments from nine popular DL framework projects on GitHub. The results are that: (1) 3,084 SCAs are scattered across 1,775 files in the nine DL frameworks, ranging from 1,460 (TensorFlow) to 8 (Keras) SCAs. (2) There are four types of validity of SCAs: Valid SCA, Invalid SCA, Conditional SCA, and Unknown SCA, and four types of SCAs based on their content: Configuration and Context SCA, Design SCA, Tensor and Variable SCA, and Miscellaneous SCA. (3) Both valid and invalid SCAs may have an impact within a specific scope (e.g., in a function) on the DL frameworks. Certain technical debt is induced when making SCAs. There are source code written and decisions made based on SCAs. This is the first study on investigating SCAs in DL frameworks, which helps researchers and practitioners to get a comprehensive understanding on the assumptions made. We also provide the first dataset of SCAs for further research and practice in this area.
深度学习(DL)框架已经在许多领域的软件项目中得到了广泛的设计、实现和使用。然而,由于缺乏知识或信息,时间压力,复杂的环境等,在开发过程中出现了各种不确定性,导致DL框架中的假设。尽管并非所有的假设都对框架不利,但不知道某些假设可能会导致严重的问题(例如,系统脆弱性和故障)。作为解决关键问题的第一步,有必要探索和理解深度学习框架中的假设。为此,我们进行了一项探索性研究,使用GitHub上九个流行的深度学习框架项目的代码注释来理解关于其分布、分类和影响的自我宣称假设(sca)。结果是:(1)3,084个sca分散在九个深度学习框架中的1,775个文件中,范围从1,460 (TensorFlow)到8 (Keras) sca。(2) SCA的有效性有四种类型:有效SCA、无效SCA、条件SCA和未知SCA,根据SCA的内容分为四种类型:配置和上下文SCA、设计SCA、张量和变量SCA以及杂项SCA。(3)有效和无效的sca都可能在特定范围内(例如,在一个函数中)对DL框架产生影响。在制作sca时,会产生某些技术债务。有基于sca编写的源代码和做出的决策。这是关于在深度学习框架中调查sca的第一项研究,它有助于研究人员和实践者对所做的假设有一个全面的理解。我们还为该领域的进一步研究和实践提供了第一个sca数据集。
{"title":"Self-Claimed Assumptions in Deep Learning Frameworks: An Exploratory Study","authors":"Chen Yang, Peng Liang, Liming Fu, Zengyang Li","doi":"10.1145/3463274.3463333","DOIUrl":"https://doi.org/10.1145/3463274.3463333","url":null,"abstract":"Deep learning (DL) frameworks have been extensively designed, implemented, and used in software projects across many domains. However, due to the lack of knowledge or information, time pressure, complex context, etc., various uncertainties emerge during the development, leading to assumptions made in DL frameworks. Though not all the assumptions are negative to the frameworks, being unaware of certain assumptions can result in critical problems (e.g., system vulnerability and failures). As the first step of addressing the critical problems, there is a need to explore and understand the assumptions made in DL frameworks. To this end, we conducted an exploratory study to understand self-claimed assumptions (SCAs) about their distribution, classification, and impacts using code comments from nine popular DL framework projects on GitHub. The results are that: (1) 3,084 SCAs are scattered across 1,775 files in the nine DL frameworks, ranging from 1,460 (TensorFlow) to 8 (Keras) SCAs. (2) There are four types of validity of SCAs: Valid SCA, Invalid SCA, Conditional SCA, and Unknown SCA, and four types of SCAs based on their content: Configuration and Context SCA, Design SCA, Tensor and Variable SCA, and Miscellaneous SCA. (3) Both valid and invalid SCAs may have an impact within a specific scope (e.g., in a function) on the DL frameworks. Certain technical debt is induced when making SCAs. There are source code written and decisions made based on SCAs. This is the first study on investigating SCAs in DL frameworks, which helps researchers and practitioners to get a comprehensive understanding on the assumptions made. We also provide the first dataset of SCAs for further research and practice in this area.","PeriodicalId":328024,"journal":{"name":"Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering","volume":"151 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-04-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121803870","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
Test Smell Detection Tools: A Systematic Mapping Study 测试气味检测工具:系统的绘图研究
Wajdi Aljedaani, Anthony S Peruma, Ahmed Aljohani, Mazen Alotaibi, Mohamed Wiem Mkaouer, Ali Ouni, Christian D. Newman, Abdullatif Ghallab, S. Ludi
Test smells are defined as sub-optimal design choices developers make when implementing test cases. Hence, similar to code smells, the research community has produced numerous test smell detection tools to investigate the impact of test smells on the quality and maintenance of test suites. However, little is known about the characteristics, type of smells, target language, and availability of these published tools. In this paper, we provide a detailed catalog of all known, peer-reviewed, test smell detection tools. We start with performing a comprehensive search of peer-reviewed scientific publications to construct a catalog of 22 tools. Then, we perform a comparative analysis to identify the smell types detected by each tool and other salient features that include programming language, testing framework support, detection strategy, and adoption, among others. From our findings, we discover tools that detect test smells in Java, Scala, Smalltalk, and C++ test suites, with Java support favored by most tools. These tools are available as command-line and IDE plugins, among others. Our analysis also shows that most tools overlap in detecting specific smell types, such as General Fixture. Further, we encounter four types of techniques these tools utilize to detect smells. We envision our study as a one-stop source for researchers and practitioners in determining the tool appropriate for their needs. Our findings also empower the community with information to guide future tool development.
测试气味被定义为开发人员在实现测试用例时所做的次优设计选择。因此,与代码气味类似,研究社区已经生产了许多测试气味检测工具,以调查测试气味对测试套件的质量和维护的影响。然而,人们对这些已发布的工具的特征、气味类型、目标语言和可用性知之甚少。在本文中,我们提供了所有已知的,同行评审的,测试气味检测工具的详细目录。我们首先对同行评审的科学出版物进行全面搜索,以构建一个包含22种工具的目录。然后,我们进行了比较分析,以确定每个工具检测到的气味类型和其他显著特征,包括编程语言、测试框架支持、检测策略和采用等。根据我们的发现,我们发现了可以检测Java、Scala、Smalltalk和c++测试套件中的测试气味的工具,大多数工具都支持Java。这些工具以命令行和IDE插件等形式提供。我们的分析还表明,大多数工具在检测特定气味类型方面重叠,例如General Fixture。此外,我们还遇到了这些工具用来检测气味的四种技术。我们设想我们的研究为研究人员和从业人员提供一站式资源,以确定适合他们需求的工具。我们的发现还为社区提供了指导未来工具开发的信息。
{"title":"Test Smell Detection Tools: A Systematic Mapping Study","authors":"Wajdi Aljedaani, Anthony S Peruma, Ahmed Aljohani, Mazen Alotaibi, Mohamed Wiem Mkaouer, Ali Ouni, Christian D. Newman, Abdullatif Ghallab, S. Ludi","doi":"10.1145/3463274.3463335","DOIUrl":"https://doi.org/10.1145/3463274.3463335","url":null,"abstract":"Test smells are defined as sub-optimal design choices developers make when implementing test cases. Hence, similar to code smells, the research community has produced numerous test smell detection tools to investigate the impact of test smells on the quality and maintenance of test suites. However, little is known about the characteristics, type of smells, target language, and availability of these published tools. In this paper, we provide a detailed catalog of all known, peer-reviewed, test smell detection tools. We start with performing a comprehensive search of peer-reviewed scientific publications to construct a catalog of 22 tools. Then, we perform a comparative analysis to identify the smell types detected by each tool and other salient features that include programming language, testing framework support, detection strategy, and adoption, among others. From our findings, we discover tools that detect test smells in Java, Scala, Smalltalk, and C++ test suites, with Java support favored by most tools. These tools are available as command-line and IDE plugins, among others. Our analysis also shows that most tools overlap in detecting specific smell types, such as General Fixture. Further, we encounter four types of techniques these tools utilize to detect smells. We envision our study as a one-stop source for researchers and practitioners in determining the tool appropriate for their needs. Our findings also empower the community with information to guide future tool development.","PeriodicalId":328024,"journal":{"name":"Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-04-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122805342","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}
引用次数: 36
DABT: A Dependency-aware Bug Triaging Method 一种依赖感知的Bug分类方法
H. Jahanshahi, Kritika Chhabra, Mucahit Cevik, Ayse Basar
In software engineering practice, fixing a bug promptly reduces the associated costs. On the other hand, the manual bug fixing process can be time-consuming, cumbersome, and error-prone. In this work, we introduce a bug triaging method, called Dependency-aware Bug Triaging (DABT), which leverages natural language processing and integer programming to assign bugs to appropriate developers. Unlike previous works that mainly focus on one aspect of the bug reports, DABT considers the textual information, cost associated with each bug, and dependency among them. Therefore, this comprehensive formulation covers the most important aspect of the previous works while considering the blocking effect of the bugs. We report the performance of the algorithm on three open-source software systems, i.e., EclipseJDT, LibreOffice, and Mozilla. Our result shows that DABT is able to reduce the number of overdue bugs up to 12%. It also decreases the average fixing time of the bugs by half. Moreover, it reduces the complexity of the bug dependency graph by prioritizing blocking bugs.
在软件工程实践中,及时修复错误可以减少相关的成本。另一方面,手动bug修复过程可能非常耗时、繁琐且容易出错。在这项工作中,我们介绍了一种错误分类方法,称为依赖感知错误分类(dbt),它利用自然语言处理和整数编程将错误分配给适当的开发人员。与以前的工作主要关注bug报告的一个方面不同,ddab考虑了文本信息、与每个bug相关的成本以及它们之间的依赖关系。因此,这一综合配方在考虑病菌阻断作用的同时,涵盖了前人工作中最重要的方面。我们报告了该算法在三个开源软件系统(即EclipseJDT, LibreOffice和Mozilla)上的性能。我们的结果表明,DABT能够将过期bug的数量减少到12%。它还将bug的平均修复时间减少了一半。此外,它通过对阻塞的bug进行优先级排序,降低了bug依赖关系图的复杂性。
{"title":"DABT: A Dependency-aware Bug Triaging Method","authors":"H. Jahanshahi, Kritika Chhabra, Mucahit Cevik, Ayse Basar","doi":"10.1145/3463274.3463342","DOIUrl":"https://doi.org/10.1145/3463274.3463342","url":null,"abstract":"In software engineering practice, fixing a bug promptly reduces the associated costs. On the other hand, the manual bug fixing process can be time-consuming, cumbersome, and error-prone. In this work, we introduce a bug triaging method, called Dependency-aware Bug Triaging (DABT), which leverages natural language processing and integer programming to assign bugs to appropriate developers. Unlike previous works that mainly focus on one aspect of the bug reports, DABT considers the textual information, cost associated with each bug, and dependency among them. Therefore, this comprehensive formulation covers the most important aspect of the previous works while considering the blocking effect of the bugs. We report the performance of the algorithm on three open-source software systems, i.e., EclipseJDT, LibreOffice, and Mozilla. Our result shows that DABT is able to reduce the number of overdue bugs up to 12%. It also decreases the average fixing time of the bugs by half. Moreover, it reduces the complexity of the bug dependency graph by prioritizing blocking bugs.","PeriodicalId":328024,"journal":{"name":"Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-04-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133206109","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}
引用次数: 15
On the Nature of Issues in Five Open Source Microservices Systems: An Empirical Study 五个开源微服务系统中问题本质的实证研究
M. Waseem, Peng Liang, Mojtaba Shahin, Aakash Ahmad, A. R. Nasab
Due to its enormous benefits, the research and industry communities have shown an increasing interest in the Microservices Architecture (MSA) style over the last few years. Despite this, there is a limited evidence-based and thorough understanding of the types of issues (e.g., faults, errors, failures, mistakes) faced by microservices system developers and causes that trigger the issues. Such evidence-based understanding of issues and causes is vital for long-term, impactful, and quality research and practice in the MSA style. To that end, we conducted an empirical study on 1,345 issue discussions extracted from five open source microservices systems hosted on GitHub. Our analysis led to the first of its kind taxonomy of the types of issues in open source microservices systems, informing that the problems originating from Technical debt (321, 23.86%), Build (145, 10.78%), Security (137, 10.18%), and Service execution and communication (119, 8.84%) are prominent. We identified that “General programming errors”, “Poor security management”, “Invalid configuration and communication”, and “Legacy versions, compatibility and dependency” are the predominant causes for the leading four issue categories. Study results streamline a taxonomy of issues, their mapping with underlying causes, and present empirical findings that could facilitate research and development on emerging and next-generation microservices systems.
由于其巨大的好处,在过去的几年里,研究和行业社区对微服务架构(MSA)风格表现出越来越浓厚的兴趣。尽管如此,对于微服务系统开发人员所面临的问题类型(例如,故障、错误、失败、错误)以及引发问题的原因,仍然存在有限的基于证据的透彻理解。这种对问题和原因的基于证据的理解对于MSA风格的长期、有影响力和高质量的研究和实践至关重要。为此,我们对从GitHub上托管的五个开源微服务系统中提取的1,345个问题讨论进行了实证研究。我们的分析导致了开源微服务系统中问题类型的第一个分类,通知来自技术债务(321,23.86%),构建(145,10.78%),安全(137,10.18%)和服务执行和通信(119,8.84%)的问题是突出的。我们确定了“一般编程错误”、“糟糕的安全管理”、“无效的配置和通信”以及“遗留版本、兼容性和依赖性”是导致前四类问题的主要原因。研究结果简化了问题的分类,它们与潜在原因的映射,并提出了可以促进新兴和下一代微服务系统研究和开发的实证研究结果。
{"title":"On the Nature of Issues in Five Open Source Microservices Systems: An Empirical Study","authors":"M. Waseem, Peng Liang, Mojtaba Shahin, Aakash Ahmad, A. R. Nasab","doi":"10.1145/3463274.3463337","DOIUrl":"https://doi.org/10.1145/3463274.3463337","url":null,"abstract":"Due to its enormous benefits, the research and industry communities have shown an increasing interest in the Microservices Architecture (MSA) style over the last few years. Despite this, there is a limited evidence-based and thorough understanding of the types of issues (e.g., faults, errors, failures, mistakes) faced by microservices system developers and causes that trigger the issues. Such evidence-based understanding of issues and causes is vital for long-term, impactful, and quality research and practice in the MSA style. To that end, we conducted an empirical study on 1,345 issue discussions extracted from five open source microservices systems hosted on GitHub. Our analysis led to the first of its kind taxonomy of the types of issues in open source microservices systems, informing that the problems originating from Technical debt (321, 23.86%), Build (145, 10.78%), Security (137, 10.18%), and Service execution and communication (119, 8.84%) are prominent. We identified that “General programming errors”, “Poor security management”, “Invalid configuration and communication”, and “Legacy versions, compatibility and dependency” are the predominant causes for the leading four issue categories. Study results streamline a taxonomy of issues, their mapping with underlying causes, and present empirical findings that could facilitate research and development on emerging and next-generation microservices systems.","PeriodicalId":328024,"journal":{"name":"Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-04-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129847542","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
GDPR-Compliant Use of Blockchain for Secure Usage Logs 符合gdpr的区块链安全使用日志
Valentin Zieglmeier, Gabriel Loyola Daiqui
The unique properties of blockchain enable central requirements of distributed secure logging: Immutability, integrity, and availability. Especially when providing transparency about data usages, a blockchain-based secure log can be beneficial, as no trusted third party is required. Yet, with data governed by privacy legislation such as the GDPR or CCPA, the core advantage of immutability becomes a liability. After a rightful request, an individual’s personal data need to be rectified or deleted, which is impossible in an immutable blockchain. To solve this issue, we exploit a legal property of pseudonymized data: They are only regarded personal data if they can be associated with an individual’s identity. We make use of this fact by presenting P3, a pseudonym provisioning system for secure usage logs including a protocol for recording new usages. For each new block, a one-time transaction pseudonym is generated. The pseudonym generation algorithm guarantees unlinkability and enables proof of ownership. These properties enable GDPR-compliant use of blockchain, as data subjects can exercise their legal rights with regards to their personal data. The new-usage protocol ensures non-repudiation, and therefore accountability and liability. Most importantly, our approach does not require a trusted third party and is independent of the utilized blockchain software.
区块链的独特属性实现了分布式安全日志的核心要求:不变性、完整性和可用性。特别是在提供数据使用的透明度时,基于区块链的安全日志可能是有益的,因为不需要可信的第三方。然而,随着数据受到GDPR或CCPA等隐私立法的约束,不变性的核心优势变成了一种负担。在合法请求之后,个人的个人数据需要被纠正或删除,这在不可变的区块链中是不可能的。为了解决这个问题,我们利用了假名化数据的法律属性:只有当它们能够与个人身份相关联时,它们才被视为个人数据。我们通过介绍P3来利用这一事实,P3是一个用于安全使用日志的假名供应系统,包括用于记录新用法的协议。对于每个新区块,都会生成一个一次性交易假名。假名生成算法保证不可链接性并支持所有权证明。这些属性使区块链的使用符合gdpr,因为数据主体可以对其个人数据行使其合法权利。新用法协议确保了不可否认性,从而确保了责任和责任。最重要的是,我们的方法不需要可信的第三方,并且独立于所使用的区块链软件。
{"title":"GDPR-Compliant Use of Blockchain for Secure Usage Logs","authors":"Valentin Zieglmeier, Gabriel Loyola Daiqui","doi":"10.1145/3463274.3463349","DOIUrl":"https://doi.org/10.1145/3463274.3463349","url":null,"abstract":"The unique properties of blockchain enable central requirements of distributed secure logging: Immutability, integrity, and availability. Especially when providing transparency about data usages, a blockchain-based secure log can be beneficial, as no trusted third party is required. Yet, with data governed by privacy legislation such as the GDPR or CCPA, the core advantage of immutability becomes a liability. After a rightful request, an individual’s personal data need to be rectified or deleted, which is impossible in an immutable blockchain. To solve this issue, we exploit a legal property of pseudonymized data: They are only regarded personal data if they can be associated with an individual’s identity. We make use of this fact by presenting P3, a pseudonym provisioning system for secure usage logs including a protocol for recording new usages. For each new block, a one-time transaction pseudonym is generated. The pseudonym generation algorithm guarantees unlinkability and enables proof of ownership. These properties enable GDPR-compliant use of blockchain, as data subjects can exercise their legal rights with regards to their personal data. The new-usage protocol ensures non-repudiation, and therefore accountability and liability. Most importantly, our approach does not require a trusted third party and is independent of the utilized blockchain software.","PeriodicalId":328024,"journal":{"name":"Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering","volume":"124 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-04-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128094578","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
Dynamic Vulnerability Detection on Smart Contracts Using Machine Learning 基于机器学习的智能合约动态漏洞检测
Mojtaba Eshghie, Cyrille Artho, D. Gurov
In this work we propose Dynamit, a monitoring framework to detect reentrancy vulnerabilities in Ethereum smart contracts. The novelty of our framework is that it relies only on transaction metadata and balance data from the blockchain system; our approach requires no domain knowledge, code instrumentation, or special execution environment. Dynamit extracts features from transaction data and uses a machine learning model to classify transactions as benign or harmful. Therefore, not only can we find the contracts that are vulnerable to reentrancy attacks, but we also get an execution trace that reproduces the attack. Using a random forest classifier, our model achieved more than 90 percent accuracy on 105 transactions, showing the potential of our technique.
在这项工作中,我们提出了Dynamit,这是一个监测框架,用于检测以太坊智能合约中的可重入漏洞。我们框架的新颖之处在于,它只依赖于区块链系统的交易元数据和余额数据;我们的方法不需要领域知识、代码工具或特殊的执行环境。Dynamit从交易数据中提取特征,并使用机器学习模型将交易分类为良性或有害。因此,我们不仅可以找到易受重入攻击的合约,还可以获得再现攻击的执行跟踪。使用随机森林分类器,我们的模型在105个事务上实现了90%以上的准确率,显示了我们技术的潜力。
{"title":"Dynamic Vulnerability Detection on Smart Contracts Using Machine Learning","authors":"Mojtaba Eshghie, Cyrille Artho, D. Gurov","doi":"10.1145/3463274.3463348","DOIUrl":"https://doi.org/10.1145/3463274.3463348","url":null,"abstract":"In this work we propose Dynamit, a monitoring framework to detect reentrancy vulnerabilities in Ethereum smart contracts. The novelty of our framework is that it relies only on transaction metadata and balance data from the blockchain system; our approach requires no domain knowledge, code instrumentation, or special execution environment. Dynamit extracts features from transaction data and uses a machine learning model to classify transactions as benign or harmful. Therefore, not only can we find the contracts that are vulnerable to reentrancy attacks, but we also get an execution trace that reproduces the attack. Using a random forest classifier, our model achieved more than 90 percent accuracy on 105 transactions, showing the potential of our technique.","PeriodicalId":328024,"journal":{"name":"Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-02-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133859406","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}
引用次数: 17
期刊
Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering
全部 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