A Case Study in Software Modernization

This week, I am going to write about a very successful example of software modernization, performed by my colleagues Anastasia Alexov, John Good and Iffat Khan at IPAC. They rewrote a unique legacy application for combining far-infrared astronomy data, Scanpi.

Written in 1984, Scanpi remains a uniquely powerful tool. It performs weighted averages of raw 1-D scans measured by the Infrared Astronomy Satellite (IRAS). The aging code became impossible to maintain. Written in FORTRAN66, it became an unwieldy layering of programs, scripts and patches, and so it was difficult to fix bugs, add features, and keep up with platform, hardware and software upgrades. In 2007, it became orphaned on Solaris 2.8 when it would not compile on Solaris 2.9. Moreover, the original developer was retiring.

IRAS scan tracks superposed on a galaxy image. This is one of the outputs from Scanpi.

So Scanpi was rewritten form scratch. In its new incarnation, Scanpi re-uses modules written for IRSA (see last week’s post) to perform tasks such as spatial searches, filtering of data, and displaying results, and contains a toolbox of new components to perform the tasks needed in coadding scans: finding scans, filtering them, coregistering them, coadding and fitting, and extracting sources from them. A benefit to astronomers is that Scanpi now provides more transparency into each step of the processing. The toolbox contains 20 KLOC, compared with 102 KLOC for the original application. The effort took 1.25 FTE, compared with 3.5 FTE for maintenance over 5 years. The toolbox has run flawlessly in operations for the past 2 years.

This entry was posted in Astronomy, Cloud computing, software maintenance, software sustainability, Uncategorized and tagged , , , , , . Bookmark the permalink.

One Response to A Case Study in Software Modernization

  1. Pingback: Software Sustainability Workshop: Stories and Strategies | Astronomy Computing Today

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s