Title: CodeBook:  A System for Numerical Software Maintenance, Versining, & Distribution

Speaker: Marc Abrams, Harmonia

Date/Time: Friday, August 7, 2009 at 2:30 – 3:30 pm     

Location: CSRI Building, Room 90 (Sandia NM)

Brief Abstract: We discuss an on-going project called CodeBook, funded by DoE under a Small Business Innovative Research topic, “Numerical Software Maintenance, Versioning, & Distribution.” Our goal is to dramatically improve the ability of anyone in the computational community to discover which software packages to use, find help from other people with similar interests on using specific packages, interact with software developers, and learn the tricks and pitfalls of using the latest supercomputer. CodeBook is a web-based system that combines concepts of semantic tagging, ontologies, Wiki, and social networking to extract knowledge from emails, digests, user group postings, source code comments, and documents. Here are some examples of use cases where CodeBook helps:

  • A computational chemist who just arrived at one of the National Labs can use CodeBook to find what software packages and tools to use for their domain. When the chemist encounters a problem, he/she can access CodeBook’s knowledge base of known documentation, emails, newsgroup postings, source code comments, and profiles of other users and developers.
  • A software developer working as part of a team of scientists on a new simulation or numerical algorithm can focus on the science of a problem rather than the mechanics of setting up a new software code project. That is because CodeBook provides hosting of projects along with version management, but tracking, build and testing automation, and other software utilities. Furthermore users of the software system can keep their copy of the code in synch with the developer through CodeBook, without installing any software on their machines.
  • A scientist may wish to reproduce the results of another scientist. In today’s world it is unlikely that the original scientist has complete information on the versions of software they used, the version of input files they used, and so on. CodeBook, in contrast, provides a way to archive entire experiments to retain this information for reference months or years later.
  • A user of a software package on a certain supercomputer discovers that the package breaks on their problem size; the user can record this fact in CodeBook so that future users like him/her will discover it before investing as much time diagnosing the problem.
  • A package user is allocated time on a new supercomputer. CodeBook can help navigate human networks of experts to find someone who most closely matches the user’s planned use to learn the right compiler switches to use.
  • After a lot of web searching a user finally finds a newsgroup posting to solve a problem encountered with a software package on a certain operating system. The user can use CodeBook to tag the article semantically to make it easier for others with the same problem to discover this posting.
  • When using a package a user encounters an error message that is not documented. The user can use CodeBook with its semantic tagging of source code to locate the source related to the message.
  • A user can post a bug report for one of a variety of software packages without knowing the specific bug tracking system and user interface that package’s development team uses to receive issue reports.

The benefits are to reduce the time it takes for users of computational software to answer questions and reduce the effort needed by development teams to initially set up a new code project and then help users successfully use their packages.

Marc Abrams (Principal Investigator) - Dr. Abrams serves as the Chief Technical Officer and Principal Investigator of this project. Prior to co-founding Harmonia, he was an Associate Professor of Computer Science at Virginia Tech, and built several major software systems at Virginia Tech and at Harmonia. The largest system is LiquidApps®, a software lifecycle acceleration tools suite, which facilitates the construction of enterprise grade software systems. He has experience supporting a user base that stretches over multiple Fortune 500 and Global 500 companies, including Northrop Grumman, Lockheed Martin, and Raytheon. He is also applying Web 2.0 concepts of collaboration and human referral to software development, along with Web 3.0 concepts of ontologies and semantic analysis of content to produce pinpointing of information through semantic queries. All of these principals underlie Codebook. He oversees Harmonia’s team of 23 technical staff members that are developing new software technologies. Dr. Abrams has been the Principal Investigator for almost $20M in research and development projects with DOE, MDA, NAVAIR, NAVSEA, NSF, ONR, OSD, IBM, Raytheon, and SAIC. Earlier he was a Visiting Scientist at the IBM Zurich Research Laboratory, and a post-doc in Computer Science at Stanford University. He received his Ph.D. at the University of Maryland in College Park in Computer Science.

CSRI POC: Michael Parks, (505) 845-0512



©2005 Sandia Corporation | Privacy and Security | Maintained by Bernadette Watts and Deanna Ceballos