Software Engineering School of Computer Science Carnegie Mellon University Pittsburgh, PA, USA Office: TCS Hall |
Research
I am a Software Engineering PhD student at Carnegie Mellon’s School of Computer Science co-advised by Dr. Brad A. Myers and Dr. Joshua Sunshine. I reside in the Software and Societal Systems Department.
My research focuses on the intersection of software engineering and human computer interaction, particularly within the context of improving the human ability to build and test 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 may be impactful when applied across thousands of projects and developers.
Bio
My industry background encompasses more than twenty years building and managing complex critical software systems. This experience includes coding, architecting, design, testing, QA, process management, managing projects, integrating applications and supply chains, and managing geographically distributed teams including software engineers. My experience includes the entire stack of delivering software solutions: datacenter infrastructure, compute, storage, power, environmental, disaster recovery, security, identity management, vendor management, procurement, LAN, WAN, MAN, delivery controllers, user support, and telecom.
Papers and Publications
- Matthew C. Davis, Sangheon Choi, Sam Estep, Brad A. Myers, and Joshua Sunshine. “NaNofuzz: A Usable Tool for Automatic Test Generation.” In Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, 2023.
- Matthew C. Davis, Emad Aghayi, Thomas D. LaToza, Xiaoyin Wang, Brad A. Myers, and Joshua Sunshine. “What’s (not) Working in Programmer User Studies?” ACM Transactions on Software Engineering and Methodology. September, 2023.
- 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.
Teaching
- 17-214/514: Principles of Software Construction. Spring, 2023. Head TA. Seven sections, >100 students (mix of graduate and undergraduate), two instructors, and a team of 13 TAs.
Funding Awards
- 2023 CyLab Seed Funding Award: Usable Test Generation for Security. I wrote this funding proposal and am a Co-PI.
Projects
Present projects in which I am involved:
- NaNofuzz is an automatic test suite generation tool for Typescript that is designed with a developer’s attention and usability in mind. NaNofuzz is currently available in the VS Code Marketplace as an experimental preview. We have a forthcoming paper with some surprising findings about the impact of usability and human factors on developer productivity.
- PURSE is a multi-university collaboration to identify and lower barriers researchers encounter when planning and running programmer user studies. The goal is to advance the field of software engineering by increasing the amount and quality of direct evidence available to software engineering researchers. We have a forthcoming article in ToSEM that shares many of our findings.
- Penrose uses domain-specific languages and complex mathematics to generate beautiful diagrams. Its home is at Carnegie Mellon University, and I primarily work on the renderer and Style debugger. Try it out!
- Iris Moon Rover is a student-run space robotics project that plans to put a robotic rover on the moon this winter. We have a planned launch date of December 24, 2023 on ULA’s Vulcan rocket and Astrobotic’s Peregrine lander. I serve as a telemetry and systems operator for the rover, run the project website, and operate part of the project’s social media presence.
A subset of past projects includes:
- An experimental snapshot memory facility within the HotSpot JVM.
- Security remediation suggestion system ingesting feeds from multiple sensors and data sources to direct action amd focus the attention of diverse software and infrastructure teams.
- 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.
- 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.
- Many (usually unnamed) infrastructure automation tools and projects to reduce human toil and human error.
- Several hundred large-scale global enterprise software system integrations among a complex web of 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 various modules and industries inclusive of integrations.
- EAMON, a web-based and extensible re-imagination of Don Brown’s classic Apple ][ RPG that included a graphical user interface for building dungeons, traps, monsters, and so on. Several original Apple ][ EAMON modules were ported to this system.
- SiteDrive, 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 multi-protocol email server.
- And so on…
Education
I am a Software Engineering PhD student at Carnegie Mellon University’s School of Computer Science. My GPA at CMU is 4.0, and I am co-advised by Dr. Brad A. Myers and Dr. Joshua Sunshine.
Prior to CMU, I completed my Masters of Science in Software Engineering at East Carolina University’s Department of Computer Science under the supervision of Dr. Mark Hills, who is now at Appalacian State University. My GPA at ECU was 4.0.
Between CMU and ECU, I spent some time at North Carolina State University as a non-degree-seeking student in the Mathematics Department. My GPA at NCSU was 4.0.
My undergraduate work was completed in Lenoir-Rhyne University’s Computer Science Department under the advisement of Richard Hull.