我正在尝试了解Java字节码/源代码的静态分析.
这些术语经常出现,我无法在Internet上找到令人满意的定义:
>上下文(不敏感)分析
>调用上下文
>活动呼叫站点
>指向分析
任何人都可以用外行术语来详细说明上述术语在Java上下文中的含义.
在Google上搜索“上下文”“编程”会带来有关上下文敏感的语法,语言理论等方面的内容,但不是我需要的定义(除非它们表示相同的意思).
解决方法:
>调用上下文:当分析某个位置的代码时,直接(假定)调用者的代码,或更一般地,导致此的一组(假定)调用者的代码.
>活动的呼叫站点:侧重于直接呼叫者的“呼叫上下文”的变体.
>上下文敏感分析:考虑特定调用上下文的代码位置的代码属性分析.进行此类分析的原因是,这些属性通常更加详细和精确.
>上下文不敏感分析:对代码位置的分析,其中考虑了所有可能的调用上下文.这样做是因为它比上下文敏感的分析更易于实现;它的缺点是答案通常不那么精确.
>指向分析:一种分析,该分析为每个指针分配确定(并由此访问和更新)该指针可以选择的程序中的实体集.感兴趣的实体通常由代码中的分配点集表示,例如,在堆或本地块中可能发生分配任何实体的每个位置.
标签:static-analysis,java 来源: https://codeday.me/bug/20191201/2079158.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。