Last week Compuware made two new and very significant announcements with respect to its DevPartner Studio product that push the boundaries of what one can expect from an IDE.
First, and for those of you that don't know, DevPartner Studio is a developer productivity tool designed to work in conjunction with various versions of Visual Studio and Visual Studio .NET (and there is also a Java version), in such a fashion that you can't tell which Studio product you are using. It has been designed specifically to detect errors and problems and to help the developer to correct these. Over and beyond this, the aim of the DevPartner Studio environment is to find these issues as early as possible within the development lifecycle, when they are easiest and cheapest to fix.
The new releases are Fault Simulator and Security Checker, both of which should be generally available around the end of this year or early next, and each of which does more or less what its name suggests. However, since I am not aware of anyone else that does fault simulation like Compuware does (if at all) and as the Security Checker also has features that are not generally available elsewhere, it is worth discussing these in a little more detail.
As far as Fault Simulator is concerned, this allows you to create a fault of your choice (memory, heap, disk I/O, .NET framework, or whatever) at any desired location and then test the environment to see whether the error is handled properly. If that turns out not to be the case, then you can step through the relevant code using your debugger in order to rectify the fault handling procedure.
The important point here is that error handling is typically a reactive issue: you wait for a fault to occur and then work out how to fix it. With Fault Simulator you can pre-emptively test for error handling and, because you can detect problems earlier in the development lifecycle, it costs less to fix them. Notable features include the support for both managed and unmanaged code, the ability to trap messages passed between the application and the operating system, and a facility to incorporate fault simulation into testing routines such as regression testing.
On the surface, Security Checker, which Compuware describes as a "vulnerability assessment scanner" might not appear so innovative. However, it supports three types of security check: integrity checking, compile-time checking (also known as static analysis) and run-time checking, each of which can be run against part or all of an application, as required. It is run-time checking that Compuware reckons to be unique, allowing you to determine potential dangers such as weak passwords, SQL text commands, write access allowed to a system directory, and so on, all of which could provide a potential hacker with an opportunity to attack the system.
The results of each check are presented graphically according to the severity of the danger (in a pie chart) and the type of problem (in a bar chart). You can then drill down to the individual problems that have been identified and, ultimately, to the relevant source code. Extensive help and repair suggestions are provided, which are displayed automatically as you drill further. At present, Security Checker is only available for ASP .NET environments, because that is where Compuware sees the largest threat, but no doubt it will expand to other environments in due course.
To conclude: one is often inclined to wonder if IDEs have gone as far as they can go in terms of additional functionality that can be plugged into them. These new DevPartner Studio releases suggest that we have not reached the end of that road yet.
Copyright © 2004, IT-Analysis.com