2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC)最新文献

筛选
英文 中文
Exploring Tools and Strategies Used During Regular Expression Composition Tasks 探索正则表达式组合任务中使用的工具和策略
2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC) Pub Date : 2019-05-25 DOI: 10.1109/ICPC.2019.00039
Gina R. Bai, Brian Clee, Nischal Shrestha, Carl Chapman, Cimone Wright, Kathryn T. Stolee
{"title":"Exploring Tools and Strategies Used During Regular Expression Composition Tasks","authors":"Gina R. Bai, Brian Clee, Nischal Shrestha, Carl Chapman, Cimone Wright, Kathryn T. Stolee","doi":"10.1109/ICPC.2019.00039","DOIUrl":"https://doi.org/10.1109/ICPC.2019.00039","url":null,"abstract":"Regular expressions are frequently found in programming projects. Studies have found that developers can accurately determine whether a string matches a regular expression. However, we still do not know the challenges associated with composing regular expressions. We conduct an exploratory case study to reveal the tools and strategies developers use during regular expression composition. In this study, 29 students are tasked with composing regular expressions that pass unit tests illustrating the intended behavior. The tasks are in Java and the Eclipse IDE was set up with JUnit tests. Participants had one hour to work and could use any Eclipse tools, web search, or web-based tools they desired. Screen-capture software recorded all interactions with browsers and the IDE. We analyzed the videos quantitatively by transcribing logs and extracting personas. Our results show that participants were 30% successful (28 of 94 attempts) at achieving a 100% pass rate on the unit tests. When participants used tools frequently, as in the case of the novice tester and the knowledgeable tester personas, or when they guess at a solution prior to searching, they are more likely to pass all the unit tests. We also found that compile errors often arise when participants searched for a result and copy/pasted the regular expression from another language into their Java files. These results point to future research into making regular expression composition easier for programmers, such as integrating visualization into the IDE to reduce context switching or providing language migration support when reusing regular expressions written in another language to reduce compile errors.","PeriodicalId":6853,"journal":{"name":"2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC)","volume":"31 1","pages":"197-208"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81083700","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
Enabling Clone Detection For Ethereum Via Smart Contract Birthmarks 通过智能合约胎记为以太坊启用克隆检测
2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC) Pub Date : 2019-05-25 DOI: 10.1109/ICPC.2019.00024
Han Liu, Zhiqiang Yang, Yu Jiang, Wenqi Zhao, Jiaguang Sun
{"title":"Enabling Clone Detection For Ethereum Via Smart Contract Birthmarks","authors":"Han Liu, Zhiqiang Yang, Yu Jiang, Wenqi Zhao, Jiaguang Sun","doi":"10.1109/ICPC.2019.00024","DOIUrl":"https://doi.org/10.1109/ICPC.2019.00024","url":null,"abstract":"The Ethereum ecosystem has introduced a pervasive blockchain platform with programmable transactions. Everyone is allowed to develop and deploy smart contracts. Such flexibility can lead to a large collection of similar contracts, i.e., clones, especially when Ethereum applications are highly domain-specific and may share similar functionalities within the same domain, e.g., token contracts often provide interfaces for money transfer and balance inquiry. While smart contract clones have a wide range of impact across different applications, e.g., security, they are relatively little studied. Although clone detection has been a long-standing research topic, blockchain smart contracts introduce new challenges, e.g., syntactic diversity due to trade-off between storage and execution, understanding high-level business logic etc.. In this paper, we highlighted the very first attempt to clone detection of Ethereum smart contracts. To overcome the new challenges, we introduce the concept of smart contract birthmark, i.e., a semantic-preserving and computable representation for smart contract bytecode. The birthmark captures high-level semantics by effectively sketching symbolic execution traces (e.g., data access dependencies, path conditions) and maintain syntactic regularities (e.g., type and number of instructions) as well. Then, the clone detection problem is reduced to a computation of statistical similarity between two contract birthmarks. We have implemented a clone detector called EClone and evaluated it on Ethereum. The empirical results demonstrated the potential of EClone in accurately identifying clones. We have also extended EClone for vulnerability search and managed to detect CVE-2018-10376 instances.","PeriodicalId":6853,"journal":{"name":"2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC)","volume":"51 1","pages":"105-115"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89741499","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
Meditor: Inference and Application of API Migration Edits 编辑:API迁移编辑的推理和应用
2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC) Pub Date : 2019-05-25 DOI: 10.1109/ICPC.2019.00052
Shengzhe Xu, Ziqi Dong, Na Meng
{"title":"Meditor: Inference and Application of API Migration Edits","authors":"Shengzhe Xu, Ziqi Dong, Na Meng","doi":"10.1109/ICPC.2019.00052","DOIUrl":"https://doi.org/10.1109/ICPC.2019.00052","url":null,"abstract":"Developers build programs based on software libraries. When a library evolves, programmers need to migrate their client code from the library's old release(s) to new release(s). Due to the API backwards incompatibility issues, such code migration may require developers to replace API usage and apply extra edits (e.g., statement insertions or deletions) to ensure the syntactic or semantic correctness of migrated code. Existing tools extract API replacement rules without handling the additional edits necessary to fulfill a migration task. This paper presents our novel approach, Meditor, which extracts and applies the necessary edits together with API replacement changes. Meditor has two phases: inference and application of migration edits. For edit inference, Meditor mines open source repositories for migration-related (MR) commits, and conducts program dependency analysis on changed Java files to locate and cluster MR code changes. From these changes, Meditor further generalizes API migration edits by abstracting away unimportant details (e.g., concrete variable identifiers). For edit application, Meditor matches a given program with inferred edits to decide which edit is applicable, customizes each applicable edit, and produces a migrated version for developers to review. We applied Meditor to four popular libraries: Lucene, CraftBukkit, Android SDK, and Commons IO. By searching among 602,249 open source projects on GitHub, Meditor identified 1,368 unique migration edits. Among these edits, 885 edits were extracted from single updated statements, while the other 483 more complex edits were from multiple co-changed statements. We sampled 937 inferred edits for manual inspection and found all of them to be correct. Our evaluation shows that Meditor correctly applied code migrations in 218 out of 225 cases. This research will help developers automatically adapt client code to different library versions.","PeriodicalId":6853,"journal":{"name":"2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC)","volume":"9 1","pages":"335-346"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81210708","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}
引用次数: 48
Understanding Evolutionary Coupling by Fine-Grained Co-Change Relationship Analysis 用细粒度共变关系分析理解进化耦合
2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC) Pub Date : 2019-05-25 DOI: 10.1109/ICPC.2019.00046
Daihong Zhou, Yijian Wu, Lu Xiao, Yuanfang Cai, Xin Peng, Jinrong Fan, Lu Huang, Heng Chen
{"title":"Understanding Evolutionary Coupling by Fine-Grained Co-Change Relationship Analysis","authors":"Daihong Zhou, Yijian Wu, Lu Xiao, Yuanfang Cai, Xin Peng, Jinrong Fan, Lu Huang, Heng Chen","doi":"10.1109/ICPC.2019.00046","DOIUrl":"https://doi.org/10.1109/ICPC.2019.00046","url":null,"abstract":"Frequent co-changes to multiple files, i.e., evolutionary coupling, can demonstrate active relations among files, explicit or implicit. Although evolutionary coupling has been used to analyze software quality, there is no systematic study on the categorization of frequent co-changes between files which may used for characterizing various quality problems. In this paper, we report an empirical study on 27,087 co-change commits of 6 open-source systems with the purpose of understanding the observed evolutionary coupling. We extracted fine-grained change information from version control system to investigate whether two files exhibit particular kinds of co-change relationships. We consider code changes on 5 types of program entities (i.e., field, method, control statement, non-control statement, and class) and identified 6 types of dominating co-change relationships. Our manual analysis showed that each of the 6 types can be explained by structural coupling, semantic coupling, or implicit dependencies. Temporal analysis further shows that files may exhibit different co-change relationships at different phases in the evolution history. Finally, we investigated co-changes among multiple files by combining co-change relationships between related file pairs and showed with live examples that rich information embedded in the fine-grained co-change relationships may help developers to change code at multiple locations. Moreover, we analyzed how these co-change relationship types can be used to facilitate change impact analysis and to pinpoint design problems.","PeriodicalId":6853,"journal":{"name":"2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC)","volume":"11 1","pages":"271-282"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"88612273","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
Comparing the EvoStreets Visualization Technique in Two-and Three-Dimensional Environments A Controlled Experiment EvoStreets可视化技术在二维和三维环境中的比较——一项对照实验
2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC) Pub Date : 2019-05-25 DOI: 10.1109/ICPC.2019.00042
Marcel Steinbeck, R. Koschke, Marc O. Rüdel
{"title":"Comparing the EvoStreets Visualization Technique in Two-and Three-Dimensional Environments A Controlled Experiment","authors":"Marcel Steinbeck, R. Koschke, Marc O. Rüdel","doi":"10.1109/ICPC.2019.00042","DOIUrl":"https://doi.org/10.1109/ICPC.2019.00042","url":null,"abstract":"Analyzing and maintaining large software systems is a challenging task due to the sheer amount of information contained therein. To overcome this problem, Steinbrückner developed a visualization technique named EvoStreets. Utilizing the city metaphor, EvoStreets are well suited to visualize the hierarchical structure of a software as well as hotspots regarding certain aspects. Early implementations of this approach use three-dimensional rendering on regular two-dimensional displays. Recently, though, researchers have begun to visualize EvoStreets in virtual reality using head-mounted displays, claiming that this environment enhances user experience. Yet, there is little research on comparing the differences of EvoStreets visualized in virtual reality with EvoStreets visualized in conventional environments. This paper presents a controlled experiment, involving 34 participants, in which we compared the EvoStreet visualization technique in different environments, namely, orthographic projection with keyboard and mouse, 2.5D projection with keyboard and mouse, and virtual reality with head-mounted displays and hand-held controllers. Using these environments, the participants had to analyze existing Java systems regarding software clones. According to our results, it cannot be assumed that: 1) the orthographic environment takes less time to find an answer, 2) the 2.5D and virtual reality environments provide better results regarding the correctness of edge-related tasks compared to the orthographic environment, and 3) the performance regarding time and correctness differs between the 2.5D and virtual reality environments.","PeriodicalId":6853,"journal":{"name":"2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC)","volume":"75 1","pages":"231-242"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"86373547","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}
引用次数: 12
Comparing Bug Replication in Regular and Micro Code Clones 比较常规和微代码克隆中的Bug复制
2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC) Pub Date : 2019-05-25 DOI: 10.1109/ICPC.2019.00022
Judith F. Islam, Manishankar Mondal, C. Roy, Kevin A. Schneider
{"title":"Comparing Bug Replication in Regular and Micro Code Clones","authors":"Judith F. Islam, Manishankar Mondal, C. Roy, Kevin A. Schneider","doi":"10.1109/ICPC.2019.00022","DOIUrl":"https://doi.org/10.1109/ICPC.2019.00022","url":null,"abstract":"Copying and pasting source code during software development is known as code cloning. Clone fragments with a minimum size of 5 LOC were usually considered in previous studies. In recent studies, clone fragments which are less than 5 LOC are referred as micro-clones. It has been established by the literature that code clones are closely related with software bugs as well as bug replication. None of the previous studies have been conducted on bug-replication of micro-clones. In this paper we investigate and compare bug-replication in between regular and micro-clones. For the purpose of our investigation, we analyze the evolutionary history of our subject systems and identify occurrences of similarity preserving co-changes (SPCOs) in both regular and micro-clones where they experienced bug-fixes. From our experiment on thousands of revisions of six diverse subject systems written in three different programming languages, C, C# and Java we find that the percentage of clone fragments that take part in bug-replication is often higher in micro-clones than in regular code clones. The percentage of bugs that get replicated in micro-clones is almost the same as the percentage in regular clones. Finally, both regular and micro-clones have similar tendencies of replicating severe bugs according to our experiment. Thus, micro-clones in a code-base should not be ignored. We should rather consider these equally important as of the regular clones when making clone management decisions.","PeriodicalId":6853,"journal":{"name":"2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC)","volume":"117 1","pages":"81-92"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77730567","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}
引用次数: 10
CCEvovis: A Clone Evolution Visualization System for Software Maintenance CCEvovis:一个用于软件维护的克隆进化可视化系统
2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC) Pub Date : 2019-05-25 DOI: 10.1109/ICPC.2019.00026
Hirotaka Honda, Sho Tokui, Kazuki Yokoi, Eunjong Choi, Norihiro Yoshida, Katsuro Inoue
{"title":"CCEvovis: A Clone Evolution Visualization System for Software Maintenance","authors":"Hirotaka Honda, Sho Tokui, Kazuki Yokoi, Eunjong Choi, Norihiro Yoshida, Katsuro Inoue","doi":"10.1109/ICPC.2019.00026","DOIUrl":"https://doi.org/10.1109/ICPC.2019.00026","url":null,"abstract":"Understanding the evolution of code clones is important in software maintenance. With the information about how code clones evolve, both developers and researchers can understand the impacts of code clones and build a more robust code clone management system. So far, many studies have investigated the evolution of code clones to better understand the effects of code clones. However, only a few systems have been presented to support managing code clones based on the information about how code clone evolves. To mitigate this problem, in this paper, we present CCEvovis, a system that visualizes the evolved code clones across multiple versions of a program. CCEvovis highlights and visualizes the clone change to support software maintenance. CCEvovis is available at: https://github.com/hirotaka0616/CCEvovis.","PeriodicalId":6853,"journal":{"name":"2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC)","volume":"7 1","pages":"122-125"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"73729277","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
Visualizing Sequences of Debugging Sessions using Swarm Debugging 使用群调试可视化调试会话序列
2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC) Pub Date : 2019-05-25 DOI: 10.1109/ICPC.2019.00030
Eduardo A. Fontana, Fábio Petrillo
{"title":"Visualizing Sequences of Debugging Sessions using Swarm Debugging","authors":"Eduardo A. Fontana, Fábio Petrillo","doi":"10.1109/ICPC.2019.00030","DOIUrl":"https://doi.org/10.1109/ICPC.2019.00030","url":null,"abstract":"In Software Engineering, one of the most important activities is debugging. Debugging is a set of techniques to detect, locate, and correct faults in a computer program. Modern Integrated Development Environments (IDEs), such as Eclipse or Visual Studio, provide infrastructure to support interactive debugging, during which a developer explores the source code of the system under development or maintenance. Although IDEs encourage developers to work collaboratively, debugging is still an individual activity. Furthermore, interactive debugging activity is limited by IDE debugging features that do not store previous debugging sessions. This condition forces developers to repeat debugging execution sessions to review the debugging information. In this paper, using the concept of Swarm Debugging, we present the Sequence Debugging Session View (SDV) tool. The primary goal is to capture the debugging information from a developer IDE (as Visual Studio) and store it. Then, the tool enables developers to retrieve the data in 3D interactive visualization and understand software behavior through the analysis and sharing of debugging session data. The main contribution of the tool is to assist on program comprehension and to reduce effort during software maintenance. To validate the solution, we performed two usage studies in real situations at a software house. The feedback from the evaluation of the tool suggests that the team could be helped on the software arrangement.","PeriodicalId":6853,"journal":{"name":"2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC)","volume":"32 1","pages":"139-143"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79155395","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
Prevalence of Bad Smells in PL/SQL Projects PL/SQL项目中不良气味的流行
2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC) Pub Date : 2019-05-25 DOI: 10.1109/ICPC.2019.00025
Francisco Gonçalves de Almeida Filho, Antônio Diogo Forte Martins, Tiago Vinuto, José Maria S. Monteiro, Ítalo Pereira de Sousa, Javam C. Machado, L. Rocha
{"title":"Prevalence of Bad Smells in PL/SQL Projects","authors":"Francisco Gonçalves de Almeida Filho, Antônio Diogo Forte Martins, Tiago Vinuto, José Maria S. Monteiro, Ítalo Pereira de Sousa, Javam C. Machado, L. Rocha","doi":"10.1109/ICPC.2019.00025","DOIUrl":"https://doi.org/10.1109/ICPC.2019.00025","url":null,"abstract":"Code Smell can be defined as any feature in the source code of a software that may indicate possible problems. In database languages, the term Bad Smell has been used as a generalization of Code Smell, once some features that are not directly related to code also can indicate problems, such as, for instance, the inappropriate type of an index structure or a SQL query written inefficiently. Bearing in mind the recurrence of different Bad Smell, they were catalogued. Along with these catalogs, tools were developed to automatically identify Bad Smell occurrences in a given code. With the help of these tools, it has become possible to perform quick and effective analysis. In this context, this paper proposes an exploratory study about Bad Smell in PL/SQL codes, from free software projects, published on GitHub. We analyzed 20 open-source PL/SQL projects and empirically study the prevalence of bad smells. Our results showed that some smells occur together. Besides, some smells are more frequent than others. Based on this principle, this paper has the potential to aid professionals from the databases area to avoid future problems during the development of a PL/SQL project.","PeriodicalId":6853,"journal":{"name":"2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC)","volume":"37 1","pages":"116-121"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"82325890","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}
引用次数: 12
Learning a Classifier for Prediction of Maintainability Based on Static Analysis Tools 基于静态分析工具的可维护性预测分类器学习
2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC) Pub Date : 2019-05-25 DOI: 10.1109/ICPC.2019.00043
Markus Schnappinger, Mohd Hafeez Osman, A. Pretschner, Arnaud Fietzke
{"title":"Learning a Classifier for Prediction of Maintainability Based on Static Analysis Tools","authors":"Markus Schnappinger, Mohd Hafeez Osman, A. Pretschner, Arnaud Fietzke","doi":"10.1109/ICPC.2019.00043","DOIUrl":"https://doi.org/10.1109/ICPC.2019.00043","url":null,"abstract":"Static Code Analysis Tools are a popular aid to monitor and control the quality of software systems. Still, these tools only provide a large number of measurements that have to be interpreted by the developers in order to obtain insights about the actual quality of the software. In cooperation with professional quality analysts, we manually inspected source code from three different projects and evaluated its maintainability. We then trained machine learning algorithms to predict the human maintainability evaluation of program classes based on code metrics. The code metrics include structural metrics such as nesting depth, cloning information and abstractions like the number of code smells. We evaluated this approach on a dataset of more than 115,000 Lines of Code. Our model is able to predict up to 81% of the threefold labels correctly and achieves a precision of 80%. Thus, we believe this is a promising contribution towards automated maintainability prediction. In addition, we analyzed the attributes in our created dataset and identified the features with the highest predictive power, i.e. code clones, method length, and the number of alerts raised by the tool Teamscale. This insight provides valuable help for users needing to prioritize tool measurements.","PeriodicalId":6853,"journal":{"name":"2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC)","volume":"83 1","pages":"243-248"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"83746783","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
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信