You are here: Home MPC Cores Information Technology Core Software Development Services
Document Actions

Software Development Services

MPC software engineers specialize in software for the creation and dissemination of population databases.

Software development includes programs for...

  • data entry
  • consistency checking
  • automated data cleaning and editing
  • missing data allocation
  • sampling
  • disclosure control
  • database harmonization
  • metadata creation and parsing
  • web-based tools for documentation browsing, extraction, and analysis

By centralizing programming support for research projects, we encourage our staff to share expertise and can leverage innovations developed for one project by applying them across many projects. Our centralized yet flexible model of programming support gives us the freedom to assign individuals from our pool of software developers to particular projects for varying periods. This allows us to maximize the fit between programmer expertise and project needs while maintaining a pool of talented developers.

We've adopted strategies from the commercial world, including short development cycles, agile development methods, automated unit tests, trackable work scoping and systematic code review, and use open source as well as commercial tools and platforms.  Accordingly, we have standardized on Java and GNU C++ as our development languages. We deploy our software in Linux and Solaris environments and use the Apache and Tomcat web servers to make our projects available to the public. We use the MySQL 4.1 relational database engine; the CVS and Subversion source control and version management systems; ANT, make, and CruiseControl for build automation; and RT.  We also use the IntelliJ Java development environment.

As new tools and technologies become available, we re-evaluate our choices, and change when better alternatives become available.


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: