static-analysis相关内容
考虑这种不可变的类型: public class Settings { public string Path { get; private set; } [ContractInvariantMethod] private void ObjectInvariants() { Contract.Invariant(Path != null);
..
大多数编程语言中方法的复杂性可以使用静态源代码分析器以循环复杂性进行度量。是否有类似的度量标准来衡量SQL查询的复杂性? 它很简单,可以衡量查询返回的时间,但是如果我只是想能够量化查询的复杂程度? [Edit / Note] 虽然获得执行计划很有用,但这不一定是我要做的在这种情况下试图识别。我不是在寻找服务器执行查询的难易程度,而是在寻找一种指标,该指标可以确定开发人员编写查询的难易
..
我有一个大型的源代码仓库,分布在多个项目中。我想生成一份有关源代码运行状况的报告,确定需要解决的问题区域。 特别是,我想用高度复杂的循环,确定重复,并可能进行类似棉绒的静态分析以发现可疑(因而可能是错误的)构造。 我应该如何构造这样的构造 解决方案 要测量圈复杂度,在 traceback.org 。该页面还很好地概述了如何解释结果。 +1表示圆筒。它非常适合验证是否遵守编
..
我正在尝试编写例外安全代码。我发现使用C ++ 11的noexcept说明符使该目标更容易实现。 当然,一般的想法是,函数应标记为'只有在它调用的所有函数也都标记为'noexcept'时,才可以使用noexcept。 问题是在大型代码库中,来自不同补丁的补丁人们经常合并在一起,很难确保保持这种一致性。 因此,我希望能够进行静态分析,列出所有地点标记为“ nothrow”的函数会调
..
我在项目中有一个无法控制的依赖项。 我正在使用cmake的clang-tidy集成来分析我的代码,这种依赖关系引发了很多警告。有没有办法告诉cmake不要在特定文件上运行clang-tidy? 我试图将文件添加到 -line-filter 选项的clang-tidy,但这不起作用: set_target_properties(目标属性 CXX_CLANG_TIDY“ $ {cla
..
我正在为iOS项目寻找一些方便的代码分析工具。进行静态分析,动态分析并生成调用图。到目前为止,在我的调查中,我发现 Dtrace如此处和此处 如这里 Doxygen如此处 是否还有其他未解决的问题我想念的案例可用的源工具?是否有人在Objective-c iOS项目中成功尝试了以上任何一种方法? 谢谢 解决方案 您是否对内置 LLVM项目的主要作者和Cl
..
我正在尝试生成调用图,通过该图可以找到击中特定函数的所有可能执行路径(因此,我不必手动找出所有路径,因为有许多路径可以导致此功能)。例如: 路径1:A-> B-> C-> D 路径2:A-> B-> X-> Y-> D 路径3:A-> G-> M-> N-> ○ P-> - D ... path n:... 我尝试过Codeviz和Doxygen在某种程度上都显
..
我想直观地看到类,函数和变量/属性,依赖项,例如 NDepend ,但适用于ActionScript 2或AS3代码。 是否有任何程序或想法? 使用 doxygen ?
..
我试图了解如何为专有语言构建AST。我需要构建一个AST,以便可以输入自己的规则和准则以检查源代码中可能存在的错误。 如何构建AST?是否有任何书籍或文章可以帮助我入门。 请注意,我来自非CS领域。 谢谢 解决方案 这是一个很大的问题。我确实感到您很痛苦,因为我也从非CS领域解决了这个问题。 您可能会在研究中看到很多东西是扩展Backus-Naur形式(EBNF)。
..
在使用侦听器遍历令牌时,我想知道如何使用ParserRuleContext窥视令牌流中的下一个令牌或接下来的几个令牌? 在下面的代码中,我试图窥视当前令牌之后的所有令牌,直到EOF: @Override public void enterSemicolon(JavaParser.SemicolonContext ctx){ 令牌令牌,分号= ctx.getStart();
..
为第一个参数提供/bin/true时,以下shell脚本执行良好,但在执行过程中可能会因语法错误而失败! #!/bin/sh if $1 ; then exit; fi /tmp/asdf
..
考虑以下代码: #include void badidea(int**); int main(void) { int* p; badidea(&p); printf("%d\n", *p); /* undefined behavior happens here: p points to x from badidea, w
..
我正在寻找用于Python,Ruby,Sql,Cobol,Perl,PL/SQL,SQL的静态分析工具,以查找错误和检查样式.我正在寻找计算行数,在开发过程中发现错误,并强制执行编码标准. 解决方案 Perl具有
..
是否有用于PHP源文件的静态分析工具?二进制文件本身可以检查语法错误,但是我正在寻找功能更多的东西,例如: 未使用的变量分配 未先初始化就分配给它们的数组 以及可能的代码样式警告 ... 解决方案 从命令行以lint模式运行php以验证语法,而无需执行: php -l FILENAME 高级静态分析器包括: php-sat -需要 PHP_Depend PH
..
从1.80版开始,Cppcheck告诉我 表达式'msg [ipos ++] = checksum(& msg [1],ipos-1)'取决于副作用的评估顺序 在此代码序列中(简体,data是变量) BYTE msg[MAX_MSG_SIZE]; // msg can be smaller, depending on data encoded int ipos = 0; msg
..
是否有用于ObjectiveC的代码整理工具? 解决方案 看看 LLVM/Clang静态分析器是一个独立的工具,可以发现C和Objective-C程序中的错误,并且还处于开发初期. 基于 clang 的静态分析器. Clang项目的目标是为LLVM编译器创建一个新的C,C ++,Objective C和Objective C ++前端. 编辑 Clang现在已集成到Xco
..
是否有用于识别php/mysql的sql注入的静态分析工具. 在php脚本上运行的工具将分析sql语句,并查找该sql语句是否存在任何可能的sql注入可能性. 解决方案 我发现的结果令人失望. RATS (商标为Fortify)有一些PHP支持,但无法检测到SQL注入.显然,惠普专家专注于.NET和Java应用程序. OWASP SWAAT项目对我来说似乎已经死了.
..
我正在尝试在Rails中绘制图形,例如在给定日期范围内每天的平均销售量 说,我有一个products_sold模型,该模型具有"sales_price"浮动属性.但是,如果特定日期没有销售量(例如,model/db中没有销售量),我只想返回0. 在MySQL/Rails中完成此操作的最佳方法是什么?我知道我可以做这样的事情: (此SQL查询可能是完全错误的方式来获取我想要的东西)
..
我知道周围有很多针对C#或.Net的静态分析工具.有关可用工具的详细列表,请参见此问题.我过去曾经使用过其中的一些工具,它们有很好的发现问题的方法. 我目前正在寻找一种自动执行我们团队中某些锁定规则的方法.例如,我想执行以下规则: “每个使用成员 foo 的公共方法都必须获得对 bar 的锁定" 或者 “每次对 foobar 事件的调用都必须在对 bar 的锁定之外" 如果可行,则编
..
在存在违规情况的现有代码库上执行FxCop/静态分析时,会使用哪些策略?如何最有效地减少静态分析违规? 解决方案 首先要充分利用[SuppressMessage]属性.至少在开始时.通过该属性将计数计数为0后,您便应遵循以下规则:新签入操作不得引入FxCop违规行为. Visual Studio 2008具有出色的代码分析功能,可让您确保代码分析可以在每个版本上运行,并且可以将警告视
..