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 ...)