netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2003-08-04 古い日記からの変換データ ▲
_ DRT ▲
Design Recovery/reverse engineering Tool 0.3.5 をcygwin で make しようとしたが失敗.普通の Linux とかの上で build したほうが安全なのかも.
それにしても,X Window でしか動かないと言うところをみると,やはり X でのイベントをフックしまくりなのかなぁ.
_ Java ▲
Java World 9月号を読んでたら,Torque というものが紹介されていた.Object と Relational DB の世界をマッピングして,テーブルに相当するクラスに doSelect(Criteria) とか叫んだりできるらしい.マッピング自体は XML で記述.
DBごとの SQL の方言などを消せる点が有利らしい.
2004-08-04 古い日記からの変換データ ▲
_ [論文]統計的デバッグ ▲
Alice X. Zheng, Michael I. Jordan, Ben Liblit, Alex Aiken:Statistical Debugging of Sampled Programs.Proceedings of the 17th Annual Conference on Neural Information Processing Systems (NIPS 2003).
プログラムのあちこちに検査用の処理として関数戻り値のチェック(0,0より大・小)や代入時の値チェック(そのスコープのほかの変数との大小比較)を埋め込んでおいて,それをランダムな間隔で検査していく.で,各検査処理の実行回数を結果として出力し,その結果とプログラムの成否とを統計的に調べる手法.
ケーススタディでは7000回くらいの入力を与えて1000回くらいクラッシュした,といった感じ.統計的に,クラッシュ原因として上位に来たのがわりと役立つ結果ですよという話のようなのだが,実行するテストケースをたくさん準備するのと,実行するコストは,プログラムによっては大きいかもしれない.また,プログラムによって「変数の代入文が多いので変数同士の比較を行った」といった微妙なカスタマイズをしているので,怪しい感じはする.
2011-08-04 ▲
_ [ツール] CCFinderX on Windows 64ビット版 ▲
CCFinderX の実行に必要なのは次のソフトウェアです.
- JDK 6 32ビット版
- Python 2.6 32ビット版
前の記事にも書いてますが,Python は2.6でなければなりません(2.7以降だとクラッシュします).また,使っているDLLのバージョンが32ビットなので,64ビットバイナリではDLLが読み込めず,起動できません.64ビット版のWindowsを使っている場合でも,必ず32ビット版のJDK,Pythonを使ってください.
これらがインストールできたら,CCFinderX の GUI フロントエンドを起動するgemx.bat
を修正します.
set CCFINDERX_PYTHON_INTERPRETER_PATH=C:\Python26\python.exe
というコメントアウトされてる行を復活させる(Python 2.6を別パスにインストールした場合はそれに合わせて修正).java -classpath %THE_JARS% GemXMain ...
という行があるので,javaコマンドを,"C:\Program Files (x86)\Java\...\bin\java.exe"
というように,32ビット版のJavaバイナリを直接指すように修正する.
以上の修正が終わったら,gemx.bat
でGemXを起動することができます.
_ [ツール] CCFinderX の細かい動作 ▲
CCFinderX には,それなりに癖があります.いちおう需要があるかもしれないので書いておくと,たとえば以下のようなものがあります.
- クローン検出を実行したディレクトリには,
.ccfxprepdir
という作業データ格納用ディレクトリが作られます.Eclipse JDT のソースディレクトリにデータが作られた場合,Build Path 上のファイルとして認識されてしまい,その複製データが無駄に bin ディレクトリにも作られる,という事態が起こる場合があります. - ファイル名に2バイト文字が入っていると,クラッシュすることがあります.
- クローンがある2つのファイルのエンコーディングが違う場合に(再現条件は厳密には確認していません),クローンの表示位置がずれる場合があるようです.