Blog

Archive for the ‘Scitools Announcements’ Category

Understand powers metrics in recent IEEE Software article

Wednesday, March 10th, 2010

Dr. A. Gunes Koru and Dr. Khaled El Emam’s latest paper in IEEE Software, titled “The Theory of Relative Dependency: Higher Coupling Concentration in Smaller Modules”, turns conventional thoughts on where to test upside down by showing that smaller modules, not larger or more complex modules, can provide more effective testing payback in terms of defects eliminated:

Abstract:

Recent studies have repeatedly found that smaller modules are proportionally more defect-prone. In this article, the authors formulate and test a hypothesis stating that smaller modules are proportionally more coupled, given that dependencies caused by coupling have been consistently associated with defect-proneness. Strong evidence supports this hypothesis. Furthermore, refactoring exacerbates this effect. On the basis of this study’s highly consistent results, the authors state the empirically based theory of relative dependency. That is, in large-scale software systems, smaller modules will be proportionally more dependent compared to larger ones. These findings have two implications for practice. First, we now have an empirically supported mechanism explaining the observations that defect concentration is higher in smaller modules. Practitioners can use this mechanism as evidence while seeking resources and support to revise or amend their organizations’ quality assurance and quality control practices. Second, particularly for the projects that refactor extensively, such as those using agile methods, focusing defect detection activities on smaller modules will increase their efficiency and effectiveness even more.

They used Understand to generate the C++ measurements of many large open source projects.  We donate licenses of Understand to worthy research projects frequently. We’ve e-mailed many times with Dr. Koru to support his efforts and are pleased his work was accepted by IEEE.

The team extensively used the DIT (Depth Inheritance Tree) and CBO (Coupling Between Objects) that Understand provides.

We’ve noted a few ideas for product enhancements from reading their article.

Understand 2.5

Tuesday, March 9th, 2010

image

This weekend we released Understand 2.5 (build 507).  Its main changes include:

  • Instant Search – a new feature which permits instant searching in even the largest bodies of code. Indexing starts after parsing ends. It operates in the background without holding up any other activities. When complete the search box in the upper right instantly answers your queries.
  • Dependency Graphs -  these replace our old dependency graphs with new layout, saving, and cool clustering, save, undo, and redo options. They use a much updated layout engine, which we will roll into our other graphs and use to create new ones in the coming months.
  • Simplified LicensingUnderstand 2.5 includes all languages and all features. The only licensing difference, in terms of price, is the use of floating or specific developer licenses.  Understand 2.5 does use a new license – your old one will not run it permanently. Instead, it will operate for 30 days, giving you time to request a replacement license if you are under maintenance. This is done directly from Understand or via our website.
  • Pricing -  we’ve removed all levels and language variants. Understand 2.5 has it all. This will be our path going forward with new features as well.  The new price is a little higher and the only differentiation is if you need a Single Developer or Floating License.   If you are under maintenance you can update to Understand 2.5 without any cost. Nor will the higher price affect your maintenance going forward. It will remain 18% of your purchase price annually.
  • TrackBack Removed – this will be missed by many users, but we needed to focus on core analysis capabilities.
    Take heart, the engineer who wrote much of it will be taking it open source very soon. Look for an announcement here. To be notified by e-mail send a request to support@scitools.com.
  • Menu Revamping – menus were moved about and standardized to be more in common with most applications. Additionally, edit menu items are now contextual with editor and graph operations. As an application ages, menus become complex and suffer from bloat. We wanted to simplify and reduce clutter.
  • License Manager GUI with Improved Diagnostics – our old license manager does not need to be updated. If it is updated, or for new installations, a new License Manager GUI simplifies operation. Additionally, the server and clients have many more diagnostics embedded to diagnose any licensing manager problems.
  • And many hundreds of bug fixes and minor improvements.

We know change can make winners and losers. We’ve tried to make every user a winner with Understand 2.5. If we failed for you, let us know how, and we will try to sort it out and make you as happy as we can.

Introducing Scitools Labs

Wednesday, February 11th, 2009

Customers tell us frequently that they appreciate our weekly builds. They provide a constant stream of new features and bug fixes to Understand users. We like weekly builds because it means we don’t have to provide patch binaries to customers in dire need of an update and also because we hate the idea of a crash or bug existing in the wild longer than necessary.

But what do we do with new capabilities that we want feedback on, but aren’t quite “production ready”? We faced this with Understand 2.0, which had lots of new features/capabilities.  Frankly, I think we took too long getting feedback and had to redo more than we would have liked once we did get user experiences.

Going foward we have big plans for Understand and the core technology it is based on. And so that we can get rapid feedback, we will be exposing features much earlier than we have in the past using a vehicle called “Scitools Labs”.

Scitools Labs isn’t some effort to make us look bigger than we are. We are still the 20 something person company we’ve always been.  Instead, it is our way of asking… “this is where we are heading, what do you think?”.

Build 471, which will be released tomorrow, includes three Scitools Labs features:

  • Dependence Analysis, Graphing and metrics for files and architectures
  • Stack Analysis specific to Microchip Corporation’s compiler/micro-controllers
  • UnderstandYourCode.Com – a website hosting free tools, online analysis and new web oriented features we are putting into Understand.

I’ll write more specifically about each new Scitools Labs technology in blog postings prefixed with “Scitools Labs:“.

And remember, your input is the whole idea, so don’t be shy – let us know what you think.

 

VHDL support avilable in B470

Monday, February 2nd, 2009

Build 470, released today, introduces beta support for VHDL.  E-mail support@scitools.com for instructions on how to enabble that support.

 

Site Licenses are available

Wednesday, November 5th, 2008

I was just doing technical support for one of our site license customers. It occurred to me that many folks don’t know that is an option. Doing a site license has these benefits:

  • quite low unit pricing
  • easy availability of Understand to when engineers move in and out of projects
  • much easier licensing (no license manager, it just works on your IP ranges or domains)

If your site might be interested just contact Sue or Kevin at sales@scitools.com to learn cost and technical options.

Welcome Understand 2.0

Thursday, July 3rd, 2008

At the beginning of July we released Understand 2.0. It represented the culmination of about 3 years of work where we maintained and improved Understand 1.4 while simultenously developing a brand new version of Understand.

Our goal for 2.0 was to make a tool that is a “must have” if you are maintaining code (and who isn’t??). 

(more…)

New Professional Services Group

Wednesday, July 2nd, 2008

Historically we have always had a very small percentage of our revenue as services. As our customer base has grown (over 4,000 customer sites as of last month), requests for customizations, training, new reports, new metrics, new analysis features have increased to the point where we need to have an organized way of responding.

Towards that end we’ve created a Professional Services group within Scitools. Currently it is a Lead Engineer (Rob Shurtliff – a senior engineer with a number of years experience providing professional services) and three other engineers. We can matrix a variety of other engineers with special skills through the group as well.

So what can the new Scitools PSG do for you?

http://www.scitools.com/products/proservices.php

has the details.  But in short, anything related to improving your benefit from using our tools. That could include training, special scripts, new metrics, adding an assembler or other language, helping you create architectures, a multi-site metrics collection system. Whatever you need that depends on our technology.

Our new Scitools PSG works in these ways:

  •  fixed price deliverable – we agree on a deliverable. You pay when we deliver and you are happy.
  •  on going hourly  – this is for ongoing work; a budget or contract is set, we bill against it.
  •  retainer – the group sells 40, 80 and 200 hour retainers. There are also product bundles that include licenses and service hours. When you have a need they tell you the hours required and after your e-mailed approval they proceed.

If you have something in mind e-mail our support@scitools.com folks.

New Website

Wednesday, July 2nd, 2008

You will notice that our website (http://www.scitools.com) is completely redone.  This coincides with Understand 2.0’s release and with the Engineer, Pro, and Analyst versions of Understand.

I hope you like it. If you notice anything bogus, please e-mail.

Understand 2.0 Product Structure

Wednesday, July 2nd, 2008

Concurrent to Understand 2.0’s movement from beta to release we are also announcing some product structure changes.

2.0 adds a lot of features, but not all those features are of interest to all engineers.  Or if of interest, then some do not need the same level of functionality.  And not all features require the same support (one of our major expenses).  And, frankly, some of those features are worth more to some customers than others (I’m not going to hide that we do hope to make some more money).

To make sure that customers can buy tools closer to their exact needs Understand 2.0 is offered in four different levels. The “lowest”, Understand Engineer offers what 1.4 offered.  So the segmentation mainly involves new features only. The four levels are:

  1. Understand 2.0 Non-Commercial
    This version has all features of the highest Understand level, but only supports C/C++/Java and C#.
    We are still finalizing license agreements for this version, but it is intended for use by students and open source developers.
    If you wish to be notified when it is available, just e-mail sales@scitools.com.  We can supply temp codes to permit use until the final shrinkwrap agreement for this version is finished.  The eventual license will be an annual license.
  2. Understand 2.0 Engineer
    This version supports C/C++/Java and C#.  Understand Engineer provides similar capabilities to Understand 1.4 including the excellent navigation, graphics, maintenance editor, reporting and project metrics. 2.0 adds combined language analysis, basic change analysis, single scenario maintenance estimations and metrics charts/graphs.  Our standard for this version was that it be better than 1.4 but cost the same. One key difference, Understand Engineer will not be offered with a floating license. For that, get Pro or Analyst.
  3. Understand 2.0 Pro
    This version comes in two language variants – L1 (C/C++/Java/FORTRAN) and L2 (L1+Ada, PL/M, Jovial). It provides all the capabilities of Understand Engineer, but offers advanced snapshot based change analysis, a full set of metrics, broader metrics charting capabilities, and multi-scenario maintenance estimation.  We envision Understand Pro as what a team would typically outfit an engineer with if they are trying to create a rigourous programming environment.
  4. Understand 2.0 Analyst
    This version also comes in L1 and L2 language variants. It provides Pro capabilities, plus advanced multi-snapshot change analysis and change metrics, detailed multi-time metrics charting, and multi-scenario/multi-plan maintenance estimation. We’ve also placed API development in Analyst, although scripts or API programs built with Analyst can be used by Pro or Engineer versions of Understand 2.0 .  We envision Analyst as what an IVV, QA, Test team members would use, and also as something a team operating in a rigorous environment would have a license or two available as team members rolled through IVV/metrics analysis/change analysis roles. 

THe exact differences can best be seen by running 2.0 and alternating Run Levels via the Help menu.  Or you can check out the feature comparison matrix on our revised website.

What about 1.4 licenses?   Understand for C++, Java, FORTRAN map to Understand 2.0 Pro with their respective languages and API usage enabled.  Understand for Ada, JOVIAL and PL/M licenses map to Understand 2.0 Analyst licenses with their respective languages enabled.  Combined language analysis is avialable but will consume a legacy license for each language. No new license is needed, your existing ones will work.   If you want to have your licenses upgraded to L1 or L2 language packs then our sales@scitools.com folks can help with quotations for that.

What about TrackBack?   TrackBack is a cool product that helps us every day. We are fully committed to TrackBack and plan near term improvements for it.  But it will be part of Understand 2.0 going forward.  We just think it is something that every engineer should have.  It will be in each Understand 2.0 kit.  Customers who have TrackBack but not Understand will be sent a download link for updating separate from Understand.

I’ll caveat that the features between the versions can change, and probably will, once we get feedback from customers and experience selling this way. 

Update Understand 2.0 Frequently

Thursday, June 19th, 2008

If you are using Understand 2.0 I encourage you to update with each release. It is a young version and has a number of bug fixes and improvements introduced each week.

In particular, if you are a Unix user you will want to at least update to B448 released today. It has a fix in it for the problem of lost application settings (fonts, font sizes, window locations, etc…) on systems that have daily or more frequent clearing of their /tmp directories.

Thanks,

Ken N.