Special Topic in Software Engineering (Ʈ Ư)
- Software Quality      

(2012 Spring for graduate students)

Syllabus

This course introduces theoretical background and recent techniques on software quality and safety analysis.
Each student selects one key paper about software quality and makes a series of presentations in advance.
He (She) will also propose a research plan at the end of the semester.

Prerequisite: All student are strongly recommended to take the "Advanced Software Engineering - Formal Methods" course prior to taking this course.


Text & Lecture Notes:
- by Nancy G. Leveson  - by Daniel Jackson, et. al.   - by Nancy G. Leveson

   - SAFEWARE
   - Software for Dependable Systems (a public online file)
   - Engineering a Safer World (a public draft)



Grading plan:
    - Presentation : 70%
    - Proposal : 30%



2012.02.06 :  ù 03.02() 15:00~18:00 (1207ȣ) Դϴ.
2012.02.24 :  ϸ п "޼Ʈ" л鸸 ûϼ. ƽ, ñⰡ ʽϴ.
2012.03.12 :  ߰/Ȯ ǥϽ , ǥڷ Բ lists files Բ ּ.
2012.03.20 :  ǥ 쿡 ణ ֽϴ. Ȯϼ.
2012.03.25 :  03.30 ްմϴ.
2012.04.14 :  2012.04.20() մϴ.
2012.04.16 :  2012.04.21() 10:00 ~ 12:00 907ȣ ""մϴ. : C1(̵)  C2() - Ͻô и ϼŵ ˴ϴ ^^

Schedule

Week Date Lecture
1 03.02  Course Introduction, 5(̼)
2 03.09  A(̵) ,  6(輱)
3 03.16  B() , C()
4 03.23  H(翬) , 1(̼) , 2()
5 03.30  ް
6 04.06  I() , E(翬) , 9(õ)
7 04.13  C1(̵) , C1() , 10(Ǽ)
8 04.20  12(輱) , 8(ѻ) , D()
9 04.27  L(Ǽ) , 4()
10 05.04  15(ȣ) , 11() , Ȯ(̵)
11 05.11  Ȯ() , K(ֽ) , 3(Ǽ)
12 05.18  J(ֽ) ,  G(̼) ,  Ȯ() , 14()
13 05.25   ȹ in depth (̵)
 Ȯ ǥ (õ , ѻ , , )
14 06.01  Ȯ ǥ (ȣ , 輱 , ֽ , )
15 06.08  ް (ICSE 2012 )
16 06.15   ȹ in depth ()
  ȹ
(, 翬, Ǽ, ̼)

Key Papers

̸ ǥ #1 ȹ ߰ǥ ǥ #2 - Ȯ
̵ A , C1(4)
B , C1(8,9) , F
I , 2 N/A
E , H N/A
Ǽ L , 10 , 3 N/A N/A
̼ G , 1 , 7 , 5 N/A N/A
C , D
11
4
ѻ 8
ֽ J , K
õ 9
14
ȣ 15
6 , 12

о ֿ


Advanced Topics on Formal Methods

 Dependability Arguments  A.  Software for Dependable System: Sufficient Evident? National Research Council, 2007 (̵)
   - A.1 Engineering Software Systems for Customer Acceptance, TR
(̵)
   - A.2
 B.  A Direct Path to Dependable Software, Communication of the ACM, 2009
()
   - B.1  Assurance based Development of Critical Systems, in DSN, 2007
   - B.2  The Goal Structuring Notation - A Safety Argument Notation, in DSN, 2004
   - B.3  Using Fault Modeling in Safety Cases, in ISSRE, 2008
   - B.4  A Framework for Dependability Analysis of Software Systems with Trusted Bases, Master's thesis, MIT, 2010
   - B.5  A Systematic Approach to Safety Case Maintenance, RESS, 2001
   - B.6  Safety Case Construction and Reuse using Patterns, in SAFECOMP, 1997.
   - B.7  Architectural considerations in the certification of modular systems, in SAFECOMP, 2002
 Accident Model  C.  A New Accident Model for Engineering Safer Systems, Safety Science, 2004 ()
   - C.1 Engineering a Safer World
(̵) ()
   - C.2 Application of a Safety-Driven Design Methodology to an Outer Planet Exploration Mission, in AC 2008
   - C.3 A System-Theoretic Hazard Analysis Methodology for a Non-Advocate Safety Assessment of the Ballistic
          Missile Defense System, in AIAA MSC 2006
   - C.4 STAMP-based analysis on the railway accident and accident spreading, SS 2010
(̵)
 Safety vs. Security  D.  The SEMA Referential Framework: Avoiding Ambiguities in the Terms "Security" and "Safety", IJCIP, 2010
   - D.1
   - D.2 
 Requirements Elicitation  E.  From Safety Analysis to Software Requirements, IEEE TSE, 2002 (翬)
   - E.1
 F.  Deriving Specifications from Requirements: An example, in ICSE, 1995
   - F.1
   - F.2
 Safety Analysis  G.  Integrating Safety Analysis Techniques, Supporting Identification of Common Cause Failures, PhD Thesis 2000
 H.  Temporal Fault Trees, IST, 2002
   - H.1 A Model-Oriented Approach to Safety Analysis using Fault Trees and a Support System, JSS 1996
   - H.2 TLA in Pictures, IEEE TSE 1995
 Safety-focused Development  I. Analysis and Synthesis of the Behaviour of Complex Programmable Electronic Systems in Conditions of Failure,
    RESS, 2001
   - I.1
   - I.2
   - I.3
 J. A Safety-Focus Verification using Software Fault Trees, FGCS, 2011
(ֽ)
 K. A Software Quality Assessment Framework for Dependable Systems, FSE 2012 draft
(ֽ)
 L. Formal Modeling and Verification of Safety-Critical Software, IEEE Software, 2009
(Ǽ)
   - L.1 SCADE
   - L.2
   - L.3
 
Fundamentals of Formal Methods
 Alloy  1. http://alloy.mit.edu/alloy/ (̼)
 MSC  2. Synthesis of Behavioral Models from Scenarios, IEEE TSE 2003
 SCR  3. Specifying software requirements for Complex Systems: New Techniques and Their Application IEEE TSE 1980 (Ǽ)
 4. Software Cost Reduction, TR
()
 Statecharts  5. On Visual Formalisms, Communication of the ACM 1989 (̼)
 HyTech  6. HYTECH: a model checker for hybrid systems, STTT 1997 ()
 RSML  7. Completeness and consistency in hierarchical state-based requirements, IEEE TSE 1996
 Model Checking  8. Automatic Verification of Finite-State Concurrent Systems Using Temporal Logic Specifications, ACM TPLS 1986 (ѻ)
 SPIN  9. The Model Checker Spin, IEEE TSE 1997 (õ)
 Testing  10. Software Unit Test Coverage and Adequacy, ACM Computing Surveys 1997 (Ǽ)
 Hybrid System  11. System Theoretic Formalisms for Combined Discrete-Continuous System Simulation, IJGS 1991 ()
 12. Hierarchical Modeling and Analysis of Embedded Systems, P. IEEE 2003
(輱)
 Temporal Logic  13. Temporal and Modal Logic, in Handbook of TCS 1990
 Applications of Verification

 14. Formal Verification of an OS Kernel, Communications of the ACM 2010 ()
 15. Formal Verification on Multitasking Applications based on Timed Automata Model, Real-Time Systems 2008
(ȣ)
 16. Early Verification and Validation of Mission Critical Systems, FMSD 2007

 Software Architecture  17. Software Architecture Reconstruction: A Process-Oriented Taxonomy, IEEE TSE 2009