自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 笔记:[Fuzz4All]Universal Fuzzing via Large Language Models

第一步Autoprompting:获取初始种子。优先选择温度参数为0 时LLM给出的种子,如果需要更多则增高温度参数(增加LLM创造性)第二步Fuzzing loop:随机选取新生成、突变、同义替换操作,直至时间预算耗尽。

2024-01-03 15:55:57 402 1

原创 阅读笔记:Grammar-Free DBMS Fuzzing

Metadata的获取:对于支持ANSI标准的DBMS,可以通过SELECT语句获取;不支持的DBMS则需要调用它们各自特有的API。Griffin不使用具体语法,而是metadate graph(一种轻量型数据结构)来提高突变过程中的正确性。现有工作中,让fuzzer适应新的DBMS是一件劳动密集型的工作。实现:C++ 9532行 base on AFL++ 4.00c。现状:市场上存在391种不同的DBMS,使用着不同的语法。在AFL++基础上用C++实现,没有给出开源代码。

2024-01-02 15:31:32 809 1

原创 阅读笔记:(Ratel)Industry Practice of Coverage-Guided Enterprise-Level DBMS Fuzzing

传统的语句突变生成(Squirrel为例):在AST上解析和突变;重新解析查询以保证语法正确性。期间发生任何错误都导致生成失败,种子被丢弃。生成能够涵盖DBMS所有特性的AST不太现实,但制作包含所有关键字的词典是可行的。突变过程中使用该词典,尽管会导致很多语法错误,但增加了语句多样性。放松语法检查:只要是interesting test case中的合法AST,即使生成的statement语法不通过也给予保留。将DBMS分为Library-level和enterprise-level。

2023-12-12 19:09:39 363

原创 阅读笔记:DynSQL: Stateful Fuzzing for Database Management Systems with Complex and Valid SQL Query Gener

现有的fuzzer往往在query的复杂性和有效性中权衡:SQLsmith在每个query中只加入一条statement以避免分析statement的依赖关系分析;SQUIRREL使用中间表示(IR)推断依赖关系以生成更复杂的查询,但它生成的query超过50%不可用,且倾向于生成简单的statement。原因:这些fuzzer无法获得准确的状态信息,因此必须限制生成query的复杂性来耐受这些不正确性。*DBMS的优化:列出几种可选的执行计划,选择效率最高的一种。前者2023.8 后者2023.4。

2023-12-01 21:36:42 435 1

原创 阅读笔记:[LEGO]Sequence-Oriented DBMS Fuzzing

实现多样性不能简单的枚举SQL序列,有以下三点原因:1、组合爆炸;2、很多序列实际上是无意义的;3、不是所有序列都适合fuzz。现有的工作注重SQL语句的合法性,忽略了SQL类型序列的多样性。语句亲和性如何评估?SQL类型序列:红圈部分。

2023-11-17 18:45:37 106 1

原创 阅读笔记:Testing Database Systems via Differential Query Execution

现有检测logic bugs的方法(仅限单数据库系统中的方法)仅针对SELECT查询,因此无法检测出DQE找到的UPDATE、DELETE导致的bug;在五个广泛使用的 DBMS 上评估了DQE 的有效性和通用性,检测到 41 个之前末知的错误,其中20个发生在UPDATE 和 DELETE 查询中。3、结果的获取:获取询问返回的错误——对没有SHOW WARNINGS命令的数据库使用JAVA的SQLException。获取update访问的行——在update中将修改的行的updated列置1。

2023-11-06 19:58:38 58

原创 《量子编程》笔记-持续更新

阅读笔记

2022-08-29 14:56:47 84 1

原创 容斥 2021CCPC威海M 810975

https://codeforces.com/gym/103428/problem/M题意:n场比赛赢了m场,求最长连续胜场为k的方案数参考题解:https://zhuanlan.zhihu.com/p/439674716思路:1.最长连续胜场为k→最长连续胜场小于等于k-最长连续胜场小于等于(k-1)2.最长连续胜场小于等于k→所有方案-至少有1个连续胜场大于k+至少有2个连续胜场大于k-至少有3个连续胜场大于k……3.至少有i个连续胜场大于k:隔板法,首先给i段都加上(k+1),同时在总和中

2022-02-27 17:30:09 975 2

原创 计算贡献(二)

题目:https://acm.hdu.edu.cn/showproblem.php?pid=7055总结:一般需要统计贡献值相同的区间的个数。题目中强制做题者区分不同贡献值区间的要素:最常见的如本题中的平方。以此为基准,统计区间内同一字母个数相同的区间数,完成从“一个区间内多少相同字母”到“包含若干个相同字母的区间数”的转化。补充:对推导公式的处理题解中给出的处理方法是二次差分;作者使用了更能保证正确性的方法:将len(k),len(k)*k,len(k)kk的前缀和分开保存,暴力得出公式。AC代

2021-08-11 15:42:42 328

原创 序列的构造

题意与题解链接https://blog.csdn.net/qq_43750980/article/details/108834485构造一个序列,可以先假设第一个元素为1,然后自由向左(小)/向右(大)构造,最后再移动至原位例如在本题中,第一个元素为1,第二个元素需要使极差变为2,可以将第二个元素向左构造为-1;之后如果需要插空,可以将第三个元素构造为0,以此类推;假设构造完毕后序列为1,-1,0,-3,-2,移动至原位(全体+4)为5,3,4,1,2在本题的条件下,如此构造出的序列不失唯一性,可用

2021-05-29 16:56:05 413

原创 奇怪的卡常技巧

终于,我也沦落到要写这篇文章了,可恶1.关闭同步的cin cout比getchar读优更快,但是要注意关闭同步后不能再使用其它的读入输出方法。ios::sync_with_stdio(false);cin.tie(0); cout.tie(0);(亲历getcharTLE,cin稳过)2.同样的取模运算次数下,尽量使longlong运算变为int运算...

2021-05-18 22:17:29 80

原创 cf #578D White Lines(贡献统计+二维差分+二维前缀和)

https://blog.csdn.net/lalalafloat/article/details/99822795解题思路讲得非常到位,值得参考,可惜代码WA了本题难点在于二维差分,对区间(sx,sy)~(ex,ey)进行差分,需要如下操作:f[sx][sy]++f[sx][ey+1]--f[ex+1][sy]--f[ex+1][ey+1]++可通过画图理解,只需牢记差分的目的是为了求前缀和即可。附自己的AC代码#include<cstdio>#include<io

2021-02-24 11:47:37 147

原创 状压DP入门小结

状压DP入门小结题目:https://loj.ac/p/10170非常基础的状压dp题,转移不难同行不相邻:if(i&(i<<1)) continue;相邻行不相邻:if((s[u]&s[v])||(s[u]&(s[v]<<1))||((s[u]<<1)&s[v])) continue;此题的转移中,枚举起始态较为方便难点在于复杂度的把控(时限500ms)非常重要的一点:状态数的压缩和预存如果不预存所有合法的单行状态

2021-01-22 19:30:25 89

原创 排序最小交换次数

1.只能相邻交换,冒泡排序O(n^2)-逆序对O(nlogn)2.允许自由交换,无重复数值,选择排序O(n^2)-预排序记录目标位置O(nlogn)3. 允许自由交换,有重复数值//author:uni_xyd//主要功能为求序列到达有序/到达目标序列的最少自由交换次数(相邻交换参考逆序对算法)//数值可以有重复 //复杂度nlogn 可过1e6 //输入格式://n//n个数 原序列//*n个数 目标序列 #include<cstdio>#include<se

2020-10-01 16:43:16 2346

原创 New Year and Permutation[统计问题的贡献做法]

题目网址不能直接求解的统计问题,可以化为求贡献问题。本题中,求全排列中的合法数对,化为求每一种合法数对在全排列中贡献的次数。1 第一步分类,枚举区间长度L(区间长度不同有实质区别)2 第二步分类,枚举最大最小值min,max=min+L-1(无实质区别)3 分类完毕,对于每个L的区间有贡献******(略)无实质区别的分类级可以合并进公式,而有实质区别的分类级可能必须加入最终复杂度中。...

2020-04-19 18:16:29 96

原创 对KMP算法的时间复杂度分析

O(n)for(int i=2;i<=l2;++i) { int x=i-1; while(x&&s2[nxt[x]+1]!=s2[i]) x=nxt[x]; if(x) nxt[i]=nxt[x]+1; else nxt[i]=0; }以上为next数组获取过程的代码,匹配过程同理。两重循环,第一重for的运行次数为字符串长度,第二重while的运...

2020-01-09 09:21:39 1550

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除