講演名 2017-07-20
再帰呼び出しを持つC言語サブセットからMalbolgeへのコンパイラ
坂梨 元軌(名大), 河邉 翔平(名大), 酒井 正彦(名大), 西田 直樹(名大), 橋本 健二(名大),
PDFダウンロードページ PDFダウンロードページへ
抄録(和) 難読プログラミング言語Malbolgeは,その解析困難性により知的財産権の保護などに役立つと考えられているが,命令が特殊であるためプログラムの作成は非常に困難である.そのため,Malbolgeプログラムを生成するための中間言語として制御付き疑似命令列が提案されているが,Cなどの通常の言語と比較すると依然としてプログラミングが困難である.本稿では,整数型と真偽型を扱え,while文などの基本的な制御構造と再帰関数を定義できるC言語のサブセットのプログラムからMalbolgeコードへのコンパイラの実現法を述べる.コンパイラの実現のために,まず,既存の制御付き疑似命令列に配列構文と関数構文を追加し,それにあわせて既存の制御付き疑似命令列からMalbolgeへの変換系を拡張する.さらにC言語のサブセットから制御付き疑似命令列へ変換する方法を提案する.
抄録(英) Malbolge is an esoteric programming language, which is promising to protect intellectual property rights due to its difficulty of analysis. It is, however, very difficult to program because of its peculiar instructions. Tackling this problem, pseudo-instruction sequences was developed as an intermediate language for generating Malbolge programs. Nevertheless it is still difficult to program compared with ordinary languages like C. In this article, we present how to implement a compiler that translates to Malbolge from a C-language subset containing the integer type, the Boolean type, basic control structures such as while statement, and recursive calls. In the implementation, we firstly added array syntax and function syntax to pseudo-instruction sequences, and strengthen existing tools for the extention to conform with it. We next propose a translation method from C-language subset to pseudo-instruction sequences.
キーワード(和) 難読化 / 難解プログラミング言語 / Malbolge
キーワード(英) obfuscation / esoteric programming language / Malbolge
資料番号 SS2017-18,KBSE2017-18
発行日 2017-07-12 (SS, KBSE)

研究会情報
研究会 SS / KBSE / IPSJ-SE
開催期間 2017/7/19(から3日開催)
開催地(和) 函館コミュニティプラザ
開催地(英)
テーマ(和) ソフトウェア工学全般/知能ソフトウェア工学全般/ソフトウェアサイエンス全般
テーマ(英)
委員長氏名(和) 緒方 和博(北陸先端大) / 金田 重郎(同志社大)
委員長氏名(英) Kazuhiro Ogata(JAIST) / Shigeo Kaneda(Doshisha Univ.)
副委員長氏名(和) 中田 明夫(広島市大) / 粂野 文洋(日本工大)
副委員長氏名(英) Akio Nakata(Hiroshima City Univ.) / Fumihiro Kumeno(Nippon Inst. of Tech.)
幹事氏名(和) 小林 隆志(東工大) / 肥後 芳樹(阪大) / 岩田 一(神奈川工科大) / 櫻井 孝平(金沢大)
幹事氏名(英) Takashi Kobayashi(Tokyo Inst. of Tech.) / Yoshiki Higo(Osaka Univ.) / Hajime Iwata(Kanagawa Inst. of Tech.) / Kohei Sakurai(Kanazawa Univ.)
幹事補佐氏名(和) 島 和之(広島市大) / 猿渡 卓也(NTTデータ) / 木村 功作(富士通研)
幹事補佐氏名(英) Kazuyuki Shima(Hiroshima City Univ.) / Takuya Saruwatari(NTT DATA) / Kosaku Kimura(Fujitsu labs.)

講演論文情報詳細
申込み研究会 Technical Committee on Software Science / Technical Committee on Knowledge-Based Software Engineering / Special Interest Group on Software Engineering
本文の言語 JPN
タイトル(和) 再帰呼び出しを持つC言語サブセットからMalbolgeへのコンパイラ
サブタイトル(和)
タイトル(英) A compiler that translates to Malbolge from a C-language subset containing recursive calls
サブタイトル(和)
キーワード(1)(和/英) 難読化 / obfuscation
キーワード(2)(和/英) 難解プログラミング言語 / esoteric programming language
キーワード(3)(和/英) Malbolge / Malbolge
第 1 著者 氏名(和/英) 坂梨 元軌 / Genki Sakanashi
第 1 著者 所属(和/英) 名古屋大学(略称:名大)
Nagoya University(略称:Nagoya Univ.)
第 2 著者 氏名(和/英) 河邉 翔平 / Shohei Kobe
第 2 著者 所属(和/英) 名古屋大学(略称:名大)
Nagoya University(略称:Nagoya Univ.)
第 3 著者 氏名(和/英) 酒井 正彦 / Masahiko Sakai
第 3 著者 所属(和/英) 名古屋大学(略称:名大)
Nagoya University(略称:Nagoya Univ.)
第 4 著者 氏名(和/英) 西田 直樹 / Naoki Nishida
第 4 著者 所属(和/英) 名古屋大学(略称:名大)
Nagoya University(略称:Nagoya Univ.)
第 5 著者 氏名(和/英) 橋本 健二 / Kenji Hashimoto
第 5 著者 所属(和/英) 名古屋大学(略称:名大)
Nagoya University(略称:Nagoya Univ.)
発表年月日 2017-07-20
資料番号 SS2017-18,KBSE2017-18
巻番号(vol) vol.117
号番号(no) SS-136,KBSE-137
ページ範囲 pp.145-150(SS), pp.145-150(KBSE),
ページ数 6
発行日 2017-07-12 (SS, KBSE)