文章目录

  • 前言
  • 1.1 创建Ubuntu虚拟机
    • 1.1.1下载VMWare
    • 1.1.2 下载Ubuntu系统镜像
    • 1.1.3 新建虚拟机
    • 1.1.4 更换apt源
    • 1.1.5 【可选】使用xshell连接
    • 1.1.6 安装JDK8
  • 1.2 配置Defects4J缺陷数据集
    • 1.2.1 安装基础工具
    • 1.2.2 下载Defects4J
    • 1.2.3 自动配置Defects4J
    • 1.2.4 【可选】手动配置Defects4J
    • 1.2.5 Defect4J实例展示
  • 小结
  • 参考文献

前言

创作开始时间:2021年3月25日08:47:45

如题。一气呵成冲冲冲。

1.1 创建Ubuntu虚拟机

1.1.1下载VMWare

首先下载VMWare安装包(版本:VMware® Workstation 16 Pro 16.1.0 build-17198959),官方下载地址为:
https://my.vmware.com/cn/web/vmware/downloads/info/slug/desktop_end_user_computing/vmware_workstation_pro/16_0

1.1.2 下载Ubuntu系统镜像

随后下载Ubuntu 18.04安装镜像,下载网址为:

  • Ubuntu官方网站http://releases.ubuntu.com/18.04/ubuntu-18.04.5-desktop-amd64.iso
  • 阿里云镜像网站 http://mirrors.aliyun.com/ubuntu-releases/18.04/ubuntu-18.04.5-desktop-amd64.iso

1.1.3 新建虚拟机

在VMWare界面开始新建即可,基本上是默认安装,下列图中提供部分描述:

图:新建虚拟机(1)


图:新建虚拟机(2):选定镜像

图:新建虚拟机(3):设定用户名(密码:123456)

图:新建虚拟机(4):自动安装VM-tools

1.1.4 更换apt源

此时,我们已经得到一台名为apr-demo的虚拟机。启动这台虚拟机,在安装新软件之前,我们需要先更换一下apt源,以免下载太慢。
此处换源可参考:

  • Ubuntu18.04更换国内源 https://developer.aliyun.com/article/639051

换源之后运行一下sudo apt-get update即可(此处不需要运行sudo apt-get upgrade)。

1.1.5 【可选】使用xshell连接

通过xshell以ssh的方式连接本地虚拟机。这是为了在终端输入命令的时候更加方便,免去了在Windows本机和Ubuntu虚拟机之间的切换。

此处参考:

  • xshell如何登录本地虚拟机 https://www.xshellcn.com/xsh_column/bendi-xuniji.html
    即可。

备注: 如果无法连接,则需要在虚拟机中输入:

sudo apt-get install openssh-server  #下载
sudo service ssh --full-restart            #重新启动ssh服务
ssh localhost              #仍旧在Ubuntu上运行这个指令,此时发现已经可以连接

此处参考:

  • Windows上通过ssh和VNC Viewer分别连接本地Ubuntu(WSL)的终端和图形界面 https://blog.csdn.net/weixin_39278265/article/details/103391805

然后再重新用xshell试试。此时发现已经可以顺利连接了。(如下图)

图:xshell成功连接Ubuntu虚拟机

1.1.6 安装JDK8

在虚拟机终端运行:

sudo apt update
sudo apt install openjdk-8-jdk openjdk-8-jre
java -version

随后往/etc/environment文件中添加:

JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
JRE_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre

此处参考:How to Install JAVA 8 on Ubuntu 18.04/16.04, Linux Mint 19/18 https://tecadmin.net/install-oracle-java-8-ubuntu-via-ppa/

1.2 配置Defects4J缺陷数据集

1.2.1 安装基础工具

安装git等基础工具:

sudo apt install git -y
sudo apt install subversion -y
sudo apt install curl -y (defects4j下载文件需要)
sudo apt install htop -y
sudo apt install make -y (cpan需要)
sudo apt install gcc -y (cpan需要,否则DBI模块无法下载)

1.2.2 下载Defects4J

Defects4J的仓库地址在:https://github.com/rjust/defects4j
有两种方式下载该repo:

  1. 直接运行git clone https://github.com/rjust/defects4j.git
  2. 如果觉得github克隆网速太慢,可以先克隆到自己的gitee账户,然后再从gitee中克隆到虚拟机(如git clone https://gitee.com/xxx/defects4j.git)

1.2.3 自动配置Defects4J

cd ~/env/defects4j
sudo apt install cpanminus
sudo cpanm --installdeps . (一定要sudo的,不然无法写入,等于没装)
./init.sh

而后修改/etc/profile/文件,加入如下内容:

export PATH=$PATH:/home/apr-demo/env/defects4j/framework/bin

然而,由于./init.sh运行时会从对应网站下载一系列压缩文件,这个过程中网速通常比较慢。如下图(预计三小时才能下载好一个压缩包):

图:./init.sh运行时的网速

因此,下面给出手动配置方案。

1.2.4 【可选】手动配置Defects4J

手动下载如下压缩包:
4. https://defects4j.org/downloads/defects4j-repos.zip
5. https://mutation-testing.org/downloads/major-1.3.4_jre7.zip
6. https://github.com/EvoSuite/evosuite/releases/download/v1.1.0/evosuite-1.1.0.jar
7. https://github.com/EvoSuite/evosuite/releases/download/v1.1.0/evosuite-standalone-runtime-1.1.0.jar
8. https://github.com/randoop/randoop/releases/download/v4.2.5/randoop-4.2.5.zip
9. https://defects4j.org/downloads/defects4j-gradle-dists.zip
10. https://defects4j.org/downloads/defects4j-gradle-deps.zip
11. https://github.com/jose/build-analyzer/releases/download/v0.0.1/build-analyzer-0.0.1.jar

然后在Defects4J目录下新建一个文件夹“manual_download”,把刚刚下载的文件都拷贝进去,随后在此文件夹下写一个cp.sh脚本:

BASE=/home/apr-demo/env/defects4j/
DIR_REPOS="$BASE/project_repos"
DIR_LIB_GEN="$BASE/framework/lib/test_generation/generation"
DIR_LIB_RT="$BASE/framework/lib/test_generation/runtime"
DIR_LIB_GRADLE="$BASE/framework/lib/build_systems/gradle"cp defects4j-repos.zip $DIR_REPOScp major-1.3.4_jre7.zip $BASEcp evosuite-1.1.0.jar $DIR_LIB_GEN
cp evosuite-standalone-runtime-1.1.0.jar $DIR_LIB_RTcp randoop-4.2.5.zip $DIR_LIB_GENcp defects4j-gradle-deps.zip $DIR_LIB_GRADLE
cp defects4j-gradle-dists.zip $DIR_LIB_GRADLEcp build-analyzer-0.0.1.jar $BASE/framework/lib

运行一下这个脚本,然后再回到defects4j的主目录,注意:要相应改动init.sh文件中的内容,即禁止download_url函数。具体此处不赘述(因为init.sh行数较多),可参考我已配置好的虚拟机。

而后运行./init.sh即可。

图:右侧终端表明Defects4J配置成功
另外,gradle要额外配置一下,在defects4j目录下新建init_gradle.sh(内容较长,此处不贴),然后运行,才算配置好了gradle。
最后,需要修改/etc/profile,添加:

# defects4j
export PATH=$PATH:/home/apr-demo/env/defects4j/framework/bin#Time Zone for d4j
TZ="America/Los_Angeles"
export TZ

1.2.5 Defect4J实例展示

在终端运行:

defects4j checkout -p Lang -v 1b -w /tmp/lang_1_buggy
cd /tmp/lang_1_buggy
defects4j compile
defects4j test

此外,还可以参考虚拟机中文件:/home/apr-demo/apr_tools/d4j/single_download.sh

小结

以上。

创作结束时间:2021年3月25日08:54:10

参考文献

见正文。

【Defects4J一气呵成】在VMWare上新建Ubuntu 18.04 虚拟机,并安装JDK 8,复现Defects4J最新版本(818个bug,version 2.0.0)相关推荐

  1. Win 10 + VMware Workstation Pro15 + Ubuntu 18.04 虚拟机安装教程

    一 .官网下载VMware  Workstation Pro 15安装包和ubuntu iso映像文件  1 VMware  Workstation Pro 15安装 (1)网址:https://ww ...

  2. Ubuntu 18.04.1 下安装搜狗输入法

    Ubuntu 18.04.1 下安装搜狗输入法 1.下载linux版本的搜狗拼音输入法 2.解包(若没有安装fcitx会出错,Ubantu命令行会有提示,按提示安装好fcitx后再输入下面命令即可): ...

  3. VMware安装Ubuntu 18.04虚拟机(镜像下载、硬盘分区、创建虚拟机、安装系统、桥接模式网络配置)

    1. VMware安装 安装VMware,Player免费,而且功能足够个人开发使用.(Pro的主要区别在于可以同时运行多个虚拟机,而Player只能同时运行一个) VMware Workstatio ...

  4. 为VMware vSphere创建Ubuntu 18.04 Terraform模板

    为VMware vSphere创建Ubuntu 18.04 Terraform模板 Terraform是HashiCorp创建的自动化工具.它专注于以自动方式部署云基础架构.它支持许多云提供商,例如A ...

  5. VMWare 15中Ubuntu 18.04安装VMWare Tools

    VMWare 15中Ubuntu 18.04安装VMWare Tools 这篇文章写给以后的自己看,因为怕以后忘了. 1.先点击"虚拟机"之后点击"安装VMWare To ...

  6. Windows10+Ubuntu 18.04.2+ROS 安装笔记(SSD单硬盘)上

    Windows10+Ubuntu 18.04.2+ROS 安装笔记(SSD单硬盘)上 一.前言 二.化繁为简 三.补充说明 小结 一.前言 最近需要学习ROS和python,于是便需要装Linux系统 ...

  7. linux上pyenv卸载,在Ubuntu 18.04系统下安装pyenv的方法

    本文介绍在Ubuntu 18.04操作系统下安装pyenv的方法,使用它可以进行Python多版本管理,目的是防止不同的Python版本因为不兼容而出现错误.安装pyenv其实非常的简单,只需要在系统 ...

  8. linux ubuntu安装 mono,在Ubuntu 18.04系统中安装Mono及基本使用Mono的方法

    本文介绍在Ubuntu 18.04操作系统中安装Mono及基本使用Mono的方法.Mono是一个基于ECMA/ISO标准开发和运行跨平台应用程序的平台,它是Microsoft .NET框架的免费开源实 ...

  9. Windows10+Ubuntu 18.04.2+ROS 安装笔记(SSD单硬盘)下

    Windows10+Ubuntu 18.04.2+ROS 安装笔记(SSD单硬盘)下 一.前言 二.化繁为简 二.补充说明 三.测试ROS 是否安装成功 一.前言 最近需要学习ROS和python,于 ...

最新文章

  1. 非关系型数据库(NoSQL)
  2. Linux shell脚本数值计算个人心得
  3. Python函数篇(5)-装饰器及实例讲解
  4. [深度学习基础] 深度学习基础及数学原理
  5. .net html转义字符,asp.net转义字符
  6. java 页面输出一个页面_java学习之:一个完整页面输出信息的过程(以输出Doctor表中信息为例)...
  7. c语言程序设计数据存储方案,c语言程序设计“第02章数据的存储及运算.ppt
  8. Redis 持久化——RDB
  9. VS编辑代码时使用正则表达式去掉行号
  10. windows下cmd中命令操作
  11. Sophos 修复 Cyberoam OS 中的 SQL 注入漏洞
  12. 清爽登录界面html,基于css3实现扁平简洁清爽的登录注册页面代码
  13. 有关计算机组成原理知识的论文,计算机组成原理课程相关论文
  14. 数据库系统概念读书笔记-SQL标准简介
  15. c++ 调用meshlab程序慢_从Meshlab学架构
  16. coap 返回版本信息_CoAP协议浅析
  17. 软件开发版本管理规范
  18. Ubuntu18.04 显卡驱动安装(GTX1060)正确步骤
  19. 对数函数图像增减性质
  20. 去除CSDN 博客页广告的历程

热门文章

  1. 爱奇艺EPG(复刻平板端)
  2. linux xfs分区实例,linux划分使用XFS分区的方法
  3. EF Core与ASP.NET Core 的集成
  4. Java模拟文件发送给服务器,服务器将文件转发给其他用户,并保存到服务器本地,其他用户可以接收,并保存到本地磁盘,支持各种文件格式,并解决通信中服务器怎么区分客户端发来的文件类型
  5. Linux nginx 基础介绍与安装版本选择
  6. Python安装:手动添加Python环境变量
  7. 学习Opencv+Python之银行卡卡号识别
  8. 达梦数据库自动备份与手动备份, 还原与恢复具体操作步骤,带图(超详细,windows+linux)
  9. 张子阳的文章-写给毕业生
  10. IT学习用的工具软件