1. 数据集介绍

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

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

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

百度网盘下载 链接 ,提取码:pcwy

数据集介绍:该数据集包含超过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';
该数据集包含超过86000个GitHub存储库的代码质量信息,其中包含超过11亿行主要用C#和Java编写的代码。代码质量信息包含检测到的7种架构气味、19种设计气味和11种实现气味,以及在项目、包、类和方法级别计算的27种常用代码质量度量。......
代码 气味 从Java源 代码 检测有害 代码 气味的项目 我创建了这个项目,以使用访问者模式对JavaParser的AST导航进行实验。 我正在创建有关 代码 气味的Pro Gradu,因此我决定对一些简单的 代码 气味检测算法进行编程会很有趣。 当前项目仅实现了“长参数列表”气味,实现起来非常简单。 通常,由于检测中使用的 度量 标准是LOC或类似指标,因此容易检测到膨胀剂的气味。 有关 代码 气味的更多信息,请参考以下几篇好论文: M. Fowler,重构:改进现有程序的设计。 艾迪生-韦斯利(Addison-Wesley),1999年 N. Moha,Y。Gueheneuc,L。Duchien和A. Le Meur,“ DECOR:一种用于规范和检测 代码 和设计气味的方法”,在IEEE Transactions on Software Engineering,vol。1中。 36号1月至2月,第20-3
自动 代码 气味检测器是IntelliJ IDEA插件,致力于自动检测和纠正Java 代码 中的 代码 气味。 下载及安装 可以按照以下步骤直接在IntelliJ IDEA中下载该插件: 按Ctrl + Alt + S或选择文件| 设置(适用于Windows和Linux)或IntelliJ IDEA | 从主菜单中选择“首选项”(对于macOS),然后转到“插件”。 单击浏览存储库按钮。 在打开的对话框(“浏览存储库”对话框)中搜索“自动 代码 气味检测器”,然后选择“下载并安装”。 确认您打算下载并安装所选插件。 单击关闭。 在“设置”对话框中单击“确定”,然后重新启动IntelliJ IDEA,以使更改生效。
嗅觉去污剂 这是一个Visual Studio Code 扩展,用于检测python 代码 中的不安全编码做法。 这些不安全的编码做法也称为安全气味。 这些气味可能为软件系统的利用留出空间,并导致安全漏洞。 为了帮助从业者,已经开发了此工具以在 代码 中定位这些气味。 调查的气味 Bad File Permission Command Injections Cross-site scripting Constructing SQL upon Input Debug Set to True in Deployment Exec Statement Empty Password Hard- code d Secrets Hard- code d IP Address Binding Hard- code d tmp Directory Insecure Data Deserialization Insecure D
在前面的文章中,我们介绍了《提升编程效率:重构》以及《何时开始重构?》。了解了那些能够更好的辅助团队或者个人进行重构,但是要让重构真正产生作用是需要能够 代码 中的坏 味道 ,并消除 代码 中的坏 味道 。 如下图是工作中常见的 代码 的坏 味道
Code Smell s and Refactoring: A Tertiary Systematic Review of Challenges and Observations (JSS,2020) We do not have until now a benchmark of projects [S22, S39, S40]. Some studies [S13, S18, S39, S40] point a lack of benchmark definitions for smell s valida
SonarQube的 代码 气味插件 的 Code Smell s插件使开发人员可以手动(即在 代码 审查期间)报告SonarQube未发现的问题,但在评估项目的技术债务时应考虑这些问题。 如果您需要更多信息,请阅读,并查看插件允许您报告的的列表。 安装和使用文档位于。 非常欢迎新功能的想法和。 已创建一个名为,以促进有关此插件的讨论。 希望您会喜欢我喜欢编写的这个小插件! 请不要犹豫,请求新的 代码 气味类型,发送评论以及进行改进。
前面的话: 我发现大家都喜欢在正文前唠嗑几句,可能是做技术的平常本身就比较沉闷,跟周边的人也不能无所顾忌的交流,毕竟国人都比较讲究含蓄。在网上就不同了,可以畅所欲言,所以每次除了分享知识,还顺带交待下自己,让技术也就不那么”冰冷“了。 唠嗑的话: 前几天看自己的为知,发现每年都有个读书计划列表,不过大多都没有完成,今年甚至连计划都还没有。内心觉得不安,正好...