MIT6.191
SOME OF NOTES FROM THE LECTUREDeep Generative ModelingGenerative Modeling Goal: Take as input training samples from some distribution and learn a model that represents that distribution
latent variable: They are not directly observable, but they are the true underlying features or explanatory factors
Autoencoder: An autoencoder is a type of artificial neural network used to learn efficient codings of unlabeled data (unsupervised learning)
variational autoencoders(VAEs):
Generative Adversarial ...
英语学习笔记
关于不记录点什么就什么也记不住这件事。
学习英语的困境阅读的速度比较慢,时常会在心里默读,但是主动看快点,又会导致囫囵吞枣。
口语发音不标准,听力容易理解出错。
目前的方法单词/句的积累(单纯的记忆,墨墨背单词,结合句子,部分结合词根)目前的进度是 100 w/m, 已经连续背了 25 天,但还是有一点慢。
关于口语/听力这回事音节(Syllable)每个音节都包含一个元音英标,辅音则是音节的分界线。
音节的划分可以用(-)或(·)来表示。
闭音节:以辅音结尾的音节。
开音节:以元音结尾的音节。
这俩后文也(自然拼读)中涉及到。
重音(Word Stress)重音符号(ˈ),次重音符号(ˌ)
自然拼读(Phonics)很多非常规的拼读,仍需积累。
单个辅音字母在单词中通常的读法(以英音为例)
辅音字母(组合)在单词中通常的读法(以英音为例)
单个元音字母在单词中的通常读法(以英音为例)
元音字母(组合)在单词中的通常读法(以英音为例)
节奏(Rhythm)英语不像中文的发音,中文每个字基本都是一个音节,每个音节等时,而英文一个单词可以有 ...
如何给 LLVM RISCV 添加一条“指令”(改进)
实验报告(改进)实验要求
完成指令编码设计(4分)
能够通过自己编写的至少2个正确汇编测试程序,生成正确的madd指令编码(4分)
能够通过自己编写的至少2个错误汇编测试程序,进行适当的错误处理(4分)
能够通过自己编写的至少1个C语言测试程序,生成正确的madd汇编指令(4分)
编码规范,风格良好,注释适当,架构合理(4分)
额外完成的
使用比较合适的测试方法
可以给 llvm 前端也添加相应的支持,支持高级语言的内联汇编或者内置函数生成对应的汇编
代码 Patch主模块rt@rogerthat ~/m/llvm-project-llvmorg-13.0.0 (master)> git format-patch 3c115231b000ed300a6f0551b5b30bd549d566f3
0001-Add-builtin-__builtin_riscv_madd.patch
0002-Edit-Emit-function-type-error-and-grammer-error.patch
0003-Repair-fix-int_ri ...
算法學習笔记
动态规划最长递增子序列问题(Longest Increasing Subsequence)
子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。
这是我写的代码(有点差劲的代码
class Solution {
public:
vector<int> dp;
int tryThrough(vector<int>& nums) {
int res = 0x80000000;
for (int i = 0; i < nums.size(); i++) {
if(dp[i] > res){
res = dp[i];
}
}
return res;
}
int lengthOfLIS(vector<int>&am ...
论文笔记:Tracer:Signature-based Static Analysis for Detecting Recurring Vulnerabilities
阅读论文:Tracer: Signature-based Static Analysis for Detecting Recurring Vulnerabilities
Intro由于开发者很容易在同样的地方踩坑(数学运算,协议等),或者人们对复杂的低级语意的误解(C 语言中的未定义行为等),加之代码重用,致使相似的漏洞重复出现。
代码相似性有一些相关论文,这里记录一下
Yaniv David et al. Firmup: Precise static detection of common vulnerabilities in firmware.
Steven H. et al. Asm2vec: Boosting static representation robustness for binary clone search against code obfuscation and compiler optimization
Jiyong Jang et al. Redebug: Finding unpatched code clones in entire os distrib ...
散記
打算早上先看一個視頻,具體瞭解一下抽象解釋的相關概念,下午把 Tracer: Signature-based Static Analysis for Detecting Recurring Vulnerabilities 看了
SIG-程序分析 技术沙龙 数值程序分析—陈立前(国防科技大学)
不變式(值)生成
抽象解釋:對程序語義進行抽象(近似)的通用理論
Galois 連接
抽象域
數值抽象域,在其上的析取,合取
多面躰域(綫性不等式域),八邊形域(刻畫+1,-1,0,兩個變量之間的關係)
上近似:無漏報但是可能存在誤報
凸抽象域(綫性抽象域),凸抽象域(區間綫性抽象域,絕對值綫性抽象域)
數值程式分析
結合抽象域與SMT的程式分析
軟件中資源使用量上界分析
神經網絡架構中的數值缺陷檢測
他人提問:
應該選擇什麽樣的抽象域
怎麽去自動化地檢測抽象域的精度
…
静态分析相关综述笔记
磕磕绊绊的读了一篇讲静态分析框架的论文,发现自己没有提炼自己的知识,有一种 “哦,原来是这样” 的似懂非懂的傲慢。
读了一些综述,打算把这些东西再梳理一遍。
以下的内容非常散,如果对文章感兴趣又不想看文字,看图片部分就够了。
二进制代码安全分析综述(部分)作者主要来自复旦大学的软件学院与上海市数据科学重点实验室
引言-摘软件安全分析笼统的说可归类两种
源代码级别
二进制级别
作者讲了二者的区别,
二进制级别的代码分析上存在着一定的挑战,首 先软件程序需要从源代码经过编译、优化之后生成二 进制可执行程序,二进制代码可读性降低,且在程序的
编译过程中往往会丢失掉上层的结构和类型等信息 (例如将变量和数据结构存到通用寄存器或者内存中1, 从而导致分析任务更严峻,难度更大;
有一点点疑问🤔。关于优化后失掉上层的结构和类型等信息。虽然可能失掉了源码级别的符号,但是如果能够还原出部分符号,这个符号是最贴近实际运行的,而且信息量也是非常大的,比如编译期的反射在二进制眼前就是非常直白的存在。再另一个综述中了解到有一篇说可以追踪变量的使用自动的还原出结构体,可能这一篇不够详细。
二进制安全分析 ...
论文阅读笔记
今天分享一来自 ISSTA 2023 的静态分析文章。Tai-e: A Developer-Friendly Static Analysis Framework for Java by Harnessing the Good Designs of Classics
Tian Tan and Yue Li. 2023. Tai-e: A Developer-Friendly Static Analysis Framework for Java by Harnessing the Good Designs of Classics. In Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2023). Association for Computing Machinery, New York, NY, USA, 1093–1105. https://doi.org/10.1145/3597926.3598120
b站上有一个静态分析课程,作 ...
论文阅读笔记
論文閲讀
Ruiguo Yang, Jiajin Cai, and Xinhui Han. 2022. Poster: TaintGrep: A Static Analysis Tool for Detecting Vulnerabilities of Android Apps Supporting User-defined Rules. In Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security (CCS ‘22). Association for Computing Machinery, New York, NY, USA, 3507–3509. https://doi.org/10.1145/3548606.3563527
Introduction作者描述說大部分的安卓漏洞都屬於邏輯漏洞(指的應該是應用層的漏洞),可以大部分分爲兩部分,第一部分數據,第二部分是對數據的處理。第一部分的不可靠的數據我們可以通過數據流分析得到,而對不可靠的數據進行操作則需要語義分析。 ...
论文阅读笔记
論文閲讀
Jubi Taneja, Zhengyang Liu, and John Regehr. 2020. Testing static analyses for precision and soundness. In Proceedings of the 18th ACM/IEEE International Symposium on Code Generation and Optimization (CGO 2020). Association for Computing Machinery, New York, NY, USA, 81–93. https://doi.org/10.1145/3368826.3377927
Introduction作者的目的是開發 formal-method-based(基於形式化的) 算法,靜態分析中的 imprecisions 和 unsoundnesses 。
作者的貢獻是設計並評估了數種算法來分析編譯器靜態分析結果的 soundnesses 和 precisions,他們在 LLVM 並上沒有找到新 soundness bu ...