ubuntu16 + simfixplication + defects4j

準備オーケー

eclipseとjdkの構成については、この記事で詳しく説明しています
。ubuntuinstall eclipse + jdk1.7 + jdk1.8環境構成

Simfix構成

引用:Ubuntu環境でのSimfixコード修復ツールの構成と使用
上記のチュートリアルに従って、プロセスで発生した問題に関する詳細を追加してください

1.環境への設置

1.eclipse + jdk

準備を見る

2.Git構成

ターミナルラン

sudo apt-get update
sudo apt-get install git

エラーが発生しました:にエラーを報告する
変更されました

sudo apt-get -f install git

解決策:
ここに画像の説明を挿入
次に

git --version

結果
ここに画像の説明を挿入

3.SVN構成
sudo apt-get install subversion
#检查版本
svn --version
4.Perl構成

対応するバージョンは公式ウェブサイトhttp://www.cpan.org/src/5.0にあります。例として、perl-5.26.1.tar.gzを取り上げます。
:公式ウェブサイトでのダウンロード速度は非常に速いためです。、非常に遅い、いくつかの国内ソースを見つけた、超高速〜Perl
の中国のミラーウェブサイトhttps://blog.csdn.net/weixin_30852451/article/details/98619978
perl-5.26.1.tar.gz国内ソースリンクftp ://mirrors。ustc.edu.cn/CPAN/src/5.0/

sudo wget ftp://mirrors.ustc.edu.cn/CPAN/src/5.0/perl-5.26.1.tar.gz
sudo tar -xzvf perl-5.26.1.tar.gz 
cd perl-5.26.1 
./Configure -des -Dprefix=$HOME/localperl 
make 
make test 
make install

Perlのインストールは終わりました〜

2.Defects4jをインストールします

1. Defects4Jをダウンロードします。
git clone https://github.com/rjust/defects4j

この段階で壁に囲まれていたのか何かがわかりません。ダウンロードが非常に遅かったので、いくつかの方法を見つけました(クローンの深さの圧縮、バッファの増加など)。最後に、.zipパッケージを直接ダウンロードしました。以前に遭遇しました。この問題が発生しましたが、後で解決され、取得方法を忘れました。

ホームディレクトリで解凍します:/ home / XXX /

2. Defects4Jを初期化します:
 cd defects4j
 init.sh

./init.shの実行中にエラーが報告され、デフォルトのシェルがdashであり、bashに変更されたことが判明しました。
ここに画像の説明を挿入
ただし、実行速度は非常に低速でした。
ここに画像の説明を挿入
sh init.shの時間は常に非常に遅く、カードは特定のポイントに移動せず、リンクが壊れます。つまり、問題のサイトです。このプロファイルがssrであるかどうかに関係なく、最終的な送信は次の端末で実行されます。 GitHub carton install、通常はカートンをインストールした後。
参照リンク:https//github.com/rjust/defects4j/issues/169
ここに画像の説明を挿入
ついに正常に初期化されました!このステップは本当に何日も立ち往生しています

3.Defects4Jの実行可能ファイルをパスに追加します。
sudo gedit /etc/profile
export PATH=$PATH:/home/fzx/defects4j-master/framework/bin
export DEFECTS4J_HOME=/home/lizeyu/defects4j-master
source /etc/profile
4.インストールを確認します

defects4j info -p Lang
ここに画像の説明を挿入
成功〜

5.defects4jを使用します。

1.特定のプロジェクトに関する情報を取得する(commons lang)
defects4j info -p Lang
2。特定のバグに関する情報を取得する(commons lang、バグ1)
defects4j info -p Lang -b 1
3。バグのあるソースコードバージョンを確認する(common lang、バグ1、バグバージョン)
defects4j checkout -p Lang -v 1b -w /tmp/lang_1_buggy
4。変更ディレクトリを操作するには、ソースコードをコンパイルしてテストし、テストを実行します。
cd /tmp/lang_1_buggy
defects4j compile
defects4j test
テスト中に表示された場合:
@INCでDBI.pmが見つかりません(DBIモジュールをインストールする必要がある場合があります)(@ INCに含まれています:)
ターミナル入力コマンド:

sudo apt-get install libdbi-perl

3.Simfixの使用

1.データの準備

eclipse作業ディレクトリに新しいsimfixフォルダーを作成し、プロジェクト全体をコピーして、競合を置き換えます。sbfl/ data.zip sbfl / dataを
解凍します。文件

unzip ./sbfl/data.zip

個人ユーザーディレクトリの下に新しいディレクトリを作成し、次d4j/langを実行します。

defects4j checkout -p Lang -v 1b -w /home/fzx/d4j/lang/lang_1_buggy

(プロファイルを構成した後)defects4jコマンドが見つからない場合は、再起動してみてください〜

2.jdk1.8をjdk1.7に切り替えます

eclipseに必要なjdkの最小バージョンは1.8であるため、最初にeclipseを1.8で構成してから、右击プロジェクトの後にsimfixプロジェクトをインポートします。build-path

おすすめ

転載: blog.csdn.net/qq_38879305/article/details/104294733