首页 > TAG信息列表 > static-analysis

java-如何使用Python生成AST(以XML表示)的控制流?

我有XML格式的AST WHILE语言(http://www.program-analysis.com/while.html).目前,我不处理函数调用或递归.我需要为该程序生成控制流. 一个示例程序(//后面的数字表示解析器生成的标签): begin x:=1; // 1 z:= 2+x; // 2 x := x+z; // 3 y:=z-x+z; // 4 w:=x+y+z

在Java中,“调用上下文”(以及其他一些术语)是什么意思?

我正在尝试了解Java字节码/源代码的静态分析. 这些术语经常出现,我无法在Internet上找到令人满意的定义: >上下文(不敏感)分析 >调用上下文>活动呼叫站点>指向分析 任何人都可以用外行术语来详细说明上述术语在Java上下文中的含义.在Google上搜索“上下文”“编程”会带来有关上下文

java-JPA实体和查询的编译时检查

某些IDE(我正在看着您,IntelliJ IDEA)能够对JPA实体类以及查询(包括参数)执行一些静态检查. 是否有任何方法可以在编译时执行相同的操作,以便可以将此类检查集成到构建过程中,类似于运行单元测试?显然,一个好的单元测试套件将练习所有实体和查询,但是能够拥有这种额外级别的验证将是

c#-在.net项目/解决方案的类之间创建依赖关系图

有没有编程的方法或工具可以迭代项目/程序集中的所有类并找出其他相关类? Resharper具有类似的功能,但是我无法找到以某种易于分析的格式导出结果的方法. 我的最终目标是在类之间(每个类)之间创建依赖关系图,而不是通过项目/命名空间/等进行聚合 我的最终目标是获得类似于< Class Na

是否有C#静态分析工具来捕获不满足功能要求的API?

我最大的烦恼之一就是API,它无法像普通用户那样理解API的功能. 案例:.NET的DateTime.ToUniversalTime.文档令人恐惧: On Windows XP systems, the ToUniversalTime method recognizes only the current adjustment rule when converting from local time to UTC. As a result, conv

是否可以为未分配的局部变量保证CS0165 C#编译器错误?

在这样的代码中: int val; if (something()) val = 10; val++; // Error CS0165 Use of unassigned local variable 当使用局部变量时,如果没有确定地初始化它,我会收到CS0165错误消息. 在C语言世界中,这种情况是未定义的行为类情况,这意味着任何情况都是允许的.因此,也许有

如何在php中执行静态代码分析?

是否有PHP源文件的静态分析工具?二进制本身可以检查语法错误,但我正在寻找更多的东西,例如: >未使用的变量赋值 >首先分配的数组而不进行初始化>以及可能的代码样式警告> ……解决方法:从命令行以lint-mode运行php以验证语法而不执行: php -l FILENAME 更高级别的静态分析仪包括: > php

静态解析:判断两个Javascript函数是否相同

我正在寻找一种方法,使用两个JavaScript函数的静态分析来判断它们是否相同.让我定义“相同”的多个定义. 等级1:除了可能的不同空格之外,功能是相同的,例如, TABS,CR,LF和SPACES. 级别2函数可能具有与级别1不同的空白,但也可能具有不同的变量名称. 3级??? 对于第一级,我想我可以从包

c – 用于发现64位可移植性问题的静态代码分析工具?

我正在寻找将大量代码转换为64位的最佳方法.有人建议我研究一些静态代码分析工具,比如cpptest来发现可移植性问题.有没有人对我有什么建议可以使用?或者将代码移植到64位的有效方法? 环境:windows,vs2008(我知道VS中的“检测64位可移植性问题”选项,但我需要更好). 例如:一个可以获得这

java – 提取大量的String文字是个好主意吗?

在我正在处理的遗留代码库中,有大量的String文字.其中很多都是重复的.例如,字符串“userID”用于500个地方.可能有一千种这样的文字以重复的方式使用. IntelliJ Idea静态代码分析表明我将它们提取为常量.如果IDE为我自动重构,没有我键入一行代码,我应该去吗? 通常,将许多这样的重复

检查是否使用了c 11功能

所以,现在我的任务是检查整个代码中是否没有任何c 11依赖项和功能.问题是 – 是否有可能检查是否有? 我现在可以想象的可以分为两组: > -std = c 11 -Wc 98-compat解析输出; > Boost.Config围绕所有代码的很多宏,这看起来比第一个更复杂; 在某些静态分析仪中可能有内置功能吗? 我正在

c# – 是否有可以自动清理GlobalSuppressions.cs的工具?

我在我的项目和GlobalSuppressions.cs中使用FxCop和StyleCop来抑制一些规则.有些项目已经发生了很大变化,过去我做过的一些排除不再适用了. GlobalSuppressions.cs尚未清除这些排除项.有没有可以自动清理GlobalSuppressions.cs的工具?解决方法:没有这样的工具可用.独立的FxCop UI工

什么样的代码是JavaScript引擎可能会消失?

(这是一个XY问题,但我决定提出我感兴趣的问题,而不是我目前非常需要的问题.)我知道各种现代JavaScript引擎都有死代码消除器和其他方法来摆脱代码没有任何影响或副作用,但您如何识别和/或撰写此类代码? Wikipedia article on Dead code elimination提供了一个直接无法访问的代码示例

有没有好的PHP库可以将html / php文件转换为对象

我看到很多可以解析html的php库.一个很好的例子是QueryPath模仿Jquery Api. 但是,我正在寻找分析phtml.因此,不仅图书馆擅长分析DOM,而且还善于分析php processing instructions.例如Php文档对象模型或PDOM. 像这样的文件: <?php require 'NameFinder.php'; $title = 'Wave Hello';

CodeSniffer嗅探为PHP代码生成依赖图?

目标: 我有兴趣在PHP程序中生成类依赖关系的DOT Format描述. 理念:在PHP源代码中编写可以检测(并发出DOT记录)以下模式的CodeSniffer“sniff”应该不难: class SomeClassName extends BasicClassName { // SomeClassName refers to BasicClassName ... new OtherClassName();

java – Netbeans告诉我删除null比较,但这会破坏我的代码

我有以下简单的代码来模拟猫狩猎: import java.util.Arrays; import java.util.LinkedList; public class HuntigSaeson { int hunger = 4; int level = 3; LinkedList<String> cats = new LinkedList<String>(Arrays.asList( "1.Ginger",

java – FindBugs:检测Object.hashCode()的调用

如果一个对象没有实现它自己的hashCode()方法,那么它将使用默认实现Object.hashCode()(前提是它们之间没有超类). Object.hashCode()不保证在不同的JVM实例中生成相同的哈希代码.我们在集群环境中遇到了一些问题. 除了我们应用的一些修复,我们希望静态分析检测到这种情况.我们已经

java – 列出所有未报告的异常(包括声明异常的超类的异常)

请考虑以下情形 public class A extends Throwable {} public class B extends A {} public class C { public void f() throws A, B { // Some condition throw new A(); // Some condition throw new B(); } void

可选的PHP类型提示/检查单元测试或静态分析?

PHP类型提示不支持标量变量[1],如int或string 但是,我们发现在连续集成期间注释函数中的类型(int或string)以发现错误仍然非常有用,例如: 目前我用的方法就像 function foo($s) { //assert( is_string($s), 'not a string' ); ... } 在单元测试和开发模式期间,断言将被取

在Java中,为什么@Nullable具有运行时转储

正如标题所说,拥有@Nullable和@Nonull可以帮助你的ide或linter在编译时捕获bug,但为什么它有运行时保留?解决方法:可以想象,运行时保留将允许AOP代理检测传递给@Nonnull-annotated参数的空参数,并抛出异常或以其他方式处理它.您可以争辩说,这是一种处理运行时空检查的更好方法,即在

java – 如果在jUnit测试中发生需求验证,它是否正确

我有这个逻辑来检查java文件内容并验证它是否有注释,该注释说明该文件的作者(不一定是创建者) – 项目的特殊要求. 我使用Junit编写了一个单元测试来检查逻辑,它工作正常. 并且我希望所有.java文件都遵守该标准,并且如果其中至少有一个不符合该标准,则会使构建失败. 到目前为止,我

适用于Java的跨类可扩展静态分析工具?

我正在尝试编写规则来检测带注释的多线程java程序中的一些错误.作为玩具示例,我想检测是否有任何使用@ThreadSafe注释的方法调用没有这样注释的方法,而没有同步.我正在寻找一种可以让我编写这样一个测试的工具. 我看过源分析器,比如CheckStyle和PMD,他们并没有真正的跨类分析功能.

c# – 检查是否处理了所有枚举值

假设有一段代码: enum Directions { North, South, East, West } // (...) switch (dir) { case North : // Do sth case South : // Do sth case East : // Do sth case West : // Do sth } 特别注意缺少default:指令.现在假设,后来有人为该枚

使用Sparse检查C代码

有没有人有Sparse的经验?我似乎无法找到任何文档,所以警告和它产生的错误对我来说都不清楚.我尝试检查邮件列表和手册页,但实际上并没有多少. 例如,我在我的一个文件中使用INT_MAX.即使我#include limits.h,这也会产生错误(未定义的标识符). 是否有任何地方可以解释错误和警告?解决方

如何检测Java字节码中的数组大小(FindBugs)

我想通过查看字节码来了解正在分配的数组的大小,如果在编译时知道该信息,当然. 背景:我想编写一个FindBugs检测器(查看编译的字节码)并报告某些阵列分配的发生.为了滤除误报,我对“小”数组不感兴趣,只对编程时大小不可用或大于可配置阈值的数组感兴趣. 由于FindBugs的源代码没有太