Typhon: Automatic Recommendation of Relevant Code Cells in Jupyter Notebooks
Issued Date
2024-01-01
Resource Type
Scopus ID
2-s2.0-85201405911
Journal Title
Proceedings - 21st International Joint Conference on Computer Science and Software Engineering, JCSSE 2024
Start Page
662
End Page
669
Rights Holder(s)
SCOPUS
Bibliographic Citation
Proceedings - 21st International Joint Conference on Computer Science and Software Engineering, JCSSE 2024 (2024) , 662-669
Suggested Citation
Ragkhitwetsagul C., Prasertpol V., Ritta N., Sae-Wong P., Noraset T., Choetkiertikul M. Typhon: Automatic Recommendation of Relevant Code Cells in Jupyter Notebooks. Proceedings - 21st International Joint Conference on Computer Science and Software Engineering, JCSSE 2024 (2024) , 662-669. 669. doi:10.1109/JCSSE61278.2024.10613645 Retrieved from: https://repository.li.mahidol.ac.th/handle/20.500.14594/100589
Title
Typhon: Automatic Recommendation of Relevant Code Cells in Jupyter Notebooks
Author's Affiliation
Corresponding Author(s)
Other Contributor(s)
Abstract
At present, code recommendation tools have gained greater importance to many software developers in various areas of expertise. Having code recommendation tools has enabled better productivity and performance in developing the code in software and made it easier for developers to find code examples and learn from them. This paper proposes Typhon, an approach to automatically recommend relevant code cells in Jupyter notebooks. Typhon tokenizes developers' markdown description cells and looks for the most similar code cells from the database using text similarities such as the BM25 ranking function or CodeBERT, a machine-learning approach. Then, the algorithm computes the similarity distance between the tokenized query and markdown cells to return the most relevant code cells to the developers. We evaluated the Typhon tool on Jupyter notebooks from Kaggle competitions and found that the approach can recommend code cells with moderate accuracy. The approach and results in this paper can lead to further improvements in code cell recommendations in Jupyter notebooks.