{"created":"2025-01-19T00:53:33.211297+00:00","metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00186612","sets":["1164:1384:9436:9437"]},"path":["9437"],"owner":"11","recid":"186612","title":["実行順序に着目したasync/awaitの実行の可視化"],"pubdate":{"attribute_name":"公開日","attribute_value":"2018-03-02"},"_buckets":{"deposit":"8451dec9-73f9-4baf-8bd7-eb446f78e4f3"},"_deposit":{"id":"186612","pid":{"type":"depid","value":"186612","revision_id":0},"owners":[11],"status":"published","created_by":11},"item_title":"実行順序に着目したasync/awaitの実行の可視化","author_link":["419156","419158","419157"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"実行順序に着目したasync/awaitの実行の可視化"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"プログラミング言語と解析","subitem_subject_scheme":"Other"}]},"item_type_id":"4","publish_date":"2018-03-02","item_4_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"東京工業大学"},{"subitem_text_value":"東京工業大学"},{"subitem_text_value":"東京工業大学"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"item_publisher":{"attribute_name":"出版者","attribute_value_mlt":[{"subitem_publisher":"情報処理学会","subitem_publisher_language":"ja"}]},"publish_status":"0","weko_shared_id":-1,"item_file_price":{"attribute_name":"Billing file","attribute_type":"file","attribute_value_mlt":[{"url":{"url":"https://ipsj.ixsq.nii.ac.jp/record/186612/files/IPSJ-SE18198022.pdf","label":"IPSJ-SE18198022.pdf"},"date":[{"dateType":"Available","dateValue":"2020-03-02"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-SE18198022.pdf","filesize":[{"value":"886.4 kB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"660","billingrole":"5"},{"tax":["include_tax"],"price":"330","billingrole":"6"},{"tax":["include_tax"],"price":"0","billingrole":"12"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_date","version_id":"25a9daa2-67e2-4202-ba37-f58a9cd20eb5","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2018 by the Information Processing Society of Japan"}]},"item_4_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"冨永, 江奈"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"荒堀, 喜貴"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"権藤, 克彦"}],"nameIdentifiers":[{}]}]},"item_4_source_id_9":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AN10112981","subitem_source_identifier_type":"NCID"}]},"item_4_textarea_12":{"attribute_name":"Notice","attribute_value_mlt":[{"subitem_textarea_value":"SIG Technical Reports are nonrefereed and hence may later appear in any journals, conferences, symposia, etc."}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourceuri":"http://purl.org/coar/resource_type/c_18gh","resourcetype":"technical report"}]},"item_4_source_id_11":{"attribute_name":"ISSN","attribute_value_mlt":[{"subitem_source_identifier":"2188-8825","subitem_source_identifier_type":"ISSN"}]},"item_4_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"JavaScript ではネットワーク通信やノンブロッキング I / O などの非同期処理において,終了後の処理をコールバック関数によって定義する.しかし,連続した非同期処理をコールバック関数を用いて記述すると,複数のコールバック関数が入れ子になり,ネストが深く可読性や保守性の低いコードになる.このような状態をコールバック地獄と呼ぶ.コールバック地獄を解決するため,JavaScript には Promise や async / await といった非同期処理の記述を容易にする機構が実装されてきた.async / await を用いると,コールバック地獄に陥ったコードを,ネストが浅く簡潔なコードに書き換えることが可能である.一方,その動作の複雑さ故に,書き換え後のコードの実行順序を正しく理解するのは容易ではない.本研究では async / await の問題点が実行順序の理解の難しさにあることを明らかにし,トレーサを利用して実行の様子を可視化するツールを作成した.その結果,Promise や async / await の動作の表示によって複雑な実行順序の理解を促すサポート機構が実装可能であることを示した.","subitem_description_type":"Other"}]},"item_4_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"8","bibliographic_titles":[{"bibliographic_title":"研究報告ソフトウェア工学(SE)"}],"bibliographicPageStart":"1","bibliographicIssueDates":{"bibliographicIssueDate":"2018-03-02","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"22","bibliographicVolumeNumber":"2018-SE-198"}]},"relation_version_is_last":true,"weko_creator_id":"11"},"links":{},"id":186612,"updated":"2025-01-20T02:31:36.541634+00:00"}