My research focuses on software design quality. I study the structure of software to find ways to quantify important quality attributes, for example cohesion, coupling, and reuse. I develop approaches for re-structuring or reengineering software to improve the maintainablity and reusability of software systems. I have also studied the connection between specifications and testing using executable specifications as testing oracles to monitor correctness at runtime. I used fault injection to test error recovery code, and study the relationship between structural test coverage and reliability. This work included the study of procedural software, and, especially now, the structure of object-oriented software systems.
My current work on software testing focuses on two problems: (1) strategies for testing "non-testable programs," which are programs without test oracles, and (2) automated program repair (APR) techniques, which are based on sets of test cases and fault localization techniques. Solutions to both problems make use of search-based software engineering techniques. Our work on testing non-testable software uses machine learning tools to find metamorphic relations (MRs) that allow us to generate new test cases that can be tested against the MRs that serve as test oracles. APR techniques make use of various search techniques as modifications are made to produce a repair in a faulty program.
My work on the Repository for Model Driven Development (ReMoDD) project is supporting the work of researchers and educators in the Model-Driven Development (MDD) community, by creating a repository of software modeling artifacts for use in validating research and providing examples for educators and practitioners. My work on the SAXS project involves developing support for high-level abstractions to lower the effort required to implement efficient software for scientific computing applications. My work on the Dengue Decision Support System project involved the development of software to support the use of cell phones to capture and transmit data on mosquito populations to monitor the spread of vector borne diseases such as malaria and dengue fever.
Prof. Bieman's research has been supported by the National Science Foundation, National Institutes of Health, NASA, NATO, Microsoft, Hewlett-Packard, Qualcomm and the Colorado Advanced Software Institute in collaboration with Storage Technology Corp, CTA, and Micro-motion. He is a member of the Computer Science Department's Software Engineering Research Group and a member (and was founding Director) of the the Software Assurance Laboratory, a Colordo State University Research Center.
For further information see the following:
Office Hours: Summer 2016, by appointment or door open.