程序的静态分析?

发布于 2022-09-02 13:29:10 字数 90 浏览 24 评论 0

什么是程序的静态分析?有什么用处吗?
今天看了es6的模块,说到模块是静态加载的,这样就可以静态分析js的代码了。静态分析的意义在哪里?有什么比较突出的优点吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

掩耳倾听 2022-09-09 13:29:10

简单白话地讲,就是
首先对源码进行分析(类似编译器前端做的工作:词法,语法分析等),得到AST后,
进一步分析(数据流,控制流分析,类型系统等),
获取到一些有用的信息(类似智能提示的那种,比如类型变换情况,转换是否安全,空指针检测,是否有潜在的bug等),
帮助我们写出安全的代码.

实际应用的话,我了解到的有在航空软件中,有研究所用model checking的方法找出潜在的bug,让飞机运作更安全,规避一部分风险.当然普通的软件中也会有使用.

可以参考一下这个问题下面的回答:
如何学好程序的静态分析

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文