Improving reuse in software development for the life sciences

Nicholas V Iannotti, Purdue University

Abstract

The last several years have seen unprecedented advancements in the application of technology to the life sciences, particularly in the area of data generation. Novel scientific insights are now often driven primarily by software development supporting new multidisciplinary and increasingly multifaceted data analysis. However, despite the availability of tools such as best practice frameworks, the current rate of software development is not able to keep up with the needs of scientists. This bottleneck in software development is largely due to code reuse generally not being applied in practice. This dissertation presents Legwork, a class library of reuse-optimized design pattern implementations for desktop applications written in the C# programming language using Microsoft's .NET Framework. Two case studies were used to evaluate the effect of Legwork on improving code reusability as compared to Microsoft's "best practices" Prism framework. First, a collection of six established web service-based workflows leveraging the National Center for Biotechnology's Entrez database retrieval system. Second, a modular genomics data analysis and visualization application based on the open source ".NET Bio" bioinformatics toolkit. Employing quantitative and qualitative methods, code reusability was evaluated at the class, subsystem, and system levels of software design through comparing established class metrics for code reuse, code control flow, and code composition, respectively. The results from both case studies demonstrate that using Legwork provides a consistent improvement in code reusability over Microsoft's Prism framework across all three levels of program design evaluated.

Degree

Ph.D.

Advisors

Kane, Purdue University.

Subject Area

Information Technology|Computer science

Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server
.

Share

COinS