BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Code Analysis Content on InfoQ

  • EQATEC Profiler: An Application Code Profiler for the .NET Compact Framework

    EQATEC has recently released a free code profiler for applications written for the .NET Compact Framework.

  • Cyclomatic Complexity Revisited

    Enerjy studied tens of thousands of source code files and found the optimum Cyclomatic Complexity number is 11, with a 28% defect probability. In fact, you are more likely to encounter a defect if you have lower complexity - is it time to make your methods are more complicated?

  • Interview and Book Excerpt: Model Based Software Testing and Analysis with C#

    Recently published, Model Based Software Testing and Analyis with C#, by Cambridge University Press. Infoq was able to speak with all four authors about their personal views on model based testing and analysis: Jonathan Jacky, Margus Veanes, Colin Campbell and Wolfram Schulte.

  • Using ParseTree for LINQ-style queries and extracting metadata

    Whether it's LISP macros or LINQ's expression trees - access to the AST of code is a powerful tool. We look at how ParseTree allows this in Ruby - and how it's being used in libraries like Ambition, Sequel and the web framework Merb.

  • IntelliJ IDEA's Dependency Structure Matrix Tool Visualizes Architecture

    JetBrains includes a Dependency Structure Matrix (DSM) tool in its recently released version 7.  DSM tools generate a representation of a codebase's dependencies in an appealing martix visualization.  This article looks at how DSM can improve project structure and how IDEA's DSM tool compares with alternatives.

  • Opinion: Programming Languages Shouldn't Enforce Style, Teams Should

    Some believe that, if you write a large enough cookbook, there will always be a simple recipe to solve our programming problems. Taking it to an extreme, some want programming languages to limit developers to safe constructs and clean style. Reg Braithwaite skewers this idea, and challenges teams not to give up accountability for style, asking "Whatever happened to code reviews?"

  • SQL Server Best Practices Analyzer to be Integrated into SQL Server 2008

    Microsoft is looking to change how SQL Server is managed by incorporating the SQL Server Best Practices Analyzer into the core of SQL Server 2008. This new feature, known as the Declarative Management Framework, allows for proactive enforcement of database policies.

  • Mark Mahieu Creates CICE Closure Prototype

    One of the hottest topics in Java in recent years has been around adding full closure support to the Java language. Given the complexity that closures could introduce however, it is difficult to judge their full impact without being able to experiment with prototypes for the various proposals.

  • Interview: Patrick Smacchia discusses NDepend and Code Analysis

    Patrick Smacchia, a Microsoft C# MVP, talks about his product NDepend and how it helps resolving issues in your code. Large code bases can be very complex to manage and the right tools make navigating so much easier.

  • Interview: Bruce Johnson discusses Google Web Toolkit

    Google Web Toolkit (GWT) tech lead Bruce Johnson discusses the design of GWT, how GWT converts Java into JavaScript, community involvement with GWT, new features in GWT 1.4, and the philosophy behind GWT.

  • New Code Analysis Tool FxCop Beta: 200 bug fixes, anonymous methods support

    With over 200 bug fixes and performance improvements, this beta is what many FxCop users have been clamoring for. FXCop checks .NET managed code assemblies for conformance to the Microsoft .NET Framework Design Guidelines. Beyond basic library design and naming convention checks, FxCop is especially valuable in pointing out globalization, interoperability, and security issues.

  • Crap4J Seeks to Use Algorithms to Determine Code Quality

    Despite its humorous name the Crap4J project has a serious goal. The project seeks to define an algorithm using factors such as code complexity and test code coverage to determine the quality of code.

  • Erik Doernenburg on Software Visualization

    Software visualization aims to provide a representation of artifacts at an intermediate level of abstraction, which provides enough information to be useful but is at a high enough level that you can perform broadly scoped analysis. In this interview Erik Doernenburg talks with InfoQ about different software visualization strategies using a combination of free tools and custom development.

  • Debuggers considered Harmful?

    A blog post titled "Debugger Support Considered Harmful" claims that Ruby debugging support is lacking - and that that's a good thing. We look at the various rebuttals and the state of Ruby debuggers.

  • FxCop Rule for Multi-Targeting

    Multi-targeting in Visual Studio 2008 leads to a new set of problems. With .NET 3.5 bringing new features to the core assemblies, care must be taken when targeting .NET 2.0. Otherwise, an application can be compiled successfully but fail to run due to missing methods. One way to handle this is to use Krzysztof Cwalina's Multitargeting rule for FxCop.

BT