ログイン 新規登録
言語:

WEKO3

  • トップ
  • ランキング
To
lat lon distance
To

Field does not validate



インデックスリンク

インデックスツリー

メールアドレスを入力してください。

WEKO

One fine body…

WEKO

One fine body…

アイテム

  1. 論文誌(トランザクション)
  2. プログラミング(PRO)
  3. Vol.9
  4. No.4

規則違反コードの構造を反映した木パタンを用いるコード検査器

https://ipsj.ixsq.nii.ac.jp/records/174599
https://ipsj.ixsq.nii.ac.jp/records/174599
86813c84-632c-4877-898d-318adaae83f6
名前 / ファイル ライセンス アクション
IPSJ-TPRO0904005.pdf IPSJ-TPRO0904005.pdf (614.2 kB)
Copyright (c) 2016 by the Information Processing Society of Japan
オープンアクセス
Item type Trans(1)
公開日 2016-09-12
タイトル
タイトル 規則違反コードの構造を反映した木パタンを用いるコード検査器
タイトル
言語 en
タイトル A Code Checker That Uses Tree Patterns Reflecting the Structures of Rule Violation Code
言語
言語 jpn
キーワード
主題Scheme Other
主題 [通常論文] デバッグ,バグパタン,セキュリティ,JNI,S式,木パタン,パタンマッチ
資源タイプ
資源タイプ識別子 http://purl.org/coar/resource_type/c_6501
資源タイプ journal article
著者所属
有限会社がんばりや
著者所属
高知工科大学
著者所属
京都大学大学院情報学研究科
著者所属(英)
en
GANBARIYA CO., LTD.
著者所属(英)
en
Kochi University of Technology
著者所属(英)
en
Graduate School of Informatics, Kyoto University
著者名 中村, 真也

× 中村, 真也

中村, 真也

Search repository
鵜川, 始陽

× 鵜川, 始陽

鵜川, 始陽

Search repository
馬谷, 誠二

× 馬谷, 誠二

馬谷, 誠二

Search repository
著者名(英) Shinya, Nakamura

× Shinya, Nakamura

en Shinya, Nakamura

Search repository
Tomoharu, Ugawa

× Tomoharu, Ugawa

en Tomoharu, Ugawa

Search repository
Seiji, Umatani

× Seiji, Umatani

en Seiji, Umatani

Search repository
論文抄録
内容記述タイプ Other
内容記述 プログラマはコーディング規約や規則に従わねばならない.ライブラリには,API呼び出しの手順などに特有の規則を定めているものがあり,規則に従わないプログラムは正しく動作しない.また,ソフトウェアの脆弱性の原因となる危険なコードパタンや,それを避けるためのコーディング規約がよく知られている.このような規則や規約に違反したコードを発見するために,多くの検出ツールが開発されている.しかし,規則や規約ごとに特化した検出ツールを作成するのは労力がかかる.検出モジュールだけ分離して開発できる機構を提供しているツールも存在するが,その多くは(1)検査対象コードの内部表現が専用のデータ構造で表現されており,可視化ツールを使わなければ構造を確認できない,(2)内部表現にはAPI経由でアクセスしなければならない,(3)検出モジュールは手続的なプログラムとして記述する必要があるという特徴があり,その開発は容易ではない.そこで,我々は,違反しているコードの構造を木パタンで表現し,ソースコード中からパタンにマッチする箇所を探すことで違反を検出するツールを提案する.このツールは,Clangコンパイラをもとに作った抽象構文木(AST)を生成する部分と,Clojureで記述された木パタンマッチ部で構成されている.規則違反パタンの作成者は,規則違反を含むソースコードのASTを見ながら規則違反パタンを記述できる.さらに,検査対象のASTと規則違反のパタンのどちらも同じ形式のS式で表現されており,ASTから一部を切り出して修正することで規則違反パタンを容易に作成することもできる.さらに,提案ツールの有用性を確認するため,実際にセキュアコーディング違反とJNIコーディング規約違反のうちいくつかのパタンの記述を行った.
論文抄録(英)
内容記述タイプ Other
内容記述 Programmers must obey some coding rules or coding standards. For example, some libraries require the programmers to obey their own rules, such as the order of API calls. If a program violates one of these rules, it does not work correctly. As another example, many coding patterns leading to vulnerability and coding rules to avoid such coding patterns are widely known. Various tools that detect violations of these rules and standards are developed. However, it is costly to develop such checking tools for each individual violation. Although some tools allow users to develop violation detection mechanisms as separate modules, the development of detection modules is not straightforward because (1) these tools have the target source code in their own internal representations, and so we need some visualizers to look at the structure of the source code, (2) we also need to access the structure through their own API, (3) detection modules are expected to be written in an operational style. We propose a rule violation detection tool for C and C++, in which the structure of the code fragments violating a rule is represented as a tree pattern. Our tool searches for locations of source code that matches with the specified patterns. This tool comprises two parts; the abstract syntax tree (AST) generator built on the Clang compiler, and the tree pattern matcher written in Clojure. Pattern writers can look at the AST of a source code containing the rule violation while writing the pattern. Moreover, since both the AST and the pattern are represented as S-expressions, the pattern writers can compose a pattern by modifying a fragment extracted from the AST. To verify the usability of our tool, we wrote several patterns selected from secure coding standards and JNI coding rules.
書誌レコードID
収録物識別子タイプ NCID
収録物識別子 AA11464814
書誌情報 情報処理学会論文誌プログラミング(PRO)

巻 9, 号 4, p. 1-15, 発行日 2016-09-12
ISSN
収録物識別子タイプ ISSN
収録物識別子 1882-7802
出版者
言語 ja
出版者 情報処理学会
戻る
0
views
See details
Views

Versions

Ver.1 2025-01-20 06:37:55.365659
Show All versions

Share

Mendeley Twitter Facebook Print Addthis

Cite as

エクスポート

OAI-PMH
  • OAI-PMH JPCOAR
  • OAI-PMH DublinCore
  • OAI-PMH DDI
Other Formats
  • JSON
  • BIBTEX

Confirm


Powered by WEKO3


Powered by WEKO3