{"created":"2024-01-09T02:48:31.855305+00:00","id":2000092,"links":{},"metadata":{"_buckets":{"deposit":"ea13ba21-fcd0-49b5-9afa-60acb96d8b02"},"_deposit":{"created_by":4,"id":"2000092","owner":"4","owners":[4],"pid":{"revision_id":0,"type":"depid","value":"2000092"},"status":"published"},"_oai":{"id":"oai:naist.repo.nii.ac.jp:02000092","sets":["34:36"]},"author_link":["66","76","120"],"control_number":"2000092","item_1698715929687":{"attribute_name":"会議情報","attribute_value_mlt":[{"subitem_conference_country":"CYP","subitem_conference_date":{"subitem_conference_date_language":"en","subitem_conference_end_day":"2","subitem_conference_end_month":"10","subitem_conference_end_year":"2022","subitem_conference_start_day":"2","subitem_conference_start_month":"10","subitem_conference_start_year":"2022"},"subitem_conference_names":[{"subitem_conference_name":"2022 IEEE 16th International Workshop on Software Clones (IWSC)","subitem_conference_name_language":"en"}],"subitem_conference_places":[{"subitem_conference_place":"Limassol","subitem_conference_place_language":"en"}]}]},"item_9_biblio_info_7":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicIssueDates":{"bibliographicIssueDate":"2022-12-14","bibliographicIssueDateType":"Issued"},"bibliographicPageEnd":"68","bibliographicPageStart":"62","bibliographic_titles":[{"bibliographic_title":"2022 IEEE 16th International Workshop on Software Clones (IWSC)","bibliographic_titleLang":"en"}]}]},"item_9_description_5":{"attribute_name":"抄録","attribute_value_mlt":[{"subitem_description":"Jupyter Notebook is a popular tool for writing data analysis programs. Prior work showed that Jupyter Notebook users often duplicate their python code to try their hypothesis quickly. While such code clones can be removed by Extract Function refactoring later, users have to check that the output of a notebook is unaffected by the refactoring. However, users may not be able to compare execution results of a notebook before and after refactoring because non-textual output in Jupyter Notebook are fragile; for example, each of executions produce non-identical graphical images even though they look the same. To address this issue, we propose a method to automatically compare API calls to execute a Jupyter Notebook in addition to the textual output, while ignoring non-textual output. Our key assumption is that the same API calls with the same parameters produce the same results even if their details are non-identical. To demonstrate the effectiveness of the approach, we implemented an automatic tool for Jupyter Notebook that extracts a function from code clones and automatically checks the correctness. Using the tool, we have extracted functions from 3,995 cells in 520 Jupyter Notebook files. 142 out of 520 Notebook files are executable. Our tool compared API calls to check the correctness for 88 Notebook files, while a simple textual comparison could check 22 Notebook files.","subitem_description_language":"en","subitem_description_type":"Abstract"}]},"item_9_publisher_8":{"attribute_name":"出版者","attribute_value_mlt":[{"subitem_publisher":"IEEE","subitem_publisher_language":"en"}]},"item_9_relation_13":{"attribute_name":"出版者版DOI","attribute_value_mlt":[{"subitem_relation_type":"isVersionOf","subitem_relation_type_id":{"subitem_relation_type_id_text":"https://doi.org/10.1109/IWSC55060.2022.00019","subitem_relation_type_select":"DOI"}}]},"item_9_relation_18":{"attribute_name":"出版者版URI","attribute_value_mlt":[{"subitem_relation_type":"isVersionOf","subitem_relation_type_id":{"subitem_relation_type_id_text":"https://ieeexplore.ieee.org/document/9978248","subitem_relation_type_select":"URI"}}]},"item_9_rights_14":{"attribute_name":"権利","attribute_value_mlt":[{"subitem_rights":"©2022 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. 出版社許諾条件により、本文は2024年12月14日以降に公開","subitem_rights_language":"en"}]},"item_9_source_id_10":{"attribute_name":"EISSN/PISSN","attribute_value_mlt":[{"subitem_source_identifier":"2572-6587","subitem_source_identifier_type":"EISSN"}]},"item_9_version_type_16":{"attribute_name":"著者版フラグ","attribute_value_mlt":[{"subitem_version_resource":"http://purl.org/coar/version/c_ab4af688f83e57aa","subitem_version_type":"AM"}]},"item_creator":{"attribute_name":"著者","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Sato, Fumiya","creatorNameLang":"en"}]},{"creatorNames":[{"creatorName":"Ikegami, Ayano","creatorNameLang":"en"}]},{"creatorNames":[{"creatorName":"Ishio, Takashi","creatorNameLang":"en"},{"creatorName":"石尾, 隆","creatorNameLang":"ja"},{"creatorName":"イシオ, タカシ","creatorNameLang":"ja-Kana"}],"nameIdentifiers":[{"nameIdentifier":"66","nameIdentifierScheme":"WEKO"},{"nameIdentifier":"60452413","nameIdentifierScheme":"e-Rad","nameIdentifierURI":"https://kaken.nii.ac.jp/ja/search/?qm=60452413"}]},{"creatorNames":[{"creatorName":"Shimari, Kazumasa","creatorNameLang":"en"},{"creatorName":"嶋利, 一真","creatorNameLang":"ja"},{"creatorName":"シマリ, カズマサ","creatorNameLang":"ja-Kana"}],"nameIdentifiers":[{"nameIdentifier":"76","nameIdentifierScheme":"WEKO"},{"nameIdentifier":"50964376","nameIdentifierScheme":"e-Rad","nameIdentifierURI":"https://kaken.nii.ac.jp/ja/search/?qm=50964376"}]},{"creatorAffiliations":[{"affiliationNameIdentifiers":[{}],"affiliationNames":[{}]}],"creatorNames":[{"creatorName":"松本, 健一","creatorNameLang":"ja"},{"creatorName":"マツモト, ケンイチ","creatorNameLang":"ja-Kana"}],"familyNames":[{},{}],"givenNames":[{},{}],"nameIdentifiers":[{"nameIdentifier":"120","nameIdentifierScheme":"WEKO"},{"nameIdentifier":"70219492","nameIdentifierScheme":"e-Rad","nameIdentifierURI":"https://kaken.nii.ac.jp/ja/search/?qm=70219492"}]}]},"item_files":{"attribute_name":"ファイル情報","attribute_type":"file","attribute_value_mlt":[{"accessrole":"open_date","date":[{"dateType":"Available","dateValue":"2024-12-14"}],"filename":"paper_2022159061-1_20221006_230224_vD.pdf","filesize":[{"value":"798 KB"}],"format":"application/pdf","mimetype":"application/pdf","url":{"label":"fulltext","objectType":"fulltext","url":"https://naist.repo.nii.ac.jp/record/2000092/files/paper_2022159061-1_20221006_230224_vD.pdf"},"version_id":"421bb0d3-40f6-4d8f-a7ca-82fc6c376a91"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"Jupyter Notebook","subitem_subject_language":"en","subitem_subject_scheme":"Other"},{"subitem_subject":"Extract Function Refactoring","subitem_subject_language":"en","subitem_subject_scheme":"Other"},{"subitem_subject":"Python","subitem_subject_language":"en","subitem_subject_scheme":"Other"},{"subitem_subject":"Execution Trace","subitem_subject_language":"en","subitem_subject_scheme":"Other"},{"subitem_subject":"IPython","subitem_subject_language":"en","subitem_subject_scheme":"Other"},{"subitem_subject":"Code Clone","subitem_subject_language":"en","subitem_subject_scheme":"Other"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"eng"}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourcetype":"conference paper","resourceuri":"http://purl.org/coar/resource_type/c_5794"}]},"item_title":"Comparing Execution Traces of Jupyter Notebook for Checking Correctness of Refactoring","item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"Comparing Execution Traces of Jupyter Notebook for Checking Correctness of Refactoring","subitem_title_language":"en"}]},"item_type_id":"9","owner":"4","path":["36"],"pubdate":{"attribute_name":"PubDate","attribute_value":"2024-01-09"},"publish_date":"2024-01-09","publish_status":"0","recid":"2000092","relation_version_is_last":true,"title":["Comparing Execution Traces of Jupyter Notebook for Checking Correctness of Refactoring"],"weko_creator_id":"4","weko_shared_id":-1},"updated":"2024-03-19T10:15:56.168714+00:00"}