如果没有从任何地方调用foo(),我想删除foo().
VS2008项目中的子目录主要用于在磁盘上物理表示项目的命名空间结构.每个文件夹都有一个名为"Namespace Provider"的布尔属性,当设置为True时,ReSharper会验证给定类的物理位置是否与逻辑命名空间位置相对应.
有时我不希望将文件夹用作命名空间提供程序,因此我将此属性设置为False,并且ReSharper不执行检查.
此设置不会保存在项目文件中,因此下次打开解决方案时将恢复为默认值True.这不是什么大不了的事,但ReSharper确实会给你很多关于不正确命名空间的警告.
为什么财产价值没有得到保存?
带VS2008 SP1的ReSharper 4.0
resharper code-analysis namespaces visual-studio-2008 visual-studio
http://klee.llvm.org/是一个程序分析工具,它通过符号执行和约束求解来工作,找到可能导致程序崩溃的输入,并将这些输出作为测试用例输出.这是一个非常令人印象深刻的工程,到目前为止已经产生了一些好的结果,包括在Unix实用程序的开源实现集合中发现了许多错误,这些错误被认为是有史以来最全面测试的软件之一.
我的问题是:它不做什么?
当然,任何这样的工具都有固有的限制,它无法读取用户的想法并猜测输出应该是什么.但抛开原则上是不可能的,大多数项目似乎还没有使用Klee; 当前版本的限制是什么,它还没有处理哪种类型的错误和工作负载?
我定期检查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中模拟引用计数?
分析器反馈严重性级别在文档中进行了解释。但在我看来 silent,none严重性级别似乎都有相同的含义 - “我不希望检查此规则”:
为了none:
完全被压制了。
为了silent:
对用户不可见。但是,诊断结果会报告给 IDE 诊断引擎。
VS2019“向IDE报告”到底有什么效果,在什么场景下应该更silent喜欢none?
Ruby是否有任何沿着pylint的工具来分析错误和简单编码标准的源代码?
如果它可以与cruisecontrolrb集成以实现持续集成,那就太好了.
或者每个人都写了这么好的测试,他们不需要源代码检查器!
有人可以指向我的Java框架或别名分析实现.我查看了asm框架,但它只提供数据流分析和控制流分析.
更新:只是好奇,但有人知道Findbugs是否进行别名分析?
java compiler-construction optimization code-analysis java-bytecode-asm
更新:当代码分析选项"禁止生成代码的结果(仅限管理)"关闭,并且规则集设置为"Microsoft基本设计指南规则"时,会发生这种情况.
在2013-04-26,Microsoft确认这是一个错误,但不会在此版本或下一版本的Visual Studio中修复它.
我们经常使用空委托初始化事件处理程序,以避免检查空值.例如:
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) 对于以下程序:
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 >> E2是E1右移位E2位置。如果E1具有无符号类型或E1具有符号类型和非负值,则结果的值是商E1除以数量2的幂的整数部分E2。
此代码的主要目标是带有大多数C90编译器的嵌入式系统。但是,我对编写符合标准的代码感兴趣。我一直在以C99模式在GCC和Clang上进行测试,因此可以restrict正常工作。
我的问题是:
code-analysis ×10
c# ×2
.net ×1
.net-4.5 ×1
bit-shift ×1
c ×1
coverity ×1
dependencies ×1
diagram ×1
java ×1
klee ×1
llvm ×1
matlab ×1
namespaces ×1
optimization ×1
resharper ×1
ruby ×1
splint ×1
verification ×1