CSSE 492 – Software Dependability
Computer Science and Software Engineering
Winter 2007
Instructor: Dr. Roshanak Roshandel
Time: T TH 1:30-3:35
Office Hours: T TH 12:15-1:15 pm, Th 5:00-6:00 pm, or by appointment
Office: Enrg 507
Phone: (206) 296-5512
Overview
Software fails way too often and recovering from failures takes way too long. With today’s large and complex distributed software systems, building and maintaining dependable software systems is becoming more and more challenging. Dependability is no longer solely a property of mission critical systems. Instead any company needs to ensure dependability of its software systems in order to remain competitive. For too long, dependability attributes such as reliability, availability, performance, safety and security have been treated as an afterthought. However, such an attitude is proving tremendously costly and ineffective. Dependability must be built into the software engineering lifecycle. Such a treatment requires techniques and approaches to planning, specification, modeling, analysis, assessment, and tracking these properties throughout the development life cycle. In this class, we offer an overview of the state of the art and practice in software dependability.
Course Objectives
The students after this course:
· will have a broad understanding and a general knowledge on various principles of software dependability
· will be able to perform analysis and apply these principles in various phases of software development
Project
Resources
· Association of Computing Machinery (ACM) Digital Library
· IEEE Computer Society Digital Library
·
International
Conference on Software Engineering 2000 - Future of SE Track:
· Eclipse 3.2.1 for Windows – An open-source development framework
· EASEL – Extensible Architecting Support Environment with Layers
· xADL 2.0 – Highly Extensible Architecture Description Language for Software and Systems
· ArchStudio 4 – Software and System Architecture Development Environment
Schedule (Subject to Change)
|
|
Date |
Topics |
|
Assignments |
|
Thursday 1/4/2007 |
Introduction and Overview
Project Discussion
|
Peter G. Neumann, Risks to the public, ACM SIGSOFT Software Engineering Notes, Volume 31 , Issue 5, September 2006.
Jim Gray, Distributed Computing Economics, Microsoft Research Technical Report, 2003.
|
|
|
|
Tuesday 1/9/2007 |
Software Dependability · Technical sources of the problem · Human sources of the problem · Current state of the field |
F. P. Brooks, Jr. No Silver Bullet: Essence and Accidents of Software Engineering. IEEE Computer, April 1987.
Candea and A. Fox, Crash-Only Software, Proc. 9th Workshop on Hot Topics in Operating Systems, May 2003 |
|
|
|
Thursday 1/11/2007 |
|
Engler et al., Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions, Proc. 4th Symposium on Operating System Design and Implementation, October 2000 |
||
|
Tuesday 1/16/2007 |
Reliability & Fault Tolerance · Introduction to Reliability and Safety · System Reliability Estimation and Prediction |
B. Littlewood, L. Strigin, Software reliability and dependability: a roadmap, International Conference on Software Engineering, 2000.
|
|
|
|
Thursday 1/18/2007 |
· Software Reliability Modeling · Project Discussion
|
Roshandel et. al, Estimating software component reliability by leveraging architectural models, Proceeding of the 28th international conference on Software engineering, 2006. |
|
|
|
Tuesday 1/23/2007 |
· Software Reliability Modeling |
|
||
|
Thursday 1/25/2007 |
DLS: 1/24/2007 Robert Musson – Microsoft Predicting Quality in Software Development |
|||
|
Tuesday 1/30/2007 |
Safety · Data Safety · Case studies |
R. Lutz, Software engineering for safety: a roadmap, International Conference on Software Engineering, 2000. |
DLS Reflection due |
|
|
Thursday 2/1/2007 |
Performance’ · Queuing Models
|
R. Pooley, Software engineering and performance: a roadmap, International Conference on Software Engineering, 2000.
|
Project assignment due |
|
|
Tuesday 2/6/2007 |
Security and Privacy · Cryptography
|
J. Buchmann, A. May, U. Vollmer, Perspectives for cryptographic long-term security, Communications of the ACM, Privacy and security in highly dynamic systems, Volume 49, Issue 9, 2006. |
|
|
|
Thursday 2/8/2007 |
DLS: 2/7/2007 Jeff Lowder – Disney Software Security
|
|||
|
Tuesday 2/13/2007 |
Building Security In
Cryptography Concepts Common Vulnerabilities
|
J. Boegh, Certifying software component attributes, IEEE Software, Volume 23, Issue 3, May-June 2006
|
DLS Reflection due |
|
|
Thursday 2/15/2007 |
L. J. Hoffman, K. Lawson-Jenkins, J. Blum, Trust beyond security: an expanded trust, Communications of the ACM Volume 49, Issue 7, July 2006. |
|||
|
Tuesday 2/20/2007 |
Writing Secure Code Dependability and requirements · ElderHealth |
S. Jones et. al., Trust requirements in e-business, Communications of the ACM,Volume 43, Issue 12 December 2000. |
Project assignment due Presentation Summary due Quiz |
|
|
Thursday 2/22/2007 |
DLS: 2/21/2007 Mario Garzia – Microsoft Software Reliability
|
|||
|
Tuesday 2/27/2007 |
Dependability and design Threat Modeling
|
R. de Lemos, P.A. de Castro Guerra, C.M.F. Rubira, A fault-tolerant architectural approach for dependable systems, IEEE Software, Volume 23, Issue 2, March-April 2006.
|
DLS Reflection due |
|
|
Thursday 3/1/2007 |
Dependability and implementation · Verification · Writing Secure Code Dependability and testing Evolution Issues
|
|
Paper 3 due
|
|
|
Tuesday 3/6/2007 |
Review for Final exam |
Student
Presentations |
||
|
Thursday 3/8/2007 |
DLS: 3/7/2007 TBD
|
|||
|
Tuesday 3/13/2007 |
Final Exam 2:00-3:50 pm
|
|||
Course Requirements
Class project: This will be a group project and is designed in multiple phases. You will be using existing open source research tools to implement analysis tools for several dependability attributes. We will discuss this in detail in class.
Mini-quizzes: There will be several mini-quizzes (one question, 5 minutes long) at the beginning of the class. The aim is to ensure that you have read the readings.
Presentations: Each student will be presenting a 30 minute presentations during the class. The topic of the presentation is based on the course topics and assigned readings. However, you are required to perform additional research on the topic. The goal of these presentations is to familiarize you with the process of researching topics, presenting ideas, and leading discussions in the classroom. We will discuss important presentation skills in class early during the quarter.
Papers: There will be several papers that pose a topic related to the ongoing class discussion. You are to answer the question by researching the topic and write a paper. You will need to demonstrate an in-depth understanding of the assigned topic, along with good technical writing. The topic will be based on the readings and material covered in class.
I encourage you to discuss the readings with your classmates. However, you may not discuss the topic of your paper until after you turn it in. The papers are supposed to only reflect your personal understanding of the topic, and a violation of this will be treated as the violation of the university’s honor code.
You should submit your papers electronically to roshanak@seattleu.edu before the start of the class on the due date. No late submission will be accepted. We will discuss the (interesting) papers during the following week in class.
Final exam: The final exam (given during the regular final exam schedule) will be testing for you the concepts covered in the class.
Grading
· Mini-quizzes: 10%
· One-page papers: 20%
· Class project: 30%
· Class participation: 10%
· Presentations 10%
· Final exam: 20%
Academic Integrity
Plagiarism is the unacknowledged use of the work or intellectual property of other persons, published or unpublished, presented as one’s own work. All students are expected to work on all individual assignments independently. Collaboration on individual assignments is considered cheating and will be penalized accordingly. Other examples of behavior that is not tolerated in this class include copying all or part of someone else’s work and submitting it as your own, sharing your assignment solution with other students in the class, consulting with another student during an exam, and copying text from published literature without proper attribution. If you have questions about what is allowed, please discuss it with the instructor. All students are responsible for reading and following the Seattle University Academic Honesty Policy. Students who violate University standards of academic honesty are subject to disciplinary sanctions, including failure in the course and suspension from the University.