<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [論文筆記] Analysis of JavaScript Programs: Challenges and Research Trends

      JavaScript 的特點

      JavaScript 的語言特點

      “動態(tài)”特性,使得靜態(tài)分析不好進行(難以找到合適的抽象)

      • 動態(tài)類型的(dynamically typed)并且支持廣泛的隱式類型轉(zhuǎn)換的使用

      • 基于原型的面向?qū)ο螅≒rototype-based OOP),可以動態(tài)增減實例上的屬性

      • 動態(tài)生成代碼,動態(tài)作用域,屬性名的動態(tài)計算等動態(tài)特性

      • “函數(shù)式”特性

      JavaScript 的運行環(huán)境特點

      • HTML + CSS + JS,DOM 和 JS 進行交互,DOM API 是動態(tài)、異步和復雜的

      • 大多數(shù)的 Web 應用包含第三方代碼或者動態(tài)加載的 JS 腳本

      • Node.js 提供了使用 JS 開發(fā)服務端代碼的可能

      類型錯誤與安全缺陷

      • JS 在語法中定義了 TypeErrorReferenceError

      • 四種安全缺陷:cross-site scripting, open redirect, information leakage, code injection

      JavaScript 分析的研究趨勢

      靜態(tài)分析

      靜態(tài)分析是服務端 JavaScript 代碼的主要研究主題。JavaScript 的動態(tài)特性和 Web 應用的運行環(huán)境造成了如下挑戰(zhàn):

      動態(tài)語言特性:

      • 動態(tài)類型:靜態(tài)分析不好預測

      • 動態(tài)生成的代碼:不可能精確的分析代碼

      • 動態(tài)對象:Object 上屬性值的任意增減

      Web 運行環(huán)境:

      • DOM 和 Events:需要通過靜態(tài)分析來處理大量DOM API,并探索用戶驅(qū)動的事件流的龐大搜索空間

      • 外部庫:使用大規(guī)模的庫,這些庫包含復雜的代碼模式

      五個 JS 靜態(tài)分析的研究趨勢:

      1. 擴展研究范圍:從 JS 的一個子集開始,研究者們正在擴展研究范圍使得研究包含更多的 JS 特性:
      • JavaScript 子集:\(\text{JavaScript}_{safe} \rightarrow \text{JavaScript}_\text{GK}\) 從一個安全的語言子集出發(fā),添加某些動態(tài)特性

      • 動態(tài)加載的代碼:分階段的信息流分析/指針分析 Staged Analysis

      • 動態(tài)特性:靜態(tài)地追蹤被傳遞給 eval() 的字符串常量,然后按字符串常量的類型重寫 eval;運行時動態(tài)收集字符串實參,對于常見模式消除 eval;重寫 with 代碼塊

      • DOM 和 Events:把 DOM 對象做抽象,考慮所有的 event calls 的組合(sound but not precise enough);把動態(tài)階段得到的具體 DOM 值喂給靜態(tài)分析器使用;為每個 DOM 節(jié)點生成單一的抽象對象,并更準確地刻畫 DOM 樹結(jié)構(gòu)

      • 分析 libraries:在程序運行時收集“確定性事實”,并用這些事實對程序進行特化;采用純靜態(tài)方式挖掘確定性事實;在運行時收集庫函數(shù)返回的對象及其屬性訪問信息

      1. 提升分析精度:
      • 動態(tài)特性:許多混合方法使用動態(tài)信息幫助靜態(tài)分析:運行時分析,收集動態(tài)信息特化程序后做靜態(tài)分析,特化路徑;

      • 動態(tài)對象:不精確指針分析;把“最新分配的對象”與“舊對象”區(qū)分開來;相關(guān)性追蹤;狀態(tài)敏感指針分析;Heap with Open Objects 抽象

      • 循環(huán):循環(huán)也是導致 JavaScript 精度下降的主要結(jié)構(gòu)之一,靜態(tài)確定性分析;循環(huán)敏感分析

      1. 提升分析可擴展性:隨著軟件規(guī)模的上升,分析算法的開銷增長太快,難以接受
      • 移除不必要的計算:懶惰傳播,稀疏數(shù)據(jù)流分析

      • 使用 unsound 的調(diào)用圖:IDE 中的靜態(tài)分析更喜歡 scalability 而非 soundness;field-based,only function-objects,ignore dynamic property accesses;JSBAF

      • 提升分析性能:并行化;更大的 k-CFA 和更精細的上下文敏感技術(shù)

      1. 提升分析框架可用性:TAJS, WALA, SAFE, JSAI

      2. 擴展分析的下游應用:

      • 類型錯誤檢查:從早期純 JS 程序到真實 Web 應用,tscheck, Aurebesh

      • 安全漏洞檢查:四類 JS 安全漏洞:跨站腳本、開放重定向、信息泄露、代碼注入;核心方法是信息流分析

      • 程序理解:指 IDE “理解” 程序,重構(gòu) Refactoring,代碼變更影響分析,內(nèi)存泄漏

      動態(tài)分析

      1. 測試技術(shù):重點關(guān)注 DOM 操作,動態(tài)抽取 DOM 不變式,關(guān)注 DOM 狀態(tài),自動生成 DOM test fixtures;借鑒和擴展 contrasts

      2. 爬取和動態(tài)符號執(zhí)行:通過觸發(fā) Web 應用的各種事件來收集 DOM 狀態(tài);用符號約束+求解來系統(tǒng)地探索未覆蓋路徑,同時結(jié)合隨機/污點技術(shù)提升事件序列構(gòu)造效率

      3. 程序理解和錯誤檢查:軌跡提取、事件可視化和內(nèi)存剖析,AutoFLox/Vejovis,IDE 支持

      其他研究趨勢

      形式化和推理

      image

      類型安全和 JIT 優(yōu)化

      image

      image

      Web 應用安全性

      image

      posted @ 2025-07-22 21:26  sysss  閱讀(17)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 日韩一区二区三区av在线| 华容县| 日本乱子人伦在线视频| 亚洲色大成网站www久久九九| 亚洲男人第一无码av网| 又大又紧又粉嫩18p少妇| 亚洲av本道一区二区| 日本边添边摸边做边爱| 国产色无码专区在线观看| 亚洲男人第一无码av网站| 久久久www成人免费精品| 亚洲夂夂婷婷色拍ww47| 亚洲成av人片无码天堂下载| 精品综合久久久久久98| 成人一区二区三区在线午夜| 国产边摸边吃奶边叫做激情视频| 阜宁县| 狠狠色婷婷久久综合频道日韩 | 国产玖玖视频| 日区中文字幕一区二区| 国产偷国产偷亚洲高清人| 两个人看的www免费视频中文| 国产精品毛片在线完整版| 亚洲高清WWW色好看美女| 欧美va天堂在线电影| 亚洲精品综合一区二区三区| 国产对白老熟女正在播放| 海南省| 人妻系列中文字幕精品| 亚洲综合区激情国产精品| 天美传媒xxxxhd videos3| 亚洲av综合av一区| 亚洲国产精品视频一二区| 精品国产中文字幕第一页| 国产AV无码专区亚洲AV漫画| 高清中文字幕国产精品| 亚洲av肉欲一区二区| аⅴ天堂中文在线网| 国产蜜臀在线一区二区三区| 一本一道av无码中文字幕麻豆| 中文字幕久久熟女蜜桃|