Dr. Branson W. Murrill
Department of Computer Science
School of Engineering

Research

My primary research area is software analysis, testing and verification (ATV), which is a major subarea of software engineering. Software engineering deals with many issues involved in the design and implementation of large software systems, including project management and cost estimation, design methodology, formal specifications, quality control of software processes and products, software maintenance and modification, software reliability, software verification, and software analysis and testing. Software analysis deals with formal models of software and the application of mathematical theory and formal methodology to the analysis of software for the purpose of determining properties of software. These properties can be used in many ways, including measuring the efficiency of software, determining how best to test software, and estimating software reliability. Software testing covers a variety of methods for testing the correctness and reliability of software, and how to apply those methods in a cost effective manner. Software testing and software analysis are strongly related to each other, and to software reliability, which deals with estimating the chance of failure after software has been tested. Software verification deals with methods for ensuring the correctness of software. Testing is the primary verification method in current use.

As we increasingly rely on large, complex software systems for many life-critical and business-critical applications, it is imperative that we be able to produce and verify highly reliable software. There are several theoretical limitations that make this difficult, among them the fact that we can only afford to test a relatively small number of possible program inputs. It has also been hard to choose test inputs that have the greatest error-revealing ability, and to quantify the results of testing in terms of a confidence in the correctness of a program that passes testing. Most of the ATV research in the past has concentrated on covering syntactic aspects of program code and does little to mitigate these problems, which result from the code's semantic behavior. My research has involved the development of software systems that analyze dynamic program behavior for statistically quantified properties, and use that information to guide efficient software testing and to estimate software reliability.

 

Publications

Branson Murrill, "Fault-Based Testing" in the Encyclopedia of Software Engineering, Volume 1, pp. 300-307, Taylor and Francis (November 2010).

Branson Murrill, "An Empirical, Path-oriented Approach to Software Analysis and Testing", Journal of Systems and Software,
Vol. 81, no. 2, pp. 249-261 (February 2008).

Branson Murrill, “Automated Test Data Generation and Reliability Assessment for Software in High Assurance Systems”, Proceedings of the 10th IEEE International Symposium on High Assurance Systems Engineering (HASE 2007), Dallas, Texas (November 2007).

Branson Murrill, "Reaching Non-Traditional Graduate Students Through Distance Learning: An Experience Report", Proceedings of the 2007 International Conference on Frontiers in Education: Computer Science and Computer Engineering (FECS'07), Las Vegas, Nevada  (June 2007). 

Branson Murrill, "Software Analysis: Are we doing enough?" , Proceedings of the First Virginia Summit on Secure and Dependable Computing Systems, Charlottesville, Virginia (April 2005).

Branson Murrill, Larry Morell, and Erika Olimpiew, "A Perturbation-based Testing Strategy", Proceedings of the 8th IEEE International Conference on Engineering of Complex Computer Systems, Greenbelt, Maryland   (received "Best Paper" award)  (December 2002).

Renee McCauley, Nell Dale, Thomas Hilburn, Susan Mengel, Branson W. Murrill, "The Assimilation of Software Engineering into the Undergraduate Computer Science Curriculum", Proceedings of the 31st Technical Symposium on Computer Science Education (SIGCSE 2000), Austin, Texas (March 2000).

Branson Murrill, "Integrating Software Analysis, Testing, and Verification into the Undergraduate Computer Science Curriculum", Computer Science Education Journal, Vol. 8, no. 2 (August 1998).

Larry Morell, Branson Murrill, and Renata Rand, "Perturbation Analysis of Computer Programs", Proceedings of the 12th Annual Conference on Computer Assurance (COMPASS 97) (June 1997).

Branson Murrill, "Faculty Entrepreneurs : Helping Universities Earn While Students Learn", Industry and Higher Education Journal (August 1996).

Larry Morell and Branson Murrill, "Using Perturbation Analysis to Measure Variation in the Information Content of Test Sets", Proceedings of the 1996 International Symposium on Software Testing and Analysis (ISSTA '96) (January 1996).

Branson Murrill, "Enhancing Student Learning and Institutional Autonomy Though Faculty Entrepreneurial Efforts", Proceedings of the National Educational Computing Conference (NECC '95) (June 1995).

Branson Murrill and Larry Morell, "An Experimental Approach to Analyzing Software Semantics Using Error Flow Information", Proceedings of the 1994 International Symposium on Software Testing and Analysis (ISSTA '94) (August 1994).

Larry Morell and Branson Murrill, "Semantic Metrics Through Error Flow Analysis", Journal of Systems and Software (March 1993).

Larry Morell and Branson Murrill, "Semantic Metrics Derived from Error Flow Analysis", Proceedings of the 4th Annual Oregon Workshop on Software Metrics (AOWSM '92)  (March 1992).

K. Miller, L. Morell, R. Noonan, S. Park, D. Nicol, B. Murrill, J. Voas, "Estimating the Probability of Failure When Testing Reveals No Failures", IEEE Transactions on Software Engineering (January 1992).

Branson W. Murrill and Larry Morell, "Error Flow Testing", Proceedings of the 8th International Conference on Testing Computer Software, Washington D.C. (June 1991).


Presentations

"Reaching Non-Traditional Graduate Students Through Distance Learning: An Experience Report", The 2007 International Conference on Frontiers in Education: Computer Science and Computer Engineering (FECS'07), Las Vegas, Nevada  (June 2007).

"Software Analysis: Are we doing enough?" , The First Virginia Summit on Secure and Dependable Computing Systems, Charlottesville, Virginia (April 2005).

"A Perturbation-based Testing Strategy", The 8th IEEE International Conference on Engineering of Complex Computer Systems, Greenbelt, Maryland  (December 2002).

"Perturbation Analysis: Theory and Applications", Reliable Software Technologies, Inc., Sterling, Va. (October 1997).

"Perturbation Analysis of Computer Programs", The 12th Annual Conference on Computer Assurance (COMPASS 97), Gaithersburg, MD (June 1997).

"Using Perturbation Analysis to Measure Variation in the Information Content of Test Sets", The 1996 International Symposium on Software Testing and Analysis (ISSTA '96), San Diego, CA (January 1996).

"Enhancing Student Learning and Institutional Autonomy Though Faculty Entrepreneurial Efforts", The National Educational Computing Conference (NECC '95), Baltimore, MD (June 1995).

"An Experimental Approach to Analyzing Software Semantics Using Error Flow Information", The 1994 International Symposium on Software Testing and Analysis (ISSTA '94), Seattle, WA (August 1994).

"Error Flow Testing", The 8th International Conference on Testing Computer Software, Washington D.C. (June 1991).