当前位置: 首页 > news >正文

QScored大型代码异味和质量度量-数据集

1. 数据集介绍

原论文QScored: A Large Dataset of Code Smells and Quality Metrics

获取地址https://ieeexplore.ieee.org/document/9463095

数据集下载https://doi.org/10.5281/zenodo.4468361

数据集介绍:该数据集包含超过86000个GitHub存储库的代码质量信息,其中包含超过11亿行主要用C#和Java编写的代码。代码质量信息包含检测到的7种架构气味、19种设计气味和11种实现气味,以及在项目、包、类和方法级别计算的27种常用代码质量度量。

文件格式如下

下载完成后,进入cmd,使用如下指令,将aa-ah这8个文件合并为qscored_dump_25Jan2021.tar

copy /b qscored_dump_25Jan2021* qscored_dump_25Jan2021.tar

2. 导入数据库

安装PostgreSQL

Download PostgreSQL (enterprisedb.com)

下载v9.5.25

进入SQL shell,输入四个回车,如需密码就输入安装postgresql时设置的密码

 

 待到postgres=#出现后,依次输入如下三条指令

CREATE DATABASE qscoreddb WITH TEMPLATE=template0 ENCODING='UTF-8' LC_COLLATE='american_usa' LC_CTYPE='american_usa';
CREATE USER dbwala WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE qscoreddb TO dbwala;

打开pgAdmin III,选中qscoreddb,右键,选中恢复,选择qscored_dump_25Jan2021.tar

选择之前合并得到的qscored_dump_25Jan2021.tar,点击恢复,持续半小时左右,期间整个程序会陷入假死状态,即无响应,不要人为干预。

 

 导入成功后在qscoreddb->架构->public->数据表中,可以查阅相关数据

3. 相关sql语句介绍

获取maven项目的designite_project.id:"4642f052-38b0-46e1-a6c5-be08a6e33f43"

select * from designite_project where name like 'maven';

通过designite_project.id来获取maven项目中所有的Broken Hierarchy(一种设计味道,破碎的层次结构)

select design_smell.description, design_smell.component, design_smell._class 
from solution, design_smell, project
where solution.designite_project_id = '4642f052-38b0-46e1-a6c5-be08a6e33f43' and 
design_smell.project_id = project.id and
solution.id = project.solution_id and
design_smell.name = 'Broken Hierarchy';

相关文章:

  • 爱摸鱼的TT~自学Java从入门到入土学习手册
  • 中断上下文使用spin_lock进程上下文使用spin_lock_irqsave的原因?
  • 【AGC】【FAQ】Dynamic Ability常见问题
  • 集成应用签名服务,加入签名计划后,想要删除AGC中托管的应用签名,退出签名计划如何做?应用签名服务常见问题小集合
  • docker 查看容器启动日志 查看运行日志
  • 【web-攻击本地编译性应用程序】(11.1)缓冲区溢出漏洞
  • docker 打包镜像
  • github配置ssh密钥
  • 3.2 创建会员中心微服务模块 -service provider
  • 物联网开发笔记(1)- 使用Wokwi仿真树莓派Pico点亮LED灯
  • 内网渗透-frp 用于内网穿透的基本配置和使用
  • linux快速杀进程
  • C++设计模式---建造者/构建器/构建者/生成器模式
  • 文字转音频软件哪个好用?这几个方法你值得拥有
  • 用ZeroTier搭建属于自己的虚拟局域网(VLAN)
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • css的样式优先级
  • es6--symbol
  • express如何解决request entity too large问题
  • mongodb--安装和初步使用教程
  • MySQL QA
  • PHP 的 SAPI 是个什么东西
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • swift基础之_对象 实例方法 对象方法。
  • Theano - 导数
  • vue 配置sass、scss全局变量
  • vue-cli在webpack的配置文件探究
  • Vultr 教程目录
  • 前端性能优化——回流与重绘
  • 我从编程教室毕业
  • 小程序开发中的那些坑
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #传输# #传输数据判断#
  • #微信小程序(布局、渲染层基础知识)
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (4)事件处理——(7)简单事件(Simple events)
  • (6)STL算法之转换
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (TOJ2804)Even? Odd?
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (二)丶RabbitMQ的六大核心
  • (二刷)代码随想录第15天|层序遍历 226.翻转二叉树 101.对称二叉树2
  • (规划)24届春招和25届暑假实习路线准备规划
  • (佳作)两轮平衡小车(原理图、PCB、程序源码、BOM等)
  • (三)终结任务
  • (十)T检验-第一部分
  • (算法)Game
  • (一)utf8mb4_general_ci 和 utf8mb4_unicode_ci 适用排序和比较规则场景
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • *上位机的定义
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划