Skip to content

MoonBirdLin/JSAnalyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JSAnalyzer (Deprecated)

  • 一个自实现的JS程序分析工具
  • 设计理念参考workflow.md
  • 胎死腹中的工具...写一半发现设计理念和 jelly 重复了; 目前可以进行基础的AST解析, 命名空间解析和MDG解析, 后面发现设计思路重合就摆烂了, 权当是coding练习了

Supported Functions

MDG(Module Dependency Graph) Analysis

  • MDG: 分析模块(文件)之间的依赖关系, 生成模块依赖图; 图结构为每个js文件的导入导出字典
  • 根据根据跨模块引入的语法不同(Es6 or CommonJS), 存在可配置的两个版本的依赖图构建

NameSpace Analysis

  • 分析全部文件中的变量/对象/方法的命名空间, 最终生成命名空间图, 图结构为前缀树图(实现为字典)

Class Heritance Analysis

  • 分析 Class/Interfece 的继承关系, 生成继承关系图(结构为字典)

MPTA(Method Pointer Analysis)

  • MPTA: 分析函数指针, 生成函数对象指向关系图

Call Graph Analysis

  • 基于 MPTA 和 Inheritance Analysis 的结果生成 CallGraph

References

Reference Papers

About

A technical prototype of AST-Based JavaScript Program Analyzer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published