JSdep
1.0.0
@inproceedings{DBLP:conf/sigsoft/SungKS016,
author = {Chungha Sung and
Markus Kusano and
Nishant Sinha and
Chao Wang},
title = {Static {DOM} event dependency analysis for testing web applications},
booktitle = {Proceedings of the 24th {ACM} {SIGSOFT} International Symposium on
Foundations of Software Engineering, {FSE} 2016, Seattle, WA, USA,
November 13-18, 2016},
pages = {447--459},
year = {2016},
crossref = {DBLP:conf/sigsoft/2016},
url = {https://doi.org/10.1145/2950290.2950292},
doi = {10.1145/2950290.2950292},
timestamp = {Tue, 06 Nov 2018 16:59:23 +0100},
biburl = {https://dblp.org/rec/bib/conf/sigsoft/SungKS016},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
JSDEP是找到Web應用程序的DOM-EVENT依賴性的工具,包括使用DataLog約束的傳統控制和數據依賴性。
它可以靜態地遍歷一個JavaScript文件,並找到兩個DOM事件之間的關係。
該工具包括Artemis的修改版本,以顯示FSE論文中介紹的評估(出現)。
該工具的特徵
JSDEP的結構
以下人員為這一掌聲和論文做出了貢獻:
環境
要僅運行靜態分析以運行DOM依賴關係關係,它需要以下依賴性:
sudo apt-get install nodejs )sudo apt-get install realpath )要與Artemis進行測試,您必須首先安裝Artemis的修改版本。
使用JSDEP安裝的VM(虛擬框的OVA文件)的鏈接(https://drive.google.com/open?id=1O70KDLFWHAN4J06Y5NHTQOPBQIQCIQIQCICIYRQ)。但是,這已經很久以前進行了更新,因此也許有一些問題。
製作build-dep file = [filename]
使構建全部
做fetch-data
製作表1
製作table2
製作表3
=====您必須安裝我們提供的修改後的Artemis版本,以便在下面運行這些comand =====
如果運行程序,則可以在Info目錄下查看名為DEP.TXT文件的文件。
文字有一系列,每個依賴關係關係由4行文本組成。
第一行和第二行指示DOM的名稱,第三行和第四行表示事件的類型。
例如,如果文件內容為1 dom1 2單擊3 dom2 4 mousemove
DOM1和DOM2是DOM節點的名稱,單擊,Mousemove是每個DOM的事件類型。
這四行的含義是test2的mousemove取決於test1的點擊。
每四行是相關的(例如1 4,5 8 ...)