|
CSE592 - Software Engineering
|
|
Software
Engineering - A Practitioner's Approach (7th edition),
Author: Roger S. Pressman Publisher: Mc Graw Hill, ISBN-10:
0071267824, ISBN-13: 9780071267823 |
|
Foundations
of Software Testing, Author: Aditya P. Mathur Publisher:
Pearson, ISBN: 9788131716601 |
|
Introduction to Software Testing, Author: Paul Ammann and Jeff Offutt Publisher: Cambridge University Press, ISBN: 9780521880381 |
In
this course, students will learn principles of software
engineering, software development process, and techniques to
design and test software systems. This course mainly covers
software testing techniques, but also cover techniques for
software engineers such as UML (Unified Modeling Language), design
patterns, and object-oriented software development methodology to
further improve students' understanding on software engineering.
|
Topics
|
L#
|
Date
|
Topic
|
Reading/Presentation/Reference
|
---|---|---|---|
1
|
3/3
|
Introduction | |
2
|
3/8
|
Reading: Frederick
P. Brooks, "No Silver Bullet - Essence and Accident in
Software Engineering (Ch.16)", Mythical Man-Month -
The Essays on Software Engineering, 1995. Reading: L. Osterweil, "Software Processes Are Software Too, Revisited: An Invited Talk on the Most Influential Paper of ICSE 9", In Proc. of the 19th International Conference on Software Engineering (ICSE), pages 540-548, May 1997. Reading: W. Royce, "Managing the Development of large Software Systems", In Proc. of WESCON, August 1970. Reading: B. Boehm, "Spiral Model of Software Development and Enhancement", IEEE Computer, 21(5):61-72, May 1988. Reading: M. Fowler and J. Highsmith, "The Agile Manifesto", Software Development, Aug. 2001. Reading: C. Larman and V. Basili, "Iterative and Incremental Development: A Brief History", IEEE Computer, 36(6):47-56, June 2003. |
|
3
|
3/10
|
||
4
|
3/15
|
Introduction to Software Testing (1) | Reading:
Alessandro Orso and Gregg Rothermel, "Software Testing: a
Research Travelogue (2000-2014)", In Proc. of the
Future of Software Engineering (FoSE) -- in the 36th International
Conference on Software Engineering (ICSE), pages 117-132, May
2014. Reading: Mary Jean Harrold, "Testing: A Roadmap", In Proc. of the Future of Software Engineering (FoSE) -- in the 22th International Conference on Software Engineering (ICSE), pages 61-72, May 2000. Reading: Stephen R. Schach, "Testing: Principles and Practice", ACM Computing Surveys, 28(1):277-279, March 1996. |
5
|
3/17
|
Introduction
to Software Testing (2) Test Generation from Requirements (1) |
|
6
|
3/22
|
Test Generation from Requirements (2) | Reading: Kuo-Chung Tai, "Theory of
Fault-Based Predicate Testing for Computer Programs", IEEE
Transactions on Software Engineering, 22(8):552-562, August
1996. Reading: Kuo-Chung Tai, "Predicate-Based Test Generation for Computer Programs", In Proc. of the 15th International Conference on Software Engineering (ICSE), pages 267-276, May 1993. |
7
|
3/24
|
Test Generation from Requirements (3) | |
8
|
3/29
|
Test Generation from FSM (1) |
|
-
|
3/31
|
Rescheduled to: 5/6 | Project meeting |
9
|
4/5
|
Test Generation from FSM (2) | Reading: Tsun S.
Chow, "Testing Software Design Modeled by Finite-State Machines", IEEE
Transactions on Software Engineering, 4(3):178-187, May 1978. Reading: David Lee and Mihalis Yanmakakis, "Principles and Methods of Testing Finite State Machines - A Survey", Proceedings of the IEEE, 84(8):1090-1123, Aug. 1996. Reading: Susumu Fujiwara, Gregor v. Bochmann, Ferhat Khendek, Mokhtar Amalou, and Abderrazak Ghedamsi, "Test Selection Based on Finite State Models", IEEE Transactions on Software Engineering, 17(6):591-603, May 1991. Reading: Wontae Choi, George Necula, and Koushik Sen, "Guided GUI Testing of Android Apps with Minimal Restart and Approximate Learning", ACM SIGPLAN Notices - OOPSLA'13, 48(10):623-640, Oct. 2013. |
10
|
4/7
|
Test Generation from FSM (3) | |
-
|
4/12
|
Rescheduled to: 6/3 | Conference |
-
|
4/14
|
Rescheduled to: 6/10 | Conference |
11
|
4/19
|
Test Generation from Combinatorial Design (1) | Reading: Myra
B. Cohen, Peter B. Gibbons, Warwick B. Mugridge, and Charles J.
Colbourn, "Constructing Test Suites for Interaction
Testing", In Proc. of the 25th International
Conference on Software Engineering (ICSE), pages 38-48, May
2003. Reading: Itai Segall, "Repeated Combinatorial Test Design - Unleashing the Potential in Multiple Testing Iterations", In Proc. of the 9th IEEE International Conference on Software Testing, Verification and Validation (ICST), pages 12-21, April 2016. Reading: Jon D. Hagar, Thomas L. Wissink, D. Richard Kuhn, and Raghu N. Kacker, "Introducing Combinatorial Testing in a Large Organization", IEEE Computer, 48(4):64-72, April 2015. Reading: Charles Song, Adam Porter, and Jeffrey S. Foster, "iTree: Efficiently Discovering High-Coverage Configurations Using Interaction Trees Charles", In Proc. of the 34th International Conference on Software Engineering (ICSE), pages 903-913, June 2012. Reading: Xiao Qu, Myra B. Cohen, Gregg Rothermel, "Configuration-Aware Regression Testing: An Empirical Study of Sampling and Prioritization", In Proc. of the 2008 International Symposium on Software Testing and Analysis (ISSTA), pages 75-86, July 2008. Reading: Cemal Yilmaz, Myra B. Cohen, and Adam A. Porter, "Covering Arrays for Efficient Fault Characterization in Complex Configuration Spaces", IEEE Transactions on Software Engineering, 32(1):20-34, January 2006. Reading: Myra B. Cohen, Matthew B. Dwyer, and Jiangfan Shi, "Coverage and Adequacy in Software Product Line Testing", In Proc. of the ISSTA 2006 Workshop on Role of Software Architecture for Testing and Analysis (ROSATEA), pages 53-63, July 2006. Reading: Kuo-Chung Tai and Yu Lei, "A Test Generation Strategy for Pairwise Testing", IEEE Transactions on Software Engineering, 28(1):109-111, January 2002. Reading: David M. Cohen, Siddhartha R. Dalal, Michael L. Fredman, and Gardner C. Patton, "The AETG System: An Approach to Testing Based on Combinatorial Design", IEEE Transactions on Software Engineering, 23(7):437-444, July 1997. |
12
|
4/21
|
Test Generation from Combinatorial Design (2) | |
13
|
4/26
|
Test Adequacy
Assessment (1) UML (1) - Intro |
|
14
|
4/28
|
Test Adequacy Assessment (2) | |
15
|
5/3
|
Test Adequacy Assessment (3) | |
- |
5/5
|
No Class - Children's Day | |
16 |
5/6
|
Test Adequacy Assessment (4) | Makeup#1 at 2:00PM Reading: Lori A. Clarke, Andy Podgurski, Debra J. Richardson, and Steven J. Zeil, "A Fomal Evaluation of Data Flow Path Selection Criteria", IEEE Transactions on Software Engineering, 15(11):1318-1332, November 1989. Reading: John B. Goodenough and Susan L. Gerhart, "Toward a Theory of Test Data Selection", IEEE Transactions on Software Engineering, 1(2):156-173, June 1975. Reading: John B. Goodenough and Susan L. Gerhart, "Correction to: Toward a Theory of Test Data Selection", IEEE Transactions on Software Engineering, 1(4):425-426, December 1975. Reading: Manish Mahajan, Sumit Kumar, and Rabins Porwal, "Applying Genetic Algorithm to Increase the Efficiency of a Data Flow-based Test Data Generation Approach", ACM SIGSOFT Software Engineering Notes, 37(5):1-5, September 2012. Reading: Giovanni Denaro, Alessandro Margara, Mauro Pezze, and Mattia Vivanti, "Dynamic Data Flow Testing of Object Oriented Systems", In Proc. of the 37th International Conference on Software Engineering (ICSE), pages 947-958, May 2015. Reading: Christina Pavlopoulou and Michal Young:, "Residual Test Coverage Monitoring", In Proc. of the 21st International Conference on Software Engineering (ICSE), pages 277-284, May 1999. |
17 |
5/10
|
Test Adequacy Assessment using Mutation (1) | Presentation: Qingjiang Paper: Sebastian Elbaum and Matthew B. Dwyer, "Carving and Replaying Differential Unit Test Cases from System Test Cases", IEEE Transactions on Software Engineering, 35(1):29-45, January 2009. |
18
|
5/12
|
Test Adequacy Assessment using Mutation (2) | Presentation: Delvison Paper: Jifeng Xuan and Martin Monperrus, "Test Case Purification for Improving Fault Localization", In Proc. of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE), pages 52-63, November 2014. |
19
|
5/17
|
UML (2) - Use Case and Activity Model | Presentation: Maruf Empirical Evaluation of the Statement Deletion Mutation Operator", In Proc. of the 6th IEEE International Conference on Software Testing, Verification and Validation (ICST), pages 84-93, March 2013. |
-
|
5/19
|
Rescheduled to: 5/20 | World IT Show |
20
|
5/20
|
UML (3) - Structural Models | Presentation: Anvika Paper: Simplifying and Isolating Failure-Inducing Input", IEEE Transactions on Software Engineering, 28(2):183-200, February 2002. |
21
|
5/24
|
Testing Energy-Efficiency of Software (1) | Presentation: Qingjiang -- Rescheduled to 5/31. |
22
|
5/26
|
Testing Energy-Efficiency of Software (2) | Presentation: Delvison Paper: Robert Dyer, Hoan Anh Nguyen, Hridesh Rajan, and Tien N. Nguyen, "Boa: Ultra-Large-Scale Software Repository and Source-Code Mining", ACM Transactions on Software Engineering and Methodology, 25(1):1-34, December 2015. |
23
|
5/31
|
Symbolic Execution and Concolic Testing | Presentation: Qingjiang Paper: Robert Feldt, Simon Poulding, David Clark, and Shin Yoo, "Test Set Diameter: Quantifying the Diversity of Sets of Test Cases", In Proc. of the 9th IEEE International Conference on Software Testing, Verification and Validation (ICST), pages 223-233, April 2016. |
24
|
6/2
|
UML (4) - Interaction Models | Presentation: Maruf Paper: Zebao Gao, Zhenyu Chen, Yunxiao Zou, and Atif M. Memon, "SITAR: GUI Test Script Repair", IEEE Transactions on Software Engineering, 42(2):170-186, February 2016. |
25
26 |
6/7
|
UML (5) | Extended class for make-up (1:30pm~3:30pm) Presentation: Anvika Paper: Daniel Liew, Cristian Cadar, and Alastair F. Donaldson, "Symbooglix: A Symbolic Execution Engine for Boogie Programs", In Proc. of the 9th IEEE International Conference on Software Testing, Verification and Validation (ICST), pages 223-233, April 2016. |
26
27 |
6/9
|
Regression Testing | Extended class for make-up (1:30pm~3:30pm) |
28
|
6/10
|
Term-Paper Presentation | Makeup#2 (7:00pm~8:20pm) |
6/13
|
Final
Exam (6/13 6:30PM~9:00PM) |
|
You
must make the appeal in writing. However, score changes are at the
discretion of the instructor and may be up or down based upon a
complete review of the work in question. It is important to
recognize that a grade reflects another person's judgment of your
work. In this sense, all grading is subjective. Appealing scores
is discouraged. Changing a few points on assignments rarely makes
a difference in the final grade. Time is much better spent
discussing and clarifying the information content presented in the
course. In the event of disputes at the end of the semester, you
will be required to produce the testing material in question. In
the case of a grading mistake (i.e., grade is posted incorrectly,
grader did not give credit for an item that exists) you can always
send me an e-mail, or come to my office (Administrative Building
B421). |
Each
student must pursue his or her academic goals honestly and be
personally accountable for all submitted work. Representing
another person's work as your own is always wrong. Faculty members
are required to report any suspected instances of academic
dishonesty to the Academic Integrity Committee. |
If you have a physical, psychological, medical or learning disability that may impact your course work, please contact the Department of Student Affairs, Academic Building Zone A, Room 217, (032) 626-1132. They will determine with you what accommodations, if any, are necessary and appropriate. All information and documentation is confidential. |
SUNY Korea expects students to respect the rights, privileges, and property of other people. Faculty members are required to report to the Department of Academic Affairs any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn. |
Your
participation in the evaluation of courses through Course
Evaluation System is a responsibility you hold as a student member
of our academic community. The system will be open for you to
complete your evaluations later in this semester. You can
participate after logging in to the system with your NetID.
|
Although
every effort has been made to be complete and accurate, unforeseen
circumstances arising during the semester could require the
adjustment of any material given here. Consequently, given due
notice to students, the instructor reserves the right to change
any information on this syllabus or in other course materials.
|