Eunjong Choi
Osaka University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Eunjong Choi.
international workshop on software clones | 2011
Eunjong Choi; Norihiro Yoshida; Takashi Ishio; Katsuro Inoue; Tateki Sano
Code clone detection tools may report a large number of code clones, while software developers are interested in only a subset of code clones that are relevant to software development tasks such as refactoring. Our research group has supported many software developers with the code clone detection tool CCFinder and its GUI front-end Gemini. Gemini shows clone sets (i.e., a set of code clones identical or similar to each other) with several clone metrics including their length and the number of code clones; however, it is not clear how to use those metrics to extract interesting code clones for developers. In this paper, we propose a method combining clone metrics to extract code clones for refactoring activity. We have conducted an empirical study on a web application developed by a Japanese software company. The result indicates that combinations of simple clone metric is more effective to extract refactoring candidates in detected code clones than individual clone metric.
international workshop on software clones | 2012
Katsuro Inoue; Yoshiki Higo; Norihiro Yoshida; Eunjong Choi; Shinji Kusumoto; Kyong-Hwan Kim; Wonjin Park; Eunha Lee
When we reuse a code fragment, some of the identifiers in the fragment might be systematically changed to others. Failing these changes would become a potential bug in the copied fragment. We have developed a tool CloneInspector to detect such inconsistent changes in the code clones, and applied it to two mobile software systems. Using this tool, we were effectively able to find latent bugs in those systems.
international conference on program comprehension | 2013
Yuki Yamanaka; Eunjong Choi; Norihiro Yoshida; Katsuro Inoue; Tateki Sano
Programmers tend to write code clones unintentionally even in the case that they can easily avoid them. Clone change management is one of crucial issues in open source software (OSS) development as well as in industrial software development (e.g., development of social infrastructure, financial system, and medical equipment). When an industrial developer fixes a defect, he/she has to find the code clones corresponding to the code fragment including it. So far, several studies performed on the analysis of clone evolution in OSS. However, to our knowledge, a few researches have been reported on an application of a clone change notification system to industrial development process. In this paper, we introduce a system for notifying creation and change of code clones, and then report on the experience with 40-days application of it into a development process in NEC Corporation. In the industrial application, a developer successfully identified ten unintentionally-developed clones that should be refactored.
international workshop on software clones | 2012
Yuki Yamanaka; Eunjong Choi; Norihiro Yoshida; Katsuro Inoue; Tateki Sano
Clone change management is one of crucial issues in open source software(OSS) development as well as in industrial software development (e.g., development of social infrastructure, financial system, and medical equipment). When an industrial developer fixes a defect, he/she has to find the code clones corresponding to the code fragment including it. So far, several studies performed on the analysis of clone evolution in OSS. However, to our knowledge, a few researches have been reported on an application of a clone change management system to industrial development process. In this paper, we propose a clone change management system based on the categorization of clone evolution, and then present case study of industrial application. In case study, we confirmed that the proposed system suggested two unintentionally developed clones in a half of the month.
mining software repositories | 2015
Yong Jin; Xin Yang; Raula Gaikovina Kula; Eunjong Choi; Katsuro Inoue; Hajimu Iida
In recent times, gamification has become a popular technique to aid online communities stimulate active member participation. Gamification promotes a reward-driven approach, usually measured by response-time. Possible concerns of gamification could a trade-off between speedy over quality responses. Conversely, bias toward easier question selection for maximum reward may exist. In this study, we analyze the distribution gamification-influenced tendencies on the Q&A Stack Overflow online community. In addition, we define some gamification-influenced metrics related to response time to a question post. We carried experiments of a four-month period analyzing 101,291 members posts. Over this period, we determined a Rapid Response time of 327 seconds (5.45 minutes). Key findings suggest that around 92% of SO members have fewer rapid responses that non-rapid responses. Accepted answers have no clear relationship with rapid responses. However, we did find that rapid responses significantly contain tags that did not follow their usual tagging tendencies.
international workshop on software clones | 2013
Akira Goto; Norihiro Yoshida; Masakazu Ioka; Eunjong Choi; Katsuro Inoue
Merging similar programs is a promising solution to improve the maintainability of source code. Before merging programs, any syntactic difference has to be extracted as a new method. However, it is difficult for a developer to identify and extract differences from programs appropriately because he/she has to consider not only syntactic and semantic correctness but also the modularity of the programs after merging. In this paper, we propose a slice-based cohesion metrics approach to suggesting the extractions of differences from similar Java methods. This approach identifies syntactic differences from two methods, and then suggests sets of cohesive regions including those differences. The case study shows that the proposed approach can suggest refactorings that not only merge two methods but also increase the cohesiveness.
international conference on program comprehension | 2016
Norihiro Yoshida; Tsubasa Saika; Eunjong Choi; Ali Ouni; Katsuro Inoue
Refactoring is a critical technique in evolving software systems. Martin Fowler presented a catalogue of refactoring patterns that defines a list of code smells and their corresponding refactoring patterns. This list aimed at supporting programmers in finding suitable refactoring patterns that remove code smells from their systems. However, a recent empirical study by Bavota et al. shows that refactoring rarely removes code smells which do not align with Fowlers catalog. To bridge the gap between them, we revisit the relationship between code smells and refactorings. In this study, we investigate whether developers apply appropriate refactoring patterns to fix code smells in three open source software systems.
ieee international conference on software analysis evolution and reengineering | 2016
Tsubasa Saika; Eunjong Choi; Norihiro Yoshida; Shusuke Haruna; Katsuro Inoue
Code smells are structures in the code that suggestthe possibility of refactoring. To prioritize code smells in large-scale source code, several tools for refactoring calculate theirseverity based on software metrics. Although several metrics are known as maintainability indicators, it is still unclear whether these severity indicators are in line with developers perception. In this paper, we investigate whether developers focus on severe code smells. The result shows that developers focus on only particular types of severe smells and refactoring do not decrease the severity of code smell significantly.
acm conference on systems programming languages and applications software for humanity | 2013
Norihiro Yoshida; Eunjong Choi; Katsuro Inoue
Clone refactoring (merging duplicate code) is a promising solution to improve the maintainability of source code. In this position paper, we discuss directions towards the advancement of clone refactoring, and show a perspective of active support based on online analysis of code modification on an editor of IDE.
international workshop on software clones | 2015
Eunjong Choi; Norihiro Yoshida; Raula Gaikovina Kula; Katsuro Inoue
We present a preliminary investigation of Stack Overflow to reveal practitioners interests about code clones. We then discuss possible future directions of research on code clones.