Nothing is impossible, the word itself says 'I'm possible'! – Audrey Hepburn

Code similarity and clone search in large-scale source code data

My research focuses on scalability of code clone detection. Scalable code clone detection is increasingly important nowadays due to the popularity of code reuse from online sources such as Stack Overflow or GitHub. Previous studies have shown that cloning code snippets from Stack Overflow not only potentially introduces vulnerabilities to the software but also causes licensing conflicts.
I have built a scalable code search tool (Siamese) that instantly retrieves clone snippets from online sources. It incorporates novel techniques of multiple code representations and query reduction to accurately retrieve clones within hundred millions line of code within seconds. The tool facilitates developers and SE researchers in many ways, such as finding clones during commit or code review time, finding similar code examples, or software plagiarism detection.

Publications

Ragkhitwetsagul C., Krinke J., Choetkiertikul M., Sunetnanta T., Sarro F., Adoption of Automated Software Engineering Tools and Techniques in Thailand, Empirical Software Engineering, 2024 (to appear)
Download: Coming soon

Sanamontre T., Visoottiviseth V., and Ragkhitwetsagul C., Detecting Malicious Android Game Applications on Third-Party Stores Using Machine Learning, 38th International Conference on Advanced Information Networking and Applications (AINA 2024), Volume IV, LNDECT 202, 17-19 April 2024, Kitakyushu, Japan.
Download: DOI

Lapvikai P., Ragkhitwetsagul C., Choetkiertikul M., Higo Y., Autorepairability: A New Software Quality Characteristic, 31st IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2024), Rovaniemi, Finland.
Download: Preprint

Choetkiertikul M., Puengmongkolchaikit A., Chandra P., Ragkitwetsakul C., Maipradit R., Hata H., Sunetnanta T., Matsumoto K., Studying the association between Gitcoin's issues and resolving outcomes, Journal of Systems and Software, 2023.
Download: DOI

Choetkiertikul M., Hoonlor A., Ragkhitwetsagul C., Pongpaichet S., Sunetnanta T., Settewong T., Jiravatvanich V., Kaewpichai U., Mining the Characteristics of Jupyter Notebooks in Data Science Projects in the Mining Software Repositories 2023 (MSR '23) - Registered Report, 15-16 May 2023, Melbourne, Australia.
Download: Preprint

Rattanukul, P., Chansida Makaranond, C., Pumipat Watanakulcharus, P., Ragkhitwetsagul, C.,Nearunchorn†, T., Visoottiviseth, V., Choetkiertikul, M., Sunetnanta, T., Microusity: A testing tool for Backends for Frontends (BFF) Microservice Systems in the 31st IEEE/ACM International Conference on Program Comprehension (ICPC '23), 15-16 May 2023, Melbourne, Australia.
Download: Preprint | DOI

Sangaroonsilp, P., Dam, H. K., Choetkiertikul, M., Ragkhitwetsagul, C., & Ghose, A. (2023). A taxonomy for mining and classifying privacy requirements in issue reports. Information and Software Technology, 157(January),
Download: DOI (Open Access)

Ritta, N., & Settewong, T., Kula, R. G., Ragkhitwetsagul, C., Sunetnanta, T., & Matsumoto, K., Reusing My Own Code : Preliminary Results for Competitive Coding in Jupyter Notebooks in the 29th Asia-Pacific Software Engineering Conference (APSEC 2022), 6-9 December 2022, Virtual Event.
Download: Preprint | DOI

Settewong, T., Ritta, N., Kula, R. G., Ragkhitwetsagul, C., Sunetnanta, T., & Matsumoto, K., Why Visualize Data When Coding ? Preliminary Categories for Coding in Jupyter Notebooks in the 29th Asia-Pacific Software Engineering Conference (APSEC 2022), 6-9 December 2022, Virtual Event.
Download: Preprint | DOI

Ragkhitwetsagul, C., Choetkiertikul, M., Hoonlor, A., & Prachyabrued, M.,Virtual Reality for Software Engineering Presentations in the 29th Asia-Pacific Software Engineering Conference (APSEC 2022), 6-9 December 2022, Virtual Event -- Won the best paper award!
Download: Preprint | DOI | Best Paper Award

Krinke J. and Ragkhitwetsagul C.,BigCloneBench Considered Harmful for Machine Learning. in the 16th International Workshop on Software Clones (IWSC '22), 2 October 2022, Limassol, Cyprus - Won the Best Paper Award and Best Presentation Award!.
Download: Preprint, | DOI | Best Paper & People's Choice Award

Jarukitpipat, V., Chhun, K., Wanprasert, W., Choetkiertikul, M., Sunetnanta, T., Kula, R. G., Chinthanet, B., Ishio, T., & Matsumoto, K., V-Achilles : An Interactive Visualization of Transitive Security Vulnerabilities. The 37th IEEE/ACM International Conference on Automated Software Engineering (ASE '22) - Tool Demonstration Track, 10-14 October 2022, Michigan, USA.
Download: Preprint | DOI

Kangwanwisit, P., Choetkiertikul, M., Ragkhitwetsagul, C., Sunetnanta, T., Maipradit, R., Hata, H., Matsumoto, K.A component recommendation model for issues in software projects. The 19th International Joint Conference on Computer Science and Software Engineering (JCSSE '22), 22 - 25 June 2022, Bangkok, Thailand.
Download: DOI

Ragkhitwetsagul C. and Paixao M.,Recommending Code Improvements Based on Stack Overflow Answer Edits. in the 19th International Conference on Mining Software Repositories (MSR '22') - Registered Report Track, 18-19 May 2022, Pittsburgh, PA, USA (to appear).
Download: Preprint | Video: 

Robles G., Kula R. G., Ragkhitwetsagul C., Sakulniwat T., Matsumoto K., Gonzalez-Barahona J. M., pycefr: Python Competency Level through Code Analysis. in the 30th IEEE/ACM International Conference on Program Comprehension (ICPC '22) - Tool Demonstration Track, 16-17 May 2022, Pittsburgh, PA, USA (to appear).
Download: Preprint | DOI | Video | DOI

Ragkhitwetsagul C., Krinke J., Choetkiertikul M., Sunetnanta T., Sarro F., Identifying Software Engineering Challenges in Software SMEs: A Case Study in Thailand. in the 29th International Conference on Software Analysis, Evolution, and Reengineering (SANER’22) - Industry Track, 15-18 March 2022, Honolulu, Hawaii.
Download: Preprint | Slides |  Video | DOI

Phaithoon S., Wongnil S., Pussawong P., Choetkiertikul M., Rakhitwetsagul C., Sunetnanta T., Maipradit R., Hata H., Matsumoto K., FixMe: A GitHub Bot for Detecting and Monitoring On-hold Self-Admitted Technical Debt. in the Proceedings of the International Conference on Automated Software Engineering (ASE) - Tool Demonstrations Track, 2021 (Virtual Event).
Download: Preprint | DOI

Krinke, J., & Ragkhitwetsagul, C. (2021). Code Similarity in Clone Detection (Book Chapter). In K. Inoue & C. K. Roy (Eds.), Code Clone Analysis (pp. 135–160), Springer.
Download: The Chapter  | The Book

Robert White, Jens Krinke, Earl Barr, Federica Sarro, Chaiyong Ragkhitwetsagul, Artefact Relation Graphs for Unit Test Reuse Recommendation. in the Proceedings of IEEE International Conference on Software Testing (ICST) 2021, Virtual Event.
Download: DOI

Choetkiertikul, M., Dam, H.K., Tran, T. et al. Automatically recommending components for issue reports using deep learning. Empirical Software Engineering 26, 14 (2021).
Download: DOI

D. Han, C. Ragkhitwetsagul, J. Krinke, M. Paixao, G. Rosa, Does code review really remove coding convention violations?. in the Proceedings of 20th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM), 28 Sept.-2 Oct. 2020, Adelaide, Australia (Virtual Event).
Download: Preprint | DOI

C. Ragkhitwetsagul, J. Krinke. Siamese: Scalable and Incremental Code Clone Search via Multiple Code Representations. Empirical Software Engineering (EMSE), 2019 / ICSE 2020 (Journal-First).
Download: Preprint | DOI 10.1007/s10664-019-09697-7 | Website: github.com/UCL-CREST/Siamese
| Video: 

C. Khanan, W. Luewichana, K. Pruktharathikoon, J. Jiarpakdee, C. Tantithamthavorn, M. Choetkiertikul, C. Ragkhitwetsagul, T. Sunetnanta. JITBot: An Explainable Just-In-Time Defect Prediction Bot, in the 35th IEEE/ACM International Conference on Automated Software Engineering (ASE ’20) - Tool Demo Track, September 21–25, 2020, Virtual Event, Australia
Website: https://jitbot-tool.github.io/

P. Phan-udom, N. Wattanakul, T. Sakulniwat, C. Ragkhitwetsagul, T. Sunetnanta, M. Choetkiertikul, R.G. Kula Teddy: Automatic Recommendation of PythonicIdiom Usage For Pull-Based Software Project, in The 36th IEEE International Conference on Software Maintenance and Evolution (ICSME 2020) - Tool Demo Track (Won the Best Tool Demo Award!), September 21 - October 3, 2020, Adelaide, Australia.
Download: Preprint | Award Certificate

N. Assavakamhaenghan, M. Choetkiertikul, S. Tuarob, R. G. Kula, H. Hata, C. Ragkhitwetsagul, T. Sunetnanta, and K. Matsumoto. Software Team Member Configurations: A Study of Team Effectiveness in Moodle, in The 10th International Workshop on Empirical Software Engineering in Practice (IWESEP 2019), Tokyo, Japan
Download: Preprint | DOI

T. Sakulniwat, R. G. Kula, C. Ragkhitwetsagul, M. Choetkiertikul, T. Sunetnanta, D. Wang, T. Ishio and K. Matsumoto. Visualizing the Usage of Pythonic Idioms Over Time: A Case Study of the with open Idiom, in The 10th International Workshop on Empirical Software Engineering in Practice (IWESEP 2019), Tokyo, Japan
Download: Preprint | DOI

V. Arammongkolvichai, R. Koschke, C. Ragkhitwetsagul, M. Choetkiertikul, T. Sunetnanta. Improving Clone Detection Precision using Machine Learning Techniques, in The 10th International Workshop on Empirical Software Engineering in Practice (IWESEP 2019), Tokyo, Japan
Download: Preprint | DOI

T. Bunkerd, D. Wang, R. G. Kula, C. Ragkhitwetsagul, M. Choetkiertikul, T. Sunetnanta, T. Ishio, and K. Matsumoto. How Do Contributors Impact Code Naturalness? An Exploratory Study of 50 Python Projects, in The 10th International Workshop on Empirical Software Engineering in Practice (IWESEP 2019), Tokyo, Japan
Download: Preprint | DOI

S. Wattanakriengkrai, N. Srisermphoak, S. Sintoplertchaikul, M. Choetkiertikul, C. Ragkhitwetsagul, T. Sunetnanta, H. Hata and K. Matsumoto. Automatic Classifying Self-Admitted Technical Debt Using N-gram IDF, in the 26th Asia-Pacific Software Engineering Conference (APSEC 19), Putrajaya, Malaysia.
Download: Preprint | DOI

M. Paixao, J. Krinke, D. Han, C. Ragkhitwetsagul, M. Harman. The Impact of Code Review on Architectural Changes. Transactions on Software Engineering (TSE), 2019.
Download: DOI

C. Ragkhitwetsagul. Code similarity and clone search in large-scale source code data. PhD thesis, 2018.
Download: PhD thesis

C. Ragkhitwetsagul, J. Krinke, M. Paixao, R. Oliveto, G. Bianco (2018). Toxic Code Snippets on Stack Overflow. Transactions on Software Engineering (TSE), 2018.
Download: Preprint  DOI: 10.1109/TSE.2019.2900307  Website: ucl-crest.github.io/cloverflow-web 
Reviewed in neverworkintheory.org

    Additional material:
    C. Ragkhitwetsagul, J. Krinke, R. Oliveto (2017). Awareness and Experience of Developers to Outdated and License-Violating Code on Stack Overflow: An Online Survey. UCL Computer Science Research Note (RN/17/10), 2017.
    Download: Research Note arXiv: 1806.08149

J. Wilkie , Z. Al Halabi , A. Karaoglu , J. Liao , G. Ndungu, C. Ragkhitwetsagul, M. Paixão , J. Krinke (2018). Who's this? Developer identification using IDE event data. In 15th International Conference on Mining Software Repositories -- Mining Challenge (MSR 2018), 2018. Gothenburg, Sweden, 2018.
Download: Preprint  DOI: 10.1145/3196398.3196461

C. Ragkhitwetsagul, J. Krinke, B. Marnette (2017). A picture is worth a thousand words: code clone detection based on image similarity. In 12th International Workshop on Software Clones, 2018. Campobasso, Italy, 2018.
Download: Preprint DOI: 10.1109/IWSC.2018.8327318

C. Ragkhitwetsagul, J. Krinke, D. Clark (2017), A comparison of code similarity analysers, Empirical Software Engineering, vol. 23, no. 4, pp. 2464–2519, Aug. 2018.
Download: Preprint DOI: 10.1007/s10664-017-9564-7  Slideshow: Slideshare

M. Paixao, J. Krinke, D. Han, C. Ragkhitwetsagul and M. Harman (2017). Are Developers Aware of the Architectural Impact of Their Changes? In the 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE 2017), Illinois, USA
Download: Preprint DOI: 10.1109/ASE.2017.8115622

C. Ragkhitwetsagul, J. Krinke (2017). Using Compilation/Decompilation to Enhance Clone Detection. In 11th International Workshop on Software Clones, 2017. Klagenfurt, Austria -- Won the People's Choice Award!
Download: Preprint DOI: 10.1109/IWSC.2017.7880502 Slideshow: SlideShare

C. Ragkhitwetsagul, J. Krinke, D. Clark (2016). Similarity of Source Code in the Presence of Pervasive Modifications. In 16th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM), 2016. North Carolina, USA.
Download: Preprint DOI: 10.1109/SCAM.2016.13 Slideshow: SlideShare

C. Ragkhitwetsagul (2016). Measuring Code Similarity in Large-scaled Code Corpora. In 32nd International Conference on Software Maintenance and Evolution (ICSME): Doctoral Symposium, 2016. North Carolina, USA.
Download: Preprint DOI: 10.1109/ICSME.2016.18

C. Ragkhitwetsagul, M. Paixao, M. Adham, S. Busari, J. Krinke, and J.H. Drake (2016). Searching for Configurations in Clone Evalution: A Replication Study. In 8th International Symposium on Search-based Software Engineering (SSBSE): Challenge Track, 2016. North Carolina, USA.
Download: Preprint DOI: 10.1007/978-3-319-47106-8_20 Slideshow: SlideShare


The publications listed from here are undergraduate student projects that I advised at the faculty of ICT, Mahidol University:

P. Janviriya, T. Ongarjithichai, P. Numruktrakul, C. Ragkhitwetsagul (2014). CloudyDays : Cloud Storage Integration System. In Student Project Conference (ICT-ISPC), 2014 Third ICT International (pp. 125–128). Nakhonpathom, Thailand.
Download: DOI: 10.1109/ICT-ISPC.2014.6923233

P. Hathaiwichian, L. Siriwittayacharoen, A. Wongwachirawanich, C. Ragkhitwetsagul (2014). Android Application for Event Management and Information Propagation. In Student Project Conference (ICT-ISPC), 2014 Third ICT International (pp. 139–142). Nakhonpathom, Thailand.
Download: DOI: 10.1109/ICT-ISPC.2014.6923236

Academic Services

2021

Empirical Software Engineering (EMSE) Reviewer

ICSME 2021 Research Track Program Committee (https://icsme2021.github.io)

ICPC 2021 ERA Track Co-chair (https://conf.researchr.org/track/icpc-2021/icpc-2021-era)

ASE 2021 Research Track Program Committee (https://conf.researchr.org/track/ase-2021/ase-2021-papers)

ASE 2021 Late Breaking Results Track Program Committee (https://conf.researchr.org/track/ase-2021/ase-2021-late-breaking-results)

SANER 2021 ERA Track Program Committee (https://saner2021.shidler.hawaii.edu/index)


2020

Journal of Systems & Software (JSS) Reviewer

Science of Computer Programming (SCICO) Reviewer

Computer Science Review (COSREV) Reviewer

ASE 2020 Late Breaking Results Track Program Committee (https://conf.researchr.org/track/ase-2020/ase-2020-late-breaking-results)

ASE 2020 Research Track Program Committee (https://conf.researchr.org/track/ase-2020/ase-2020-papers)

ICPC 2020 Research Track Program Committee (https://conf.researchr.org/track/icpc-2020/icpc-2020-research)

Presentations

21/2/2017: Using Compilation/Decompilation to Enhance Clone Detection: The slides of my talk at IWSC '17.

3/10/2016: Similarity of Source Code in the Presence of Pervasive Modifications: The slides of my talk at SCAM '16.

9/10/2016: Searching for Configurations in Clone Evalution: A Replication Study: The slides of my talk at SSBSE '16 (Challenge Track).

15/06/2016: Similarity of Source Code in the Presence of Pervasive Modifications: The slides of my talk at the 12th International Summer School on Software Engineering (Student Talk) covering the complete results of CloPlag experiment.

01/06/2015: CloPlag: A Study of Effects of Code Obfuscation to Similarity Detection Tools: Latest update of CloPlag study with more results! It was given at COW 42 Annual Research Review of CREST.

06/02/2015: CloPlag: A Study of Effects of Code Obfuscation to Clone/Plagiarism Detection Tools: A presentation of intial results from the experiment on effects of code obfuscation to current similarity detection tools. It was given at a CREST Monthly Meeting.

Worth Reading

Interesting papers or articles regarding doing a PhD and conducting reserach in general.

Worth Watching

Videos or slides that I found very valuable for doing research.

Research Activities

Mar-18: Presented at IWSC '18
Sep-17: Student volunteer at FSE '17
Feb-17: Presented at IWSC '17
Oct-16: Presented at SCAM '16, ICSME16 and SSBSE16.
Jul-16: SCAM '16 subreviewer
May-16: PeerJ Computer Science journal reviewer.
Jul-15: SCAM '15' subreviewer
Jun-15: Presented at COW 42.