|Institute for Software Research
School of Computer Science
Carnegie Mellon University
Office: TCS Hall
My research focuses on the intersection of software engineering and human computer interaction, particularly within the context of improving the human ability to build useful software.
Programming languages and associated tooling are best viewed as products with a responsibility to help humans produce reliable, secure, and predictable software. Imagine the last 20 years of software security without memory safety errors. Even a “small” improvement in one area is impactful when applied across thousands of projects and developers.
I work with a talented global group of researches on Penrose, which has its home at Carnegie Mellon University.
A subset of past projects includes:
- Automated consignment management system. Ingested a diverse set of material movement signals from across North America to bill and plan fillups and returns according to location-specific contract terms. This system utilized an accessible and lightweight rules engine allowing users to easily update contract terms to allow timely, accurate, and automated processing of physical and fiscal transactions.
- Configure, Price, and Quote (CPQ) systems for complex telecom products, including a highly-configurable product pricing engine with a novel user interface that allowed pricing analysts to speak to the system in terms they were used to.
- Several hundred large-scale global enterprise system integrations among Fortune 500 customers, manufacturers, vendors, 3PLs, financial institutions, and service providers using a combination of off-the-shelf and custom-developed software, whichever was most appropriate. – Multiple full-cycle global SAP implementations across multiple modules and industries.
- A lightweight flexible content management system used by a variety of small companies and non-profits in the early 2000s.
- McList, a mailing list processor reviewed favorably by c’t magazine in 1997 and used by the Ontario Ministry of Housing as well as other global clients for many years.
- stree, which was ranked #8 best online utility by a Japanese-language IDG publication in 1999
- McD-CBV, a popular call-back verifier for AdeptXBBS
- Mail Center Professional, a lightweight SMTP and POP3 mail server
My professional background encompasses twenty years building and managing complex business-critical software systems. This experience includes coding parts of large systems, architecting and designing business-critical systems, designing processes, managing software projects, integrating applications and supply chains, and managing geographically distributed teams including software engineers. It includes less glamorous aspects of delivering software solutions: datacenter infrastructure, compute, storage, power, environmental, disaster recovery, security, identity management, networks, load balancers, user support, and telecom.
Papers and Publications
- Matthew C. Davis and Mark Hills. “Escaping the Clone Zone: Java Runtime-Managed Snapshots Current and Future Work.” Southeastern Regional Programming Language Seminar. Paper & Talk. 2019.
- Matthew C. Davis. “Applying Mutable Object Snapshots to a High-level Object-Oriented Language.” M.Sc. Thesis. 2018.
- Matthew C. Davis. “A Student’s Perspective of a Capstone Course” (Software Engineering Team Dynamics). 14th Annual CCSC Regional Conference. 2000.
Between CMU and ECU, I spent some time at North Carolina State University as a non-degree-seeking student. My GPA at NCSU was 4.0.
My undergraduate work was completed at Lenoir-Rhyne University’s Computer Science Department.