• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to previous page

構文定義および既存のコード例を用いたテキストベースコード補完

Research Project

Project/Area Number 23K11053
Research Category

Grant-in-Aid for Scientific Research (C)

Allocation TypeMulti-year Fund
Section一般
Review Section Basic Section 60050:Software-related
Research InstitutionShibaura Institute of Technology

Principal Investigator

篠埜 功  芝浦工業大学, 工学部, 教授 (10362021)

Project Period (FY) 2023-04-01 – 2026-03-31
Project Status Granted (Fiscal Year 2023)
Budget Amount *help
¥4,030,000 (Direct Cost: ¥3,100,000、Indirect Cost: ¥930,000)
Fiscal Year 2025: ¥1,040,000 (Direct Cost: ¥800,000、Indirect Cost: ¥240,000)
Fiscal Year 2024: ¥1,040,000 (Direct Cost: ¥800,000、Indirect Cost: ¥240,000)
Fiscal Year 2023: ¥1,950,000 (Direct Cost: ¥1,500,000、Indirect Cost: ¥450,000)
Keywords構文補完 / LR構文解析 / 構文解析器生成系 / 文法 / 生成規則 / プログラミングツール / 順序 / コード補完 / コード例 / 文形式 / 構文定義
Outline of Research at the Start

エディタ上での自動インデント、識別子や構文などの入力補完や、関数等のドキュメントの表示、種々のリファクタリングなどのプログラミングツールが広く利用されており、これらのツールはプログラミングの効率に大きな影響を及ぼす。これらのツールの改善は大きな課題であり、本研究では、さまざまな支援機能の中で特に構文補完に着目し、対象言語の構文定義およびGitHub等で公開されている既存のコード例の情報を解析して用いることにより、構文や型等の文脈に応じた実用的な補完候補を計算する方式の考案および実装を行う。

Outline of Annual Research Achievements

2023年度は、基盤研究(C) 20K11752 「構文解析を用いたテキストベースコード補完」の助成を受けて全南大学校のKwanghoon Choi教授とともに2022年度に投稿した論文がScience of Computer Programmingという国際論文誌に採録され、2023年6月に掲載された(Volume 228)。これは国際会議ACM Partial Evaluation and Program Manipulation(PEPM 2021)で発表を行ったLR構文解析に基づく構文補完方式をもとに、Haskell、C、Small Basic、PolyRPC等の言語に適用し、simple candidate, nested candidate, extended simple candidate等、いくつかの補完候補についてそれらを計算するアルゴリズムを考案したものである。この補完方式をもとに、既存のソースコードを事前に処理し、構文解析器の各内部状態におけるactionの頻度情報を計算しておいて、それを補完時に用いる構文補完方式を考案して国際会議The 39th ACM SIGAPP Symposium on Applied Computing (SAC 2024)に投稿し、採録された。従来、エディタ上でのソースコードの編集時に用いられる補完では、識別子の補完においては候補提示順序が考慮される方式が少ないながらもあったが、構文の補完においては候補提示順序が考慮されていなかった。本研究で提案した方式は、この問題を解決するものである。この方式を実装し、合計789,023行の3,701個のSmallBasicのプログラムと合計308,599行の412個のC11のプログラムを対象に実験したところ、順位の高い補完候補は既存のソースコードと合致する場合が多く、かつ、既存のソースコード内における構文は補完候補の上位10番以内に96%以上入っていた。

Current Status of Research Progress
Current Status of Research Progress

2: Research has progressed on the whole more than it was originally planned.

Reason

研究は順調に行われている。提示順序を考慮した補完方式を考案、実装し、良い実験結果も得られた。研究成果は国際会議SAC 2024に採録された。

Strategy for Future Research Activity

現状では、補完候補は終端、非終端記号の列であり、終端記号の属性値がない状態である。これだと実際に補完を行う際に、例えば識別子はIDと表示されるだけで、ここからさらに識別子の候補を得るためには1 step余分にプログラマの手間がかかるので、プログラマにとって便利ではない状況である。今後は、2023年度の成果をもとに、近年広く使われ始めているGPT等の大規模言語モデルに対して本研究の方式で提示される補完候補をpromptとして与えることにより、識別子等のlexemeを得ることを検討している。

Report

(1 results)
  • 2023 Research-status Report
  • Research Products

    (3 results)

All 2024 2023 Other

All Int'l Joint Research (1 results) Journal Article (1 results) (of which Int'l Joint Research: 1 results,  Peer Reviewed: 1 results) Presentation (1 results) (of which Int'l Joint Research: 1 results)

  • [Int'l Joint Research] 全南大学校(韓国)

    • Related Report
      2023 Research-status Report
  • [Journal Article] A text-based syntax completion method using LR parsing and its evaluation2023

    • Author(s)
      Isao Sasano, Kwanghoon Choi
    • Journal Title

      Science of Computer Programming

      Volume: 228 Pages: 102957-102957

    • DOI

      10.1016/j.scico.2023.102957

    • Related Report
      2023 Research-status Report
    • Peer Reviewed / Int'l Joint Research
  • [Presentation] Ranked syntax completion with LR parsing2024

    • Author(s)
      Kwanghoon Choi, Sooyeon Hwang, Hyeonah Moon, Isao Sasano
    • Organizer
      The 39th ACM SIGAPP Symposium on Applied Computing (SAC 2024)
    • Related Report
      2023 Research-status Report
    • Int'l Joint Research

URL: 

Published: 2023-04-13   Modified: 2024-12-25  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi