著者
飯澤 恒 坂部 俊樹 酒井 正彦 草刈 圭一朗 西田 直樹
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会技術研究報告. SS, ソフトウェアサイエンス (ISSN:09135685)
巻号頁・発行日
vol.105, no.129, pp.25-30, 2005-06-17
被引用文献数
3

プログラミング言語Malbolgeは, 意図的に言語仕様を難解に設計し, その言語上でのプログラムの作成や解読を困難にすることを目的とした, 難読(難解)プログラミング言語である.本研究では, ソフトウェア保護技術であるプログラムの難読化に応用することを目的として, Malbolge上で高度な機能を実現するためのプログラミングの指針を示す.
著者
長坂 哲 酒井 正彦 坂部 俊樹 草刈 圭一朗 西田 直樹
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会技術研究報告. SS, ソフトウェアサイエンス (ISSN:09135685)
巻号頁・発行日
vol.110, no.227, pp.55-60, 2010-10-07
被引用文献数
2

Malbolgeは最も難解なプログラミング言語として知られている.本研究では,飯澤らが提案したプログラミング手法に基づいて,Malbolgeが弱チューリング完全性を持つこと示す.そのために,チューリング完全性を持つ正規形のNプログラムをMalbolgeコードに変換できることを示す.ここで,本稿で示す性質が弱チューリング完全性であるのは,Malbolgeが固定されたメモリ空間およびレジスタ長の仮想機械により意味が定められているためである.
著者
長坂 哲 酒井 正彦 坂部 俊樹 草刈 圭一朗 西田 直樹 NAGASAKA Satoshi SAKAI Masahiko SAKABE Toshiki KUSAKARI Keiichirou NISHIDA Naoki
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会技術研究報告SS, ソフトウェアサイエンス (ISSN:09135685)
巻号頁・発行日
vol.110, no.227, pp.55-60, 2010-10

Malbolgeは最も難解なプログラミング言語として知られている.本研究では,飯澤らが提案したプログラミング手法に基づいて,Malbolgeが弱チューリング完全性を持つこと示す.そのために,チューリング完全性を持つ正規形のNプログラムをMalbolgeコードに変換できることを示す.ここで,本稿で示す性質が弱チューリング完全性であるのは,Malbolgeが固定されたメモリ空間およびレジスタ長の仮想機械により意味が定められているためである. Malbolge is known as one of the most esoteric programming languages. In this paper, we prove that Malbolge is weakly Turing complete. The proof is based on the Malbolge programming method proposed by Iizawa, et al. We give a transformation from the normal form N-programs known to be Turing complete into Malbolge programs. Completeness that this paper shows is weak one due to the fact that the semantics of Malbolge is hard coded into a virtual machine of which memory space and register length are fixed.
著者
安藤 聡 酒井 正彦 坂部 俊樹 草刈 圭一朗 西田 直樹 ANDO Satoshi SAKAI Masahiko SAKABE Toshiki KUSAKARI Keiichirou NISHIDA Naoki
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会技術研究報告. SS, ソフトウェアサイエンス (ISSN:09135685)
巻号頁・発行日
vol.112, no.23, pp.43-48, 2012-05

Malbolgeは最も難解なプログラミング言語として知られている.高級アセンブリ言語の開発によりMalbolgeプログラムの作成が可能になっているものの,プログラム中で使用できる変数の値の最大値が固定されておりゲーデルコーディングが不可能であるため,配列機能がないのは記述力不足であった.本論文ではこの問題を解決するため,高級アセンブラに用いられている実現手法を整理し,これに配列機能のための命令である領域確保命令と間接参照命令を追加する方法を提案する. Malbolge is known to be one of the most esoteric programming languages. Although it is possible to write programs in Malbolge by the development of a high-level assembly language, lack of facility to manage individual data in a group of data like an array in language causes problem because Godel-coding is impossible in a program due to bounded values in variables. In this paper, in order to solve this problem, we show implementation issues used in the assembler in well-organized manner and propose a method for implementing a memory allocation instruction and an indirect reference instruction for array facility into the assembler.
著者
馬野 洋平 酒井 正彦 西田 直樹 坂部 俊樹 草刈 圭一郎 UMANO Yohei SAKAI Masahiko NISHIDA Naoki SAKABE Toshiki KUSAKARI Keiichirou
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会技術研究報告SS, ソフトウェアサイエンス (ISSN:09135685)
巻号頁・発行日
vol.107, no.392, pp.73-78, 2007-12 (Released:2015-01-20)

近年,論理式の充足可能性判定ツール(SATソルバ)の高速化が進み,これを利用した数独パズルの解法が提案されている.本稿では,この解法を応用して試作した,対話的に数独パズルの問題を作成するツールについて報告する.このツールでは,「セルに埋めても矛盾を生じない数字の表示」・「削除しても問題が一意性を保つセルの表示」・「問題を手筋のみで解ける範囲の図示」の三つの主要機能を実装している.前者二つの機能は,SATソルバを利用した解法を応用して問題め矛盾・解の一意性を高速に検出することにより実現している. In recent years, several efficient SAT solvers, which decide satisfiability of boolean formulae, have been developed and used in solving Sudoku puzzles. In this paper, we present the interactive tool for designing Sudoku puzzles that we constructed experimentally by using a SAT solver. This tool contains three main functions: 'displaying numbers that can be filled in a cell without a contradiction', 'displaying cells without contributing the uniqueness', 'displaying a partial solution obtained by fundamental techniques.' The implementation of the former two functions relies on efficient checks of a contradiction or uniqueness of the given problem by using a SAT solver.
著者
河口 信夫 坂部 俊樹 稲垣 康善
出版者
一般社団法人 電気学会
雑誌
電気学会論文誌C(電子・情報・システム部門誌) (ISSN:03854221)
巻号頁・発行日
vol.116, no.1, pp.103-110, 1995-12-20 (Released:2008-12-19)
参考文献数
23

Term Rewriting System (TRS) is one of the simplest computation models for functional programming languages. It can also be used to model term manipulation required in program verification and transformation. In such applications, an environment for term rewriting with user friendly graphical interface is strongly required for analyzing structure of terms and rewriting processes. Most TRS interpreters developed so far are text, based ones, and hence they do not provide sufficient supports for analyzing structure of terms. We have proposed a new idea for a term visualization based on Graphical User Interfaces (GUI) [11] [12]. This paper shows how to realize the idea with the functional programming language Standard ML (SML). We illustrate the implementation can be easily modified and extended since the rewriting part and GUI part of the program are clearly separated owing to the module system of SML.
著者
酒井 正彦 坂部 俊樹
出版者
名古屋大学
雑誌
挑戦的萌芽研究
巻号頁・発行日
2010

本研究の目的は、プログラムの解読・改ざんが大変困難なプログラム言語であるMalbolgeを、ソフトウェア保護の目的に利用できるようにすることである。最も大きな問題点である、該当の言語でのプログラム作成の困難性を克服するため、Malbolgeのチューリング完全性を示し、Malbolgeプログラム作成手法の大枠を確立した。
著者
阿草 清滋 坂部 俊樹 小谷 善行 大岩 元
出版者
名古屋大学
雑誌
重点領域研究
巻号頁・発行日
1991

より高度なシステムの仕様化を支援するために,継承により階層化された代数的仕様の直接実現による検証,代数的仕様の類似性の定義とそれに基づく仕様ベ-スについて研究を進めた.また,プログラム理解のモデルを定義することによりソフトウェアの開発・保守に有効なソフトウェアデ-タベ-スを開発した.その他,文書執筆協調作業の作業割当問題を定義し,その近似解を高速に求めるアルゴリズムを提案した.ユ-ザ主導の対話システムとして,自由知識獲得システム第2版の作成と評価を行った.これは対話を通しテフレ-ム構造の知識を集積していく創造性開発指向の教育ツ-ルである.また,ソフトウェア(要求)仕様獲得するシステムの概念設計を行った.これはこの自由知識獲得システムにソフトウェアや仕様の枠組みを与えたもので構成され,仕様を獲得するとともに,利用者に仕様を自動的に意識化・具体化させるものである.前年度に作成した仕様形成のためのカ-ド操作ツ-ルKJエディタのワ-クステ-ション版を完成させた.また,いくつかの機能拡張を加えたパソコン版を実際のソフトウェアの仕様作成に適用した.要求分析の途中経過を示すカ-ド配置は,思考過程の記録としてその内容を把握し易く,エディタが仕様作成のツ-ルとして有効であることが知れた.要求仕様の直接実行による検証の理論的モデルとして,動的項書換え計算(Dynamic Term Rewriting Calculus,DTRC)について研究をすすめ,停止性と合流性に関するいくつかの結果を得た.また,値表現の体系として項書換え系を含むCCSを提案し,テスト正確度という新しい概念に基づく意味論について検討した.さらに,ブロ-ドキャスト通信機構を持つ並行プロセスの体系としてCCS+bを提案し,並行演算,選択演算の結合則と可換則,ならびに,展開則が成立することを示した.