アセンブラ短歌 募集要項

SECCON 2013長野大会では、CTFと平行してアセンブラ短歌のお披露目会を開催します→開催終了しました。たくさんのご応募ありがとうございました。

第2弾の応募締め切りは、2014年1月末までとなっています。

■ アセンブラ短歌とは?

「アセンブラ短歌」は五・七・五・七・七の三十一バイト(みそひとバイト)から成る機械語コードでプログラムを書いてみるという近未来の文化的趣味であり、近年、国内の ハッカー間で密かなブームが起きていることが話題となっています。

応募された作品は厳正 なる審査を行い、優秀作品は大会内にて表彰するとともに、SECCON全国大会の併催カンファレンスで作品を披露していただく機会を設けます。奮って応募ください。

フリーテーマ・フリースタイルです。プログラムの目的・内容は問いません。単なる文 字列出力でも、高度な処理を行うようなものでも構いません。五・七・五・七・七の形 式に沿って、自由な作品(プログラム)を書いて応募してください。

■ 応募期限

  2013年9月30日(月) 20:00〆切 (第1弾 SECCON長野大会 品評会向け)

  2014年1月31日(金) 20:00〆切 (第2弾 SECCON全国大会 併催カンファレンス展示向け)

■ 応募条件

  とくにありません。SECCON長野大会・全国大会に不参加でも、応募することができます。

■ 審査方法

以下の基準により、総合的に審査を行います。

  ・味わい深さ

  ・芸術性・美しさ・感動

  ・完成度

  ・発想・創意・工夫・技術力

■ 表彰について

SECCON長野大会の品評会にて審査され、優秀な作品は表彰し紹介させていただきます。 また優秀作品の作者には、以下の特典を提供いたします。

・2014年3月1日~2日に東京で行われる全国大会への招待   (団体応募の場合には、代表者1名)

・全国大会の併催カンファレンスにて行われる招待講演の発表枠

 

■ 作品の取り扱いについて

応募時の作品・作品説明・スクリーンショットは,SECCON長野大会の品評会にて紹介され、さらにインターネットや書籍等にて公開・利用されます。ご承知おきください。

 

■ 作品の条件

応募する作品(プログラム)は、以下の条件を満たしている必要があります。

・アセンブラ短歌の作品であること。   もしくはそれに関連する作品であること。(川柳・連歌なども可)   アセンブラ短歌については、以下を参考にしてください。

  http://kozos.jp/asm-tanka/

・応募者自身の作品であること。

・応募者自身によって、プログラムの動作確認がされていること。

・応募した作品は何らかの環境でアセンブルし、実行して実行結果を確認できること。実行するためのアーキテクチャ、OS環境、プラットホームは自由です。(クロス環境   やシミュレータ等での実行でも構いません)

・誰でも実行確認できること。たとえば特別な機材や高価なソフトウェアが必要なものなどは不可です。ただし一般的な環境や入手性の良い安価な機器等ならば、問題はありません。

<応募方法>

以下を明記の上、実行時のスクリーンショットと併せて asm-tanka@seccon.jp まで 電子メールで送付してください。

---------------- 応募フォーマット ----------------

連絡先メールアドレス: (公開されません)

<以下の内容はインターネットや書籍等により公開・利用されます>

以下の情報が公開・利用されてもかまいませんか?: (はい・いいえ)

作者名: (必須:ハンドル名・団体名でも構いません)

作品名: (必須)

作品:

  (作品のバイト列とニーモニック)

プログラムのテーマ・概要・工夫した点・アピールポイントなど:

  (自由に記述してください)

アセンブル方法・実行手順の説明:

  (実行時のスクリーンショットも送付してください)  

 (第三者が実行検証できるように説明してください)  

 (あまり一般的でない環境が必要な場合には、とくに詳しく説明してください)

---------------- ここまで ----------------

<FAQ>

(短歌の形式に関する質問)

  Q.三十一バイトは、関数化されている必要があるのか?

  A.自由です。三十一バイトがひとつの関数としてまとまっていても構いませんし、そうでない単なる一処理でも構いません。ただし三十一バイトが関数などの単位にまとめられていれば、完成度などの評価が高くなります。作品フォーマットは基本として自由で、完成度が高ければ加点するという加点法で審査を行います。

  Q.三十一バイトをひとつの関数にする場合、main()関数である必要があるのか?

  A.自由です。

  Q.上の句(五・七・五)と下の句(七・七)で、処理の内容が区切られている必要があるか?韻を踏んだりしている必要はあるか?

  A.自由ですが、このような工夫が見られるものは「味わい深い」として加点の対象になるかもしれません。ぜひ応募時に工夫した点としてアピールしてください。

  Q.字余りのある作品も応募可能か?

  A.完全に不可というわけではありませんが、審査は厳しくなります。ただし安易な字余りではなくそれにより「味わい深さが増す」ような前向きのものならば、許容される可能性は高くなります。

  Q.長歌(五・七・五・七...五・七・七)や川柳(五・七・五)も応募可能か?

  A.完全に不可というわけではありませんが、あくまで短歌のコンテストであるため表彰される可能性は低くなります。ただし利用可能な命令数を増やすための安易な長歌などでなく、それにより「味わい深さが増す」ような前向きのものならば、特別賞などの可能性はあります。

(プログラムに関する質問)

  Q.三十一バイトに先駆けて準備処理を行ったり、三十一バイトに続けて付加的な処理を行うことは可能か?

  A.自由ですが、三十一バイトでひとつのまとまりのある処理内容になっている必要があります。また三十一バイトの独立性が(関数化されているなどで)高ければ、加点の対象になります。

  Q.作品の条件に「実行結果を確認できること」とある。結果を標準出力などに出力する必要があるのか?

  A.自由です。標準出力への出力無し(何らかの演算をして、その結果はメモリ上に格納するだけ)でも構いませんし、printf()などのライブラリ関数によって出力しても構いません。三十一バイトを関数として作成し結果出力は関数の呼び出し元で行ったり、三十一バイトに続く直後の処理(つまり、三十一バイトの外)で出力を行っていても構いません。

      ただ当然ながら、三十一バイトの限られた機械語コード内で結果出力まで行っていれば、加点の対象になります。

  Q.標準ライブラリなどの利用は可能か?

  A.自由です。ただし安易にライブラリ関数を利用しないような工夫やこだわりが見られれば、それは加点の対象となります。またライブラリ関数を利用することによる特別なメリットなどが見られれば、やはり加点の対象になります。

  Q.三十一バイトをmain()関数にした場合、戻り値は何を返せばいいのか?

  A.自由です。ただしきちんとゼロ設定して返していれば、それは加点の対象となります。

  Q.1バイトのnop命令によるサイズ調整は可か?

  A.自由です。ただし安易なnopの利用よりも、工夫して命令を調整すれば、完成度が高いと評価される可能性があります。

  Q.スタックポインタは初期化されているとして扱っていいのか?

  A.はい、初期化されているとして扱って構いません。

  Q.レジスタはゼロクリアされているものとして扱っていいのか?

  A.アセンブルしたプログラムが正常に動作するならば、自由です。プログラムのスタートアップでゼロクリアされているならばそれを期待しても構いませんし、三十一バイトを関数として作成して、関数の呼び出し元でレジスタ       の初期化を行ってから呼ぶ、というものでも構いません。もちろん三十一バイト内できちんとゼロクリアすることが、加点の対象になる可能性もあります。

  Q.スタックは正しく扱う必要があるか?たとえばスタックとして獲得されていない領域を使ったり、獲得済みの領域を上書きして利用することは問題ないか?三十一バイトの関数から戻る際に、スタックは正しく解放される必要があるか?

  A.自由です。もちろんスタックを正しく扱っていれば加点の対象になりますが、スタックの扱いが不正でもひとまず実行はできるしそれを補って余りあるアピールポイントがあるというならば、総合的に高評価になる可能性もあります。

      基本的に、きれいなプログラム・正しい動作をするプログラムは加点対象になるが、あえて崩すならばそれによってそれ以上のアピールポイント(たくさんの文字が出力できる、高機能になっている、など)を出せばよいと考えてください。

  Q.プログラムは正常終了する必要があるか?

  A.自由です。極端な話、目的の処理の完了後にセグメンテーション・フォルトでダウン終了してしまう、というものでも構いません。ただし当然ながら、正常終了していれば加点の対象になります。

(環境に関する質問)

  Q.参考ホームページのサンプル環境がLinux/x86向けになっているが、実行環境はLinuxでなければならないか?x86限定か?FreeBSDやNetBSDは利用可能か?

  A.自由です。何らかの環境で実際にアセンブルし実行確認できれば構いません。

(応募に関する質問)

  Q.複数の作品を応募可能か?

  A.はい、可能です。

  Q.サークルなどの団体としての作品の応募は可能か?

  A.はい、可能です。応募時に団体名を記載してください。

  Q.三十一バイトを関数として作成し結果出力は関数の呼び出し元で行う場合に、応募時には呼び出し元の処理も送付する必要があるか?三十一バイトの処理の後に結果出力を付加処理として行う場合、付加処理も送付する必要があるか?

  A.自由ですが、三十一バイト以外の付加部分についても、実行に必要な処理ならば応募時に一緒に送付することを推奨します。

      付加部分は採点対象にはなりませんが、付加部分も添付することで作品が理解しやすくなれば、結果として加点に結び付く可能性があります。

  Q.このFAQに無いような、絶対こんなやりかた誰も思いつかないだろうどんなもんだ的なプログラムや、このやりかたってズルいんじゃないのいいのかな?的なプログラム、これってアリなのかなあ的なプログラムの応募は可能か?

  A.自由です。審査は基本的に加点法で行われますので「これはすごい」という部分があれば加点されますし、作品の条件を多少逸脱していたり不備などがあったとしても、それを補って余りあるようなアピールポイントがあれば総合的に高評価となり、表彰の可能性も十分にあります。

      ぜひチャレンジして審査員を驚かせてください!

重要なお知らせ

協賛企業一覧

エヌ・アール・アイ・セキュアテクノロジーズ株式会社

さくらインターネット株式会社

日本アイ・ビー・エム株式会社

株式会社日立システムズ

(ISC) 2 Japan

KDDI株式会社

ソフトバンク・テクノロジー株式会社

株式会社ディアイティ

株式会社ディー・エヌ・エー
日本電気株式会社
富士通株式会社

Eyes Japan

SCSK株式会社

株式会社Kaspersky Labs Japan

一般社団法人関西情報センター

グリー株式会社

株式会社コア

株式会社神戸デジタル・ラボ

codeIQ
サイボウズ株式会社

株式会社 人総研

デロイト トーマツ リスクサービス株式会社

テンプスタッフ・テクノロジー株式会社

トレンドマイクロ株式会社

一般財団法人日本情報経済社会推進協会(JIPDEC)

ネットエージェント株式会社

株式会社ラック

※2013年11月29日現在
※協賛企業様、引き続き募集中