Main Navigation
Apply Now Request Info


Loading...

CS 514 - Software Product and Process Evaluation

The objective of this course is to provide students with a working knowledge of the state of research and practice on software product and process evaluation and improvement. Students completing this course should be able to evaluate both software artifacts and software processes. Software product evaluation includes the evaluation of external characteristics such as usability and functionality, as well as internal characteristics such as design structure, testability and maintainability. Software process evaluation addresses the problem of understanding the software development process, assessing the quality of the process, and developing plans for process improvement. The use of quantitative methods in software engineering will be stressed. The course will also cover experimental methods as they are applied to evaluating software engineering methods.
Students will read papers on recent research topics such as regression test selection and prioritization, test input generation, fault localization, automatic program repair, fuzz testing, and metamorphic testing.
This semester we will introduce security research topics related to vulnerability assesment, penetration testing, and static analysis of software.
For simplicity, we will use Canvas for (1) disseminating slides, papers, and lecture videos, (2) submitting quizzes, discussion posts, assignments, and exams, (3) maintaining a detailed calendar of activities and deadlines, and (4) posting grades. The schedule on the course website will only show the topics being covered every week.

Prerequisite

CS 414 (Object Oriented Design)

Textbooks and Materials

Please check the CSU Bookstore for textbook information.  Textbook listings are available at the CSU Bookstore about 3 weeks prior to the start of the term.

Instructors

Sudipto Ghosh
Sudipto Ghosh

9704914608 | ghosh@colostate.edu

Dr. Sudipto Ghosh is a Professor of Computer Science at Colorado State University with an affiliate appointment in Systems Engineering. He received the Ph.D. degree in Computer Science from Purdue University in 2000. His research interests are in software engineering (design and testing). He is on the editorial boards of IEEE Transactions on Reliability, Software and Systems Modeling, Software Quality Journal, and Information and Software Technology. Previously he was on the editorial board of the Journal of Software Testing and Reliability. He was a general co-chair of MODELS 2009 (Denver) and Modularity 2015 (Fort Collins). He was a program co-chair of ICST 2010 (Paris), DSA 2017 (Beijing), ISSRE 2018 (Memphis), ISEC 2024 (Bangalore), and QRS 2024 (Cambridge). He has served on program committees of multiple conferences. He is a member of the ACM and a Senior Member of the IEEE.