Skip to main content
QUICK REVIEW

[論文レビュー] MyProLang - My Programming Language: A Template-Driven Automatic Natural Programming Language

Youssef Bassil, Aziz Barbar|arXiv (Cornell University)|Apr 1, 2012
Teaching and Learning Programming参考文献 8被引用数 6
ひとこと要約

MyProLang は、ユーザーフレンドリーな GUI テンプレートから実行可能コードを生成するテンプレート駆動型の自然言語プログラミング環境を提案する。この手法により、構文エラーと学習のハードルが低下する。自然言語生成(NLG)、ソースツーソースコンパイル、および使いやすい IDE を組み合わせることで、非専門家や学生が手動でのコーディングや構文の習得なしに、人間が読みやすい命令型言語で正しいプログラムを自動的に記述できる。

ABSTRACT

Modern computer programming languages are governed by complex syntactic rules. They are unlike natural languages; they require extensive manual work and a significant amount of learning and practicing for an individual to become skilled at and to write correct programs. Computer programming is a difficult, complicated, unfamiliar, non-automated, and a challenging discipline for everyone; especially, for students, new programmers and end-users. This paper proposes a new programming language and an environment for writing computer applications based on source-code generation. It is mainly a template-driven automatic natural imperative programming language called MyProLang. It harnesses GUI templates to generate proprietary natural language source-code, instead of having computer programmers write the code manually. MyProLang is a blend of five elements. A proprietary natural programming language with unsophisticated grammatical rules and expressive syntax; automation templates that automate the generation of instructions and thereby minimizing the learning and training time; an NLG engine to generate natural instructions; a source-to-source compiler that analyzes, parses, and build executables; and an ergonomic IDE that houses diverse functions whose role is to simplify the software development process. MyProLang is expected to make programming open to everyone including students, programmers and end-users. In that sense, anyone can start programming systematically, in an automated manner and in natural language; without wasting time in learning how to formulate instructions and arrange expressions, without putting up with unfamiliar structures and symbols, and without being annoyed by syntax errors. In the long run, this increases the productivity, quality and time-to-market in software development.

研究の動機と目的

  • 従来のプログラミング言語における急峻な学習曲線と高いエラー率を是正すること。
  • 正しいプログラムを記述するための時間と労力を削減し、コード生成を自動化すること。
  • 非プログラマー、学生、エンドユーザーが自然言語の構文を用いてプログラミングを容易にできるようにすること。
  • 自然言語生成(NLG)とソースツーソースコンパイルを統合し、実行可能な出力を得ること。
  • 使いやすい IDE を通じて、ソフトウェア開発の全プロセスを簡素化すること。

提案手法

  • 本システムは、簡略化された文法と表現力のある構文を持つ特許取得済みの自然プログラミング言語を採用している。
  • GUI ベースのテンプレートを用いて、ユーザーが自然言語でプログラム論理を指定できるようにしている。
  • NLG エンジンがユーザー入力を人間が読みやすい、構文的に正しいソースコードに変換する。
  • ソースツーソースコンパイラが生成された自然言語コードを解析・コンパイルし、実行可能バイナリを出力する。
  • コード生成、編集、実行を一つのインターフェースですべてサポートする使いやすい IDE を環境に統合している。
  • 本アプローチにより、プログラミング論理と低レベルの構文を分離し、手動でのコーディングと構文エラーを最小限に抑える。

実験結果

リサーチクエスチョン

  • RQ1テンプレート駆動型のシステムは、手動でのコーディングなしに自然言語入力から正しい実行可能コードを生成できるか?
  • RQ2このアプローチは、初心者のプログラマーおよびエンドユーザーの学習曲線をどの程度軽減できるか?
  • RQ3NLG とソースツーソースコンパイルの統合は、プログラムの正しさと可読性を維持するためにどの程度効果的か?
  • RQ4このようなシステムはソフトウェア開発の生産性と市場投入までの時間を向上させられるか?
  • RQ5自然言語の文脈において、構文エラーの処理とコード品質の維持はどのように行われるか?

主な発見

  • 本システムは、GUI テンプレートを用いて自然言語入力から実行可能コードを成功裏に生成し、手動での構文入力を排除した。
  • 簡略化された文法を持つ特許取得済みの自然言語の使用により、初心者の認知的負荷と学習時間は軽減された。
  • NLG とソースツーソースコンパイルの統合により、自然言語の仕様から動作するプログラムへの自動翻訳が可能になった。
  • 使いやすい IDE は、非専門家向けの使いやすさを高めるためのスムーズな開発ワークフローをサポートしている。
  • テンプレート駆動型の生成によって、複雑な構文規則を抽象化することで、構文エラーが最小限に抑えられた。
  • 本システムは、多様なユーザーグループにおけるプログラミング生産性とアクセス可能性の向上に潜在的であることが示された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。