Colorado State University Computer Science Department

Software Assurance Laboratory

Colorado State University


The Software Assurance Laboratory (SAL) is a Colorado State University research center devoted to the development of technology to support the assessment and development of high-quality software. Research at the center focuses on methods to specify, design, and implement software with desirable qualities. Work involves methods to assure that software has these qualities and methods to improve the design of existing software. SAL researchers aim to improve a broad spectrum of software quality attributes including reliability, adaptability, safety, security, maintainability, correctness, and fault-tolerance.

Participating Faculty and Personnel

James M Bieman , Professor, Software Design Evaluation & Improvement.
Robert B. France, Professor, Object-Oriented Analysis & Design Methods.
Geri Georg, Research Associate. Modeling of Design and Security Concerns.
Sudipto Ghosh, Associate Professor, Software Testing & Distributed Object Systems.
Yashwant K. Malaiya, Professor, Software Reliability & Testing.
Daniel F. Massey, Associate Professor, Network Security.
Indrajit Ray, Associate Professor (SAL Director), Computer and Network Security.
Indrakshi Ray, Associate Professor, Software Design Specification, Database Security.

Software Assurance Research

Software Security:

Network Security: Developing proactive network defense mechanisms, which can predict hostile attacks and defend against them. Massey, Indrajit Ray

Transaction Security: Developing Transaction systems that can survive hostile attacks. Security Protocols. Indrakshi Ray, Indrajit Ray.

Database Security: Improving the trustwothiness of systems built from untrustworthy software components. Indrakshi Ray, Indrajit Ray.

Security Measurement: Metrics for security vulnerabilities, design tradeoffs involving security. Malaiya, Indrakshi Ray, Georg, Bieman, France.

Research on Software Design Integrity:

Distributed Object Systems: Provide fault tolerance in CORBA using object groups. We are concerned with maintenance of backup objects, object groups, group communication, object migration and load balancing. Ghosh.

Modeling and Analysis of Dependability Concerns: Develop techniques for modeling and analyzing security, fault tolerance, availability, and other software dependability concerns during design. France, Georg, Bieman, Ghosh, Indrakshi Ray.

Multi-view Software Evolution: Develop model-based methods to represent and evolve alternative perspectives of an evolving software system, making use of well-defined model and code transformations to satisfy objective change goals. France, Bieman, Ghosh, Ray.

The Precise UML Project (pUML): Develop a formal semantics for the Unified Modeling Language (UML) of the Object Management Group (OMG). France.

Research on Software Product and Process Evaluation and Analysis:

Dynamic Architecture Extraction and Display for CORBA Applications:Develop techniques for visualization of distributed applications at run-time for monitoring, control and debugging. Ghosh.

Evaluating Object-Oriented Designs: Develop techniques to quantify design attributes of OO software in terms of architectural structures and patterns, and show that these design attributes are related to maintainability, reusability, testability, and reliability.

The Wide World of Software Design: Develop an open repository of software design information, including design models and source code, to support the classification and scientific evaluation of actual software designs and design methods. Bieman, France.

Research on Software Testing:

Testing UML Models: France, Ghosh.

Run Time Fault Injection for Testing Objects: Develop mechanisms for injecting faults into objects to evaluate test data completeness and to increase coverage. Bieman, Ghosh.

Testing Heterogeneous Distributed Component Based Systems. Develop a testing methodology for distributed component-based systems. The methodology uses the description of interfaces of components. Ghosh.

Ultra-High Software Reliability: Develop techniques for achieving and evaluating ultra-high reliability in computational systems. This work includes both reliability modeling and software testing techniques. Malaiya.

Contact Information

Request for additional information can be made to Dr. James Bieman. Requests for copies of papers may be sent to any of the participating faculty. E-mail is preferred.

Computer Science Department Home Page
Last updated March 26, 2014