This course will be based on a combination of lectures, discussions, and presentations by students.
The course requirements are
Presentations are typically allocated 20 minutes. Make sure you emphasize the main ideas in the paper, and what we learn from it. Use the following question as a guideline: why did I choose to include this paper in the seminar? The grade for the presentation is composed of 8% quality of slides (organization and support of the presentation, not flashiness), 8% quality of presentation (including keeping time), and 15% coverage of the material.
The reports should include the following:
Note: this course does not fulfill the requirement for a seminar for MSc students.
Topics and papers we hope to cover are the following. Papers that are well worth a read even if not assigned to you are marked with a *.
17 Feb 2011 |
What Is Software EngineeringMary Shaw, Prospects for an engineering discipline of software. IEEE Software 7(6) pp. 15-24, Nov.-Dec. 1990.Philippe Kruchten, Putting the engineering into software engineering. Australian Softw. Eng. Conf., pp. 2-8, 2004. David L. Parnas, Risks of undisciplined development. Comm. ACM 53(10) pp. 25-27, Oct 2010. Melody M. Moore, A license to practice software engineering. IEEE Software 20(3), pp. 112-113, May/June 2003. Discussion: software engineering vs. programming. Types of software development. (slides) |
24 Feb 2011 |
Background: Lifecycle ModelsWinston W. Royce, Managing the development of large software systems. Proc. IEEE WESCON, Aug 1970.Presenter: Itay Fayerverker (slides)
Tom Gilb,
Principles of Software Engineering Management, Addison Wesley,
1988.
(Chapter on evolutionary delivery).
Jack W. Reeves, Code as design: three essays. C++ Journal 1992 and Developer.* 2005. Discussion: from sequential to iterative lifecycles. (slides) |
3 Mar 2011 |
Software Reliability* David Lorge Parnas, Software aspects of strategic defense systems. Comm. ACM 28(12), pp. 1326-1335, Dec 1985.Presenter: Miri Cohen
Norman F. Schneidewind and Ted W. Keller,
Applying reliability
models to the space shuttle.
IEEE Softw. 9(4) pp. 28-33, Jul/Aug 1992.
LONG BREAK between talks
Nancy G. Leveson and Clark S. Turner,
An investigation of the Therac-25 accidents.
Computer 26(7), pp. 18-41, Jul 1993.
|
10 Mar 2011 |
J.H. Poore, Harlan D. Mills, David Mutchler,
Planning and certifying
software system reliability.
IEEE Software 10(1), pp. 88-99, Jan/Feb 1993.
Presenter: Saed Bhiri
Daniel Jackson,
A direct path to
dependable software.
Comm. ACM 52(4), pp. 78-88, Apr 2009.
K. Koscher, A. Czeskis, F. Roesner, S. Patel, T. Kohno, S. Checkoway,
D. McCoy, B. Kantor, D. Anderson, H. Shacham, and S. Savage,
Experimental security
analysis of a modern automobile.
In IEEE Symp. Security and Privacy, pp. 447-462, May 2010.
REPORT Ken Thompson, Reflections on trusting trust. Comm. ACM 27(8), pp. 761-763, Aug 1984. Submit via Moodle Discussion: success, reliability, and security |
17 Mar 2011 |
Requirements EngineeringDaniel M. Berry, The importance of ignorance in requirements engineering. J. Systems & Software 28(2), pp. 179-184, Feb 1995.Presenter: Omer Brookstein (slides)
*
Tom Gilb,
What's wrong with
requirements specification? An analysis of the fundamental failings of
conventional thinking about software requirements, and some
suggestions for getting it right.
J. Softw. Engineering & Apps. 3(9) pp. 827-838 Sep 2010.
Colin J. Neilland Phillip A. Laplante,
Requirements
engineering: the state of the practice.
IEEE Software 20(6), pp. 40-45, Nov-Dec 2003.
Discussion: self-use and for-hire projects |
24 Mar 2011 |
Martin Fowler,
UML Distilled, Addison Wesley, 2000.
[Chapters 3, 5, 8]
Presenter: Ahmad Jbara
Alistair Cockburn,
Use
cases, ten years later, 2002.
Philippe Kruchten,
The 4+1 view model of
architecture.
IEEE Software 12(6) pp. 42-50, November 1995.
Stephen R. Schach, Object-Oriented and Classical Software Engineering. McGraw-Hill, 6th ed., 2005. (Osbert Oglesby case study, especially requirements and analysis – slides) Discussion: Understanding user requirements |
31 Mar 2011 |
Formal Methods* R.A. DeMillo, R.J. Lipton, and A. Perlis, Social processes and proofs of theorems and programs. Comm. ACM 22(5), pp. 271-280, May 1979.Presenter: Nissim Avitan
J.H. Fetzer,
Program verification:
the very idea.
Comm. ACM 31(9), pp. 1048-1063, Sep 1988.
J.A. Hall,
Seven myths of formal
methods.
IEEE Software 7(5), pp. 11-19, Sep 1990.
Daniel M. Berry
Formal
methods: the very idea: Some thoughts about why they work when they
work.
Science of Computer Programming 42(1) pp. 11-27, Jan 2002.
REPORT David Harel, On visual formalisms. Comm. ACM 31(5) pp. 514-530 May 1988. Submit via Moodle
|
7 Apr 2011 |
*
H.D. Mills, M. Dyer, R.C. Linger,
Cleanroom Software
Engineering.
IEEE Software 4(5), pp. 19-25, Sep 1987.
Presenter: Yechiel Weill
B. Nuseibeh, C. B. Haley, and C. Foster,
Securing the skies: in
requirements we trust.
Computer 42(9), pp. 64-72, Sep 2009.
J.P. Bowen and M.G. Hinchey,
Ten commandments of formal methods.
IEEEComputer 28(4) pp. 56-63, Apr 1995.
David Lorge Parnas, Really rethinking 'formal methods'. Computer 43(1) pp. 28-34, Jan 2010. Discussion: where are formal methods? (slides)
|
5 May 2011 |
StandardsMartyn Thomas, Unsafe Standardization. IEEE Computer 40(11), pp. 109-111, Nov 1997.Simone Santini, Standards: What are they Good For? IEEE Computer 39(12), pp. 140-139, Dec 2006. Presenter: Shani Shanon
Ho-Won Jung, Seung-Gweon Kim, and Chang-Sin Chung,
Measuring software
product quality: A survey of ISO/IEC 9126.
IEEE Software 21(5) pp. 10-13, Sep/Oct 2004.
Michi Henning,
API design matters.
Comm ACM 52(5), pp. 46-56, May 2009.
Discussion: what and how to standardize (slides) |
12 May 2011 |
MetricsLinda Westfall, 12 Steps to Useful Software Metrics. 2005.Presenter: Sivan Gamlieli
Barbara Kitchenham, David Ross Jeffery, and Colin Connaughton,
Misleading metrics and unsound analyses.
IEEE Software 24(2), pp. 73-78, Mar-Apr 2007.
Katrina D. Maxwell and Pekka Forselius,
Benchmarking software
development productivity.
IEEE Software 17(1), pp. 80-88, Jan-Feb 2000.
Discussion: why and how to measure software (slides)
|
19 May 2011 |
Agile Methods, Software Evolution, and Open Source* Manifesto for Agile Software Development.Kent Beck, Extreme programming explained: embrace change. Addison-Wesley, 1999.
Balasubramaniam Ramesh, Lan Cao, and Richard Baskerville,
Agile
requirements engineering practices and challenges: an empirical
study.
Inf. Syst. J. 20(5), pp. 449-480, Sep 2010.
Laurie A. Williams and Robert R. Kessler,
All I really need
to know about pair programming I learned in kindergarten.
Comm. ACM 43(5), pp. 108-114, May 2000.
T. Dyba, E. Arisholm, D.I.K. Sjoberg, J.E. Hannay, and F. Shull,
Are two heads better
than one? On the effectiveness of pair programming.
IEEE Software 24(6), pp. 12-15, Nov-Dec 2007.
Robert C. Martin,
Professionalism and
test-driven development.
IEEE Software 24(3), pp. 32-36, May-Jun 2007.
|
26 May 2011 |
Godfrey and Tu,
Evolution in open
source software: a case study.
Intl. Conference on Software Maintenance, Oct 2000.
Presenter: David Kranzdorf
Mark Mahoney,
Software
Evolution and the Moving Picture Metaphor.
Onward! at OOPSLA 2009.
V. T. Rajlich and K. H. Bennett,
A staged model for the software life cycle.
Computer 33(7), pp. 66--71, Jul 2000.
Denning, Gunderson, and Hayes-Roth, Evolutionary system development. Comm. ACM 51(12), Dec 2008.
REPORT
Eric S. Raymond,
The
Cathedral and the Bazaar. 2000.
Submit
via Moodle
Alistair Cockburn, What is a process good for?, 2007. Discussion: agile and perpetual development (slides)
|
2 Jun 2011 |
Software Engineering ResearchVictor R. Basili and Marvin V. Zelkowitz, Empirical studies to build a science of computer science. Comm. ACM 50(11), pp. 33-37, Nov 2007.Presenter: Arie Shterngertz (slides)
Leon J. Osterweil, Carlo Ghezzi, Jeff Kramer, and Alexander L. Wolf,
Determining the Impact
of Software Engineering Research on Practice.
Computer 41(3), pp. 39-49, Mar 2008.
Dieter Rombach, Marcus Ciolkowski, Ross Jeffery, Oliver Laitenberger,
Frank McGarry, and Forrest Shull,
Impact of research
on practice in the field of inspections, reviews, and walkthroughs:
learning from successful industrial uses.
ACM SIGSOFT Software Engineering Notes 33(6), Nov 2008.
Victor R. Basili and Robert W. Reiter, Jr., A controlled experiment quantitatively comparing software development approaches. IEEE Trans. Softw. Eng. SE-7(3), pp. 299-320, May 1981. Robert L. Glass, Revisiting the industry/academe communication chasm. Comm. ACM 40(6), pp. 11-12, Jun 1997. Discussion: the role of academia (slides) |