WEKO3
アイテム
{"_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": ["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": [{"affiliationNameIdentifierScheme": "ISNI", "affiliationNameIdentifierURI": "http://www.isni.org/isni/"}], "affiliationNames": [{"affiliationNameLang": "ja"}]}], "creatorNames": [{"creatorName": "松本, 健一", "creatorNameLang": "ja"}, {"creatorName": "マツモト, ケンイチ", "creatorNameLang": "ja-Kana"}], "familyNames": [{"familyName": "松本", "familyNameLang": "ja"}, {"familyName": "マツモト", "familyNameLang": "ja-Kana"}], "givenNames": [{"givenName": "健一", "givenNameLang": "ja"}, {"givenName": "ケンイチ", "givenNameLang": "ja-Kana"}], "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"}], "download_preview_message": "Download / Preview is available from 2024/12/13.", "file_order": 0, "filename": "paper_2022159061-1_20221006_230224_vD.pdf", "filesize": [{"value": "798 KB"}], "format": "application/pdf", "future_date_message": "Download is available from 2024/12/13.", "is_thumbnail": false, "mimetype": "application/pdf", "size": 798000.0, "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"], "permalink_uri": "http://hdl.handle.net/10061/0002000092", "pubdate": {"attribute_name": "PubDate", "attribute_value": "2024-01-09"}, "publish_date": "2024-01-09", "publish_status": "0", "recid": "2000092", "relation": {}, "relation_version_is_last": true, "title": ["Comparing Execution Traces of Jupyter Notebook for Checking Correctness of Refactoring"], "weko_shared_id": -1}
Comparing Execution Traces of Jupyter Notebook for Checking Correctness of Refactoring
http://hdl.handle.net/10061/0002000092
http://hdl.handle.net/10061/000200009243b8c4e7-8433-4bd4-97fd-cd65f077741a
名前 / ファイル | ライセンス | アクション |
---|---|---|
![]()
Download is available from 2024/12/13.
|
|
Item type | 会議発表論文 / Conference Paper(1) | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
公開日 | 2024-01-09 | |||||||||
タイトル | ||||||||||
タイトル | Comparing Execution Traces of Jupyter Notebook for Checking Correctness of Refactoring | |||||||||
言語 | ||||||||||
言語 | eng | |||||||||
キーワード | ||||||||||
主題Scheme | Other | |||||||||
主題 | Jupyter Notebook | |||||||||
キーワード | ||||||||||
主題Scheme | Other | |||||||||
主題 | Extract Function Refactoring | |||||||||
キーワード | ||||||||||
主題Scheme | Other | |||||||||
主題 | Python | |||||||||
キーワード | ||||||||||
主題Scheme | Other | |||||||||
主題 | Execution Trace | |||||||||
キーワード | ||||||||||
主題Scheme | Other | |||||||||
主題 | IPython | |||||||||
キーワード | ||||||||||
主題Scheme | Other | |||||||||
主題 | Code Clone | |||||||||
資源タイプ | ||||||||||
資源タイプ | conference paper | |||||||||
著者 |
Sato, Fumiya
× Sato, Fumiya
× Ikegami, Ayano
× 石尾, 隆× 嶋利, 一真× 松本, 健一 |
|||||||||
抄録 | ||||||||||
内容記述タイプ | Abstract | |||||||||
内容記述 | 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. | |||||||||
書誌情報 |
en : 2022 IEEE 16th International Workshop on Software Clones (IWSC) p. 62-68, 発行日 2022-12-14 |
|||||||||
会議情報 | ||||||||||
会議名 | 2022 IEEE 16th International Workshop on Software Clones (IWSC) | |||||||||
開始年 | 2022 | |||||||||
開始月 | 10 | |||||||||
開始日 | 2 | |||||||||
終了年 | 2022 | |||||||||
終了月 | 10 | |||||||||
終了日 | 2 | |||||||||
開催地 | Limassol | |||||||||
開催国 | CYP | |||||||||
出版者 | ||||||||||
出版者 | IEEE | |||||||||
EISSN/PISSN | ||||||||||
収録物識別子タイプ | EISSN | |||||||||
収録物識別子 | 2572-6587 | |||||||||
出版者版DOI | ||||||||||
関連タイプ | isVersionOf | |||||||||
識別子タイプ | DOI | |||||||||
関連識別子 | https://doi.org/10.1109/IWSC55060.2022.00019 | |||||||||
出版者版URI | ||||||||||
関連タイプ | isVersionOf | |||||||||
識別子タイプ | URI | |||||||||
関連識別子 | https://ieeexplore.ieee.org/document/9978248 | |||||||||
権利 | ||||||||||
権利情報 | ©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日以降に公開 | |||||||||
著者版フラグ | ||||||||||
出版タイプ | AM |