Listo para trabajar
La configuración de eclipse y jdk se detalla en este artículo:
ubuntu install eclipse + jdk1.7 + jdk1.8 entorno de configuración
Configuración de Simfix
Cita: Configuración y uso de la herramienta de reparación de código Simfix en el entorno de Ubuntu.
Siga el tutorial anterior y agregue algunos detalles sobre los problemas encontrados en el proceso
1. Instalación ambiental
1.eclipse + jdk
Ver preparación
2. Configuración de Git
Ejecución de terminal
sudo apt-get update
sudo apt-get install git
Ocurrió un error:
modificado a
sudo apt-get -f install git
Solución:
Entonces
git --version
resultado
3. Configuración SVN
sudo apt-get install subversion
#检查版本
svn --version
4. Configuración de Perl
Puede encontrar la versión correspondiente en el sitio web oficial http://www.cpan.org/src/5.0 , tome perl-5.26.1.tar.gz como ejemplo.
Nota : Debido a que la velocidad de descarga en el sitio web oficial es muy , muy lento, encontré algunos Una fuente nacional, súper rápido ~
Sitio web espejo chino de Perl https://blog.csdn.net/weixin_30852451/article/details/98619978
perl-5.26.1.tar.gz Enlace de fuente nacional : ftp : // espejos. 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
La instalación de Perl ha terminado ~
2. Instalar Defects4j
1. Descarga Defects4J:
git clone https://github.com/rjust/defects4j
No sé si estaba amurallado o algo en este paso. La descarga fue muy lenta. Encontré varios métodos (incluida la compresión de la profundidad de clonación, el aumento del búfer, etc.). Finalmente, descargué el paquete .zip directamente y Lo encontré antes Tuve este problema, pero se resolvió más tarde y olvidé cómo solucionarlo. .
Descomprímalo en el directorio de inicio: / home / XXX /
2. Inicialice Defects4J:
cd defects4j
init.sh
Se informó un error al ejecutar ./init.sh, y se encontró que el shell predeterminado era dash, cambiado a bash:
pero la velocidad de ejecución era extremadamente lenta. .
sh init.sh time es siempre muy lento, la tarjeta no se moverá a un cierto punto y luego se romperá el enlace, ese es el sitio del problema, el ssr este perfil o no, el envío final se encuentra que se ejecuta en el terminal en GitHub carton install
, normalmente después de instalar la caja.
Enlace de referencia: https://github.com/rjust/defects4j/issues/169 ¡
finalmente se inicializó correctamente! ! Este paso está realmente estancado durante muchos días.
3. Agregue el archivo ejecutable de Defects4J a la ruta:
sudo gedit /etc/profile
export PATH=$PATH:/home/fzx/defects4j-master/framework/bin
export DEFECTS4J_HOME=/home/lizeyu/defects4j-master
source /etc/profile
4. Verifique la instalación
defects4j info -p Lang
Éxito ~
5. Utilice defect4j:
1. Obtener información sobre un proyecto específico (commons lang)
defects4j info -p Lang
2. Obtener información sobre un error específico (commons lang, bug 1)
defects4j info -p Lang -b 1
3. Ver la versión del código fuente con errores (common lang, bug 1, bug version)
defects4j checkout -p Lang -v 1b -w /tmp/lang_1_buggy
4. Cambiar para trabajar en el directorio, compile el código fuente y pruebe y ejecute la prueba.
cd /tmp/lang_1_buggy
defects4j compile
defects4j test
Si aparece durante la prueba:
No se puede ubicar DBI.pm en @INC (es posible que deba instalar el módulo DBI) (@INC contiene :)
terminal comando de entrada:
sudo apt-get install libdbi-perl
Tres. Uso de Simfix
1. Preparación de datos
Cree una nueva carpeta de simfix en el directorio de trabajo de eclipse, copie todo el proyecto y reemplace los conflictos.
Descomprima 文件
sbfl / data.zip 到
sbfl / data:
unzip ./sbfl/data.zip
Cree un nuevo directorio en el directorio de usuario personal d4j/lang
y ejecute:
defects4j checkout -p Lang -v 1b -w /home/fzx/d4j/lang/lang_1_buggy
Si no puede encontrar el comando defect4j (después de haber configurado el perfil), intente reiniciar ~
2. Cambie jdk1.8 a jdk1.7
Debido a que la versión mínima de jdk requerida por eclipse es 1.8, primero configure eclipse con 1.8 y luego importe el proyecto 右击
simfix después del proyectobuild-path