Colorado State University Computer Science Department

Certification Techniques for Component-Based Software
Spring 2002

General Information

Sudipto Ghosh
US Mail: Computer Science Department, Colorado State University, Fort Collins, CO 80523
Phone: (970) 491-4608
Fax: (970) 491-2466
Office Location: 224 University Services Center
Office Hours: TR 11:00-12:00

TR: Time: 9:30-10:45
Location: USC 310B

Successful completion of CS414 or CS514 or permission of instructor.


"Software components are binary units of independent production, acquisition, and deployment that interact to form a functioning system." Software components play a critical role in many software systems. Quoting from the proceedings of the 4th ICSE workshop on Component Based Software Engineering, our ability to reason about the properties of assemblies of components is of great consequence to modern system developers. In general, a lack of information about component behavior, a lack of confidence in the information available, and an inability to determine properties of components based on black-box representations, creates roadblocks in our understanding of functional and extra-functional properties of component-based software systems.


This course will explore the research issues in the areas of component trust and certification, component technology and software architecture with the aim to develop a shared understanding of certifiable component properties and predictable assembly of components. Topics related to component and system properties, compositional reasoning, abstraction, measurement, prediction, modeling, specification, reliability and assurance of fault tolerance will be covered.

Students will also understand the process of scientific research: how to frame research problems, how to setup and execute scientific experiments, and how to report results.

Course Materials

There is no required text. Course materials will be based entirely on technical publications in software engineering journals and conferences. This material may be obtained using WebCT or from the instructor. You can get access to the ACM and IEEE digital libraries through CSU's library. You can also view relevant material in the following places:

  1. Introduction to components and componentware: IEEE Software, September-October 1998 15(5)
  2. Introduction to component certification and research issues: IEEE Software, July August 1999, Volume 16(4)
  3. Papers presented at the 4th ICSE Workshop on Component-Based Software Engineering on Component Certification and System Prediction, May 14-15, 2001, Toronto, Canada.

Requirements and Grading

There are no homework assignments or exams. Your grade will be based on the following:

  1. 15%: Read and summarize each paper on the reading list. The summaries are due at the beginning of the class in which the paper will be discussed. Summaries not turned in at the designated time will not be accepted (even if you are late). If you are going to be absent, you need to turn in the summary before class. Summaries should be typed and printouts should be submitted.

  2. 10-20%: Present a few papers (on 1-2 days, depending on the enrollment).

  3. 5-15%: Critically review a few papers. One of the papers will be what you present in class. In addition, you will also review other papers from the reading list. Only technical reports, conference and journal papers can be reviewed (i.e. no workshop papers). These submissions will be due within a week of the class in which the paper was presented.

  4. 50%: Research project - Topics must be approved by the instructor. A research paper must be written and results presented in class. If the paper is of publishable quality, you get a higher grade. Topics may be selected as follows:

    • Literature-based and some extra independent work (Could lead to Master's project)

    • Analytical research, empirical studies, research tool development and evaluation (lead to Master's thesis or Ph.D. work)

  5. 10%: Peer review of classmates' presentations.

Final letter grades will be based on the relative distribution of total scores and not on any preset numerical grade.

Important dates:

The following dates apply to every student. Specific dates for presentation and paper critique submissions may vary.

  1. January 17: End of limited drop period
  2. January 21: Select papers for presentation
  3. February 28: Identify project area
  4. March 7: Submit one page proposal for project
  5. April 16 onwards (or later): Project presentations
  6. May 2: Project reports due
  7. May 6-10: Final's week: Project critiques due


Late work will not be accepted without prior permission. Extensions may be granted when permission is sought in advance for reasons that are unexpected and beyond your control. You will need to submit paper summaries at the beginning of class

All work needs to be your own. You are responsible for any announcements made in class.

All written work must be typed on 8.5 by 11 paper, have at least 1 inch margins and be printed in 10, 11 or 12 point type. Work should be single-spaced. All work must be neat and legible.

Read the departmental policy on cheating, incompletes and class attendance.

Last modified: January 26, 2001.