- 博客(14)
- 问答 (4)
- 收藏
- 关注
原创 Defects4J 安装与使用(新手向 2023.12.3 可用)
Defects4J 是软件工程研究中用于实现受控实验的真实故障数据库和实验基础设施。
2021-05-28 10:39:50 5345 8
原创 动态切片工具 javaslicer【2】
前文 简单介绍了项目,下面进行操作。运行环境与说明一致:> ubuntu@VM-0-8-ubuntu:~$ javac -versionjavac 1.6.0_20> ubuntu@VM-0-8-ubuntu:~$ mvn -versionApache Maven 2.2.0 (r788681; 2009-06-26 21:04:01+0800)Java version: 1.6.0_20执行 assemble.sh,报错 Plugin requires Maven versio
2021-05-08 20:20:20 493 5
原创 Indri 建立索引及检索
Indri 搜索引擎,为文本集合提供最先进文本搜索和丰富的结构化查询语言。Lemur 项目 Wiki(重点!) 、官网蒙特利尔大学 Jing He 的 PDF1-Windows 版安装完成后,启动根目录 lib 中的 IndexUI.jar 和 RetUI.jar,Help 中有相关说明。可参考 Youtube 的指南(西班牙语)。2-Lunix 版需要 Build-Essential 、g++(5.4 或更早版本)、make、zlib1g-dev,安装过程参考 文章执行 bi
2021-04-29 22:34:53 502
原创 BugLocator 错误文件定位工具
BugLocator(12年的) 下载地址、参考文献、 站内导读Zhou J, Zhang H, Lo D. Where should the bugs be fixed? more accurate information retrieval-based bug localization based on bug reports[C]//2012 34th International Conference on Software Engineering (ICSE). IEEE, 2012: 14-2
2021-03-24 01:34:35 537
原创 fault-localization-data 框架
腾讯云 Ubuntu 16.04.7 LTS (GNU/Linux 4.4.0-157-generic x86_64)所需文件下载地址(2021.2.1)JDK 8地址Fault-localization-data地址Defects4j-2.0.0地址Defects4j-repos直接下载DBI-1.643直接下载搭建环境步骤:tar -zxvf jdk-8u281-linux-x64.tar.gz# 配置JDK环境变量sudo vim /
2021-02-02 17:17:37 816
原创 关于 Source Lines of Code 源码行数
Source Lines of Code SLOC 是常用于衡量软件项目大小和复杂程度的度量标准。分为 Physical 物理源码行数 和 Logical 逻辑源码行数 。物理源码行数:文本的行数,包括注释,甚至空行等,更易获得逻辑源码行数:可执行表达式的数量,但与编程语言、特殊定义相关,难获得示例for (i=0; i<100; ++i) printf("%d bottles of beer on the wall\n");//How many LOCs is here?for (
2021-01-21 00:37:34 1732
翻译 Indir 配置与使用【1】
This version of XXXX was built with gcc version 5.4. GCC 7+ is not supported. We suggest creating a Docker container with a tested version of gcc for systems that do not support gcc versions lower than gcc 7.We have tested using GCC 4.4.7 (CentOS 6.7 li.
2021-01-20 18:10:14 579
原创 Liunx JDK 7 安装配置【准备重写】
Liunx 中使用指令 apt-get install openjdk-8-jdk 即可自行安装 JDK 8 或以上版本。> ubuntu@VM-0-8-ubuntu:~$ java -versionopenjdk version "1.8.0_275" #2020年12月28日OpenJDK Runtime Environment (build 1.8.0_275-8u275-b01-0ubuntu1~18.04-b01)OpenJDK 64-Bit Server VM (build 25.
2020-12-28 17:48:04 199
翻译 动态切片工具 javaslicer【1】
CSDN 中已有两篇文章 参考1、参考2,本文仅提供简单信息,不赘述太多内容。JavaSlicer 是 Saarland 大学 Clemens Hammacher 开发的开源动态切片工具。官方站、Github安装JDKApache Maven因为 JDK 1.8 引入了 JavaSlicer 无法处理的新特性,所以目前建议使用1.6和1.7。文档中给出的配置是:javac 1.6.0_20Apache Maven 2.2.0 (r788681; 2009-06-26 15:04:01+02
2020-12-27 20:14:13 907 7
翻译 Pitest 变异测试工具【1】
PIT 是代表最高水平的变异测试系统,为 Java 和 JVM 提供 gold standard 测试覆盖。快速!可扩展性好!并且与测试和构建工具进行了集成。Github、Google小组变异测试是什么?代码种自动生成错误(变异),然后运行测试。如果测试失败了,那么变异被杀死,如果测试通过,变异幸存。测试用例的质量可以通过变异被杀死的百分比数量进行衡量。换句话说,PIT 在程序代码的自动修改版本上运行单元测试。当程序代码被更改后,就会产生不同的结果,并导致先前的单元测试失败。如果单元测试没有失败,则测
2020-11-19 23:10:41 5619 1
翻译 Soot 初见【1】
Soot 是一个分析和转换 Java 以及 Android 应用程序的框架,目前已支持 Java 9Github 、MavenRepo、Paderborn大学源提供了四种中间表示BafJimpleShimpleGrimp易于操作的字节码简化形式适用于优化的三地址码形的中间表示Jimple 的SSA变体适用于反编译和代码检查的 Simple 整合版如何开始使用 Soot ?Soot 的 wiki、教程 以及 JavaDoc文档和命令行选项的参考本文使用的是 So
2020-11-16 20:45:00 1030
原创 python 的 javalang 库【2】
在 前文 的基础上,继续分析以及 Demo 演示ast.pyclass MetaNode(type)class Node(object)def walk_tree(root)def dump(ast, file)def load(file)Node 中包括__ init__(self, **kwargs)filter(self, pattern)过滤器__ equals__(self, other)比较child
2020-11-14 22:04:35 1741 7
翻译 python 的 javalang 库【1】
javalang 是用于处理 Java 源码的纯 Python 库,目前提供了针对 Java 8 的词法分析器和解析器。PyPI | Github | Java8 语言规范开始import javalangtree = javalang.parse.parse("package javalang.brewtab.com; class Test {}; class Test2 {}")将返回一个 CompilationUnit 实例,它是树的根,可以通过遍历提取不同信息。print(tree.pa
2020-11-13 16:53:49 6591 5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人