Colorado State University Computer Science Department

Jim Bieman

Professor of Computer Science
Computer Science Graduate Director

Students who want to email me should read my suggestions for students making requests.

Research Interests

Software Design Quality: Evaluation and Improvement

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: By appointment or door open.

Fall 2016 Courses

  • CS 514 Software Product and Process Evaluation
    On-Campus Section.
    Distance Learning (on-line) Section.

  • Acknowledgement of research support from NSF: This material is based upon work supported by the National Science Foundation. Any opinions, findings and conclusions or recomendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).
    My Erdos number is 3.
    Computer Science Department Home Page
    Last updated October 11, 2016