标签: code-analysis

18
推荐指数
3
解决办法
8783
查看次数

为什么"Namespace Provider"属性不会保存在给定子目录的项目文件中?

VS2008项目中的子目录主要用于在磁盘上物理表示项目的命名空间结构.每个文件夹都有一个名为"Namespace Provider"的布尔属性,当设置为True时,ReSharper会验证给定类的物理位置是否与逻辑命名空间位置相对应.

有时我不希望将文件夹用作命名空间提供程序,因此我将此属性设置为False,并且ReSharper不执行检查.

问题

此设置不会保存在项目文件中,因此下次打开解决方案时将恢复为默认值True.这不是什么大不了的事,但ReSharper确实会给你很多关于不正确命名空间的警告.

为什么财产价值没有得到保存?

版本...

带VS2008 SP1的ReSharper 4.0

resharper code-analysis namespaces visual-studio-2008 visual-studio

18
推荐指数
2
解决办法
4817
查看次数

在MATLAB中自动生成函数调用图

有人知道可以用来在MATLAB中自动构建函数调用的工具吗?

例如,对于给定的函数,该工具将递归地进行函数调用并构建2D图,其中节点将表示函数,并且有向边将调用函数与被调用函数连接.

理想情况下,该工具可以允许用户打开和关闭过滤器,仅包括用户定义的函数,限制递归的深度等.

我相信Doxygen为更传统的OOP语言提供了一些类似的功能,但我想知道MATLAB是否已存在类似的东西.

谢谢!

diagram matlab dependencies code-analysis

18
推荐指数
1
解决办法
9656
查看次数

Klee的限制(LLVM程序分析工具)

http://klee.llvm.org/是一个程序分析工具,它通过符号执行和约束求解来工作,找到可能导致程序崩溃的输入,并将这些输出作为测试用例输出.这是一个非常令人印象深刻的工程,到目前为止已经产生了一些好的结果,包括在Unix实用程序的开源实现集合中发现了许多错误,这些错误被认为是有史以来最全面测试的软件之一.

我的问题是:它不做什么?

当然,任何这样的工具都有固有的限制,它无法读取用户的想法并猜测输出应该是什么.但抛开原则上是不可能的,大多数项目似乎还没有使用Klee; 当前版本的限制是什么,它还没有处理哪种类型的错误和工作负载?

verification code-analysis llvm klee

18
推荐指数
2
解决办法
7564
查看次数

编写Coverity模型:struct中的指针始终指向受污染的数据

我定期检查lwIP,一个带Coverity的免费TCP/IP堆栈.

作为网络堆栈,我们有来自网络的不受信任的数据,存储在struct pbuf中(为清楚起见,省略了一些成员):

struct pbuf {
  void *payload;
  u16_t len;
  u16_t ref;
};
Run Code Online (Sandbox Code Playgroud)

我的问题是:

1)我想模拟struct pbuf的"void*payload"始终指向受污染的数据,每次访问它都必须是不可信的.我怎样才能做到这一点?

2)我们使用refcounting(u16_t ref).有没有办法在Coverity中模拟引用计数?

code-analysis coverity

18
推荐指数
0
解决办法
288
查看次数

何时使用“静默”代码分析严重性?

分析器反馈严重性级别在文档中进行了解释。但在我看来 silentnone严重性级别似乎都有相同的含义 - “我不希望检查此规则”:

为了none

完全被压制了。

为了silent

对用户不可见。但是,诊断结果会报告给 IDE 诊断引擎。

VS2019“向IDE报告”到底有什么效果,在什么场景下应该更silent喜欢none

code-analysis visual-studio roslyn-code-analysis

18
推荐指数
3
解决办法
2741
查看次数

Ruby源代码分析器(类似于pylint)

Ruby是否有任何沿着pylint的工具来分析错误和简单编码标准的源代码?

如果它可以与cruisecontrolrb集成以实现持续集成,那就太好了.

或者每个人都写了这么好的测试,他们不需要源代码检查器!

ruby code-analysis static-analysis

17
推荐指数
3
解决办法
9342
查看次数

Java中的别名分析

有人可以指向我的Java框架或别名分析实现.我查看了asm框架,但它只提供数据流分析和控制流分析.

更新:只是好奇,但有人知道Findbugs是否进行别名分析?

java compiler-construction optimization code-analysis java-bytecode-asm

17
推荐指数
3
解决办法
1512
查看次数

为什么空委托事件处理程序会导致CA1061警告?

更新:当代码分析选项"禁止生成代码的结果(仅限管理)"关闭,并且规则集设置为"Microsoft基本设计指南规则"时,会发生这种情况.

在2013-04-26,Microsoft确认这是一个错误,但不会在此版本或下一版本的Visual Studio中修复它.

链接到MS Connect项目

我们经常使用空委托初始化事件处理程序,以避免检查空值.例如:

public EventHandler SomeEvent = delegate {};
Run Code Online (Sandbox Code Playgroud)

但是,自从开始在Visual Studio 2012(RTM)中编译我们的一些代码以来,我注意到派生类中的很多事件现在都在触发CA1601:不要在Visual Studio 2012的代码分析中隐藏基类方法警告.

这是一个会触发警告的示例:

using System;
using System.ComponentModel;

[assembly: CLSCompliant( true )]

namespace TestLibrary1
{
    public abstract class Class1
    {
        public event PropertyChangedEventHandler PropertyChanged = delegate {};
    }

    public class Class2 : Class1
    {
        // this will cause a CA1061 warning
        public event EventHandler SelectionCancelled = delegate { };
    }

    public class Class3 : Class1
    {
        // this will not cause …
Run Code Online (Sandbox Code Playgroud)

c# code-analysis .net-4.5 visual-studio-2012

17
推荐指数
1
解决办法
963
查看次数

C移位表达式是否具有无符号类型?为什么夹板会警告右移?

对于以下程序:

int main(void)
{
    int value = 2;
    int result = value >> 1U;
    return result;
}
Run Code Online (Sandbox Code Playgroud)

... Splint 3.1.2给出警告:

splint_test.c: (in function main)
splint_test.c:4:18: Variable result initialized to type unsigned int, expects
                       int: value >> 1U
  To ignore signs in type comparisons use +ignoresigns
Run Code Online (Sandbox Code Playgroud)

Splint似乎声称有符号整数右移的表达式具有无符号整数的类型。但是,我可以在ANSI C90标准中找到的全部是:

结果E1 >> E2E1右移位E2位置。如果E1具有无符号类型或E1具有符号类型和非负值,则结果的值是商E1除以数量2的幂的整数部分E2

此代码的主要目标是带有大多数C90编译器的嵌入式系统。但是,我对编写符合标准的代码感兴趣。我一直在以C99模式在GCC和Clang上进行测试,因此可以restrict正常工作。

我的问题是:

  1. C标准是否对移位结果的类型提出任何要求?
  2. 做编译器吗?
  3. 如果不是,为什么夹板会发出此警告?

c code-analysis splint bit-shift language-lawyer

17
推荐指数
2
解决办法
731
查看次数