ubuntu20.04下Defects4J详细安装步骤

1. 前言

Defects4J(https://github.com/rjust/defects4j)作为软件漏洞领域一个非常重要的数据集,绝大多数的漏洞修复相关研究都涉及到了这一数据集,当想要复现这些论文的时候,Defects4J的安装就变得非常重要。而能够查到的关于Defects4J安装与配置的资料比较少,而且很多并不够全面。因此,这里把之前配置Defects4J v2.0.0的步骤以及其中遇到的问题整理和整理一下,供大家参考,希望能够帮到大家。
时间:2023.8.17

2. 事先准备

1.ubuntu版本

本文的所有步骤均是在Ubuntu 20.04.6 LTS下进行的。

并且,不建议在windows下进行安装,一方面,安装过程会变得非常繁琐,另一方面,之前遇到过可以执行defects4j info以及defects4j checkout,但无法进行测试的情况,这一问题应该是由于defects4j内部的问题。当然,也有用户在windows下正常安装,但我还是比较简易尽量在ubuntu下安装。

2. 环境配置

defects4J安装需要有以下依赖:

  • Java 1.8
  • Git >= 1.9
  • SVN >= 1.8
  • Perl >= 5.0.12

Java

首先,检查是否已经安装Java,若没有,安装java 1.8。

# 检查
java -version

# 安装
sudo apt install openjdk-8-jdk

Git

与Java过程类似,git ≥ 1.9

# 检查
git --version

# 安装
sudo apt install git

svn

svn ≥ 1.8

# 检查
svn -version

# 安装
sudo apt install subversion

svn

perl 在我使用的ubuntu系统中是自带的,不需要安装,但需要检查版本是否满足 Perl ≥ 5.0.12

# 检查
perl -v

# 安装
sudo apt install subversion

3. 额外需求

除了github中列出的依赖外,还需要其他的依赖,如make和gcc。虽然一般的系统中都会用到,但简易的虚拟机中并没有包含。

make

# 检查
make -v

# 安装
sudo apt install make

gcc

# 检查
gcc -v

# 安装
sudo apt install gcc

curl

# 检查
curl --version

# 安装
sudo apt install curl 
# 或
sudo cnap install curl 

4. Defects4J安装

  1. 下载项目代码,地址为https://github.com/rjust/defects4j/releases/tag/v2.0.0。
  2. 创建defects4j文件夹。
    mkdir /home/validation/defects4j
    
  3. 将压缩包移动到刚才创建的文件夹,并解压到根目录下。
  4. 进入该文件夹,安装perl依赖。
    cd defects4j
    
    sudo apt install cpanmius
    sudo cpanm --install .
    
  5. 自动安装(要求网络状况比较好)
./init.sh
  1. 手动安装 上一步出现问题的话,可以采用手动安装的方式
    1. 进入project_repos,执行./get_repos.sh
    cd project_repos
    ./get_repos.sh
    
    1. 手动下载所需的安装包,在./init.sh中
    2. 将所有安装包放到对应的位置,并手动解压以及创建软连接。
  2. 添加环境变量
    export PATH=$PATH:"path2defects4j"/framework/bin
    
    或
    sudo vim /etc/profile
    # 将下面这句话添加到文件末尾
    export PATH=$PATH:"path2defects4j"/framework/bin
    # 使环境变量生效
    source /etc/profile
    
  3. 验证
    defects4j info -p Lang
    

如果出现问题,先不要着急,仔细查看报错信息,可能会有说明缺少的依赖,以及问题的说明。

参考:

  1. defects4j
  2. Ubuntu环境下Simfix代码工具的配置与使用
  3. linux配置环境变量
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值