For organizations more focused on meeting deadlines and ensuring proper functionality, software security is often an afterthought during the development process. Nonetheless, development can be one of the best places to improve an organization's overall security, especially considering that application vulnerabilities were named as the third greatest security threat facing organizations each of the last two years in an annual InformationWeek security survey.

IMSL vs. open source: free doesn’t always mean better

on Nov 26, 14 • by Roy Sarkar • with No Comments

One of our sales engineers explains how proper input verification and error handling for commercial mathematical algorithms can lead to better results over open source alternatives...

Home » Analytics and Data Mining » IMSL vs. open source: free doesn’t always mean better

[Here is a guest post from Jennifer Locke, sales engineer at Rogue Wave Software]

Recently, one of my account executives asked: “Why does IMSL go to such lengths to add error handling?”

Well, because our customers can’t afford even just one wrong answer.

I also get asked: “Why can’t I just use open source algorithms? Don’t they produce the same results?”

Simply put, open source algorithms are not always the best answer. IMSL Numerical Libraries offer more error handling than open source libraries (and sometimes, they offer none!). I hear stories of using open source libraries where research or business decisions are based on results from algorithms that are later found to be incorrect. Or the problems were ill-conditioned for the algorithm selected, yet the algorithm provided an answer.

IMSL has been around for over 40 years, so our customers trust the results. We first verify proper input to set up the problem and, if something looks wrong, tell them why the input is incorrect. Second, we inform them during execution whether the algorithm is making good progress or not, we check for any ill-conditioning that cannot be determined strictly from input parameters, and we check for numerical instability that might cause the execution of the algorithm to crash unexpectedly. The resulting error message provides a nice exit from the algorithm and provides suggestions of what to do next. IMSL error messages can be caught, allowing the calling program to determine next steps based on the error caught from IMSL. Open source algorithms don’t offer this level of security.

Without proper error checking in IMSL, the algorithms might provide incorrect results or solve ill-conditioned problems and provide results that are incorrect. Worse case, without proper error checking, an algorithm could cause the application to crash unexpectedly.

Another critical feature about the IMSL algorithms is their optional arguments, which allow a great deal of flexibility, allowing the user to have control over how the algorithm behaves.

In IMSL, computations are not affected by underflow if the system replaces an underflow with the value zero. Therefore, normally system error messages indicating underflow can be ignored. IMSL also avoids overflow. A program that produces system error messages indicating overflow should be examined for programming errors such as incorrect input data, mismatch of argument types, or improper dimensions. In many cases, to help the developer out, the documentation for a function points out common pitfalls that can lead to failure of the algorithm.

When you want to know exactly what’s going on – and need to know whether the algorithm is working correctly – ditch the open source algorithms and use IMSL Numerical Libraries.

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top