140 likes | 261 Vues
This document outlines the CS527 Software Engineering course on Software Testing and Analysis, led by Darko Marinov. Key components include a significant project (40%), presentations (20%), participation (20%), and homework assignments (20%). The course schedule includes introductory lectures and topics like test repair and generation methods (e.g., UDITA, Pex, Randoop). Emphasis is placed on in-depth exploration of selected topics and engagement in discussions related to software testing methodologies and research paper analysis. Prepare for a challenging yet rewarding experience.
E N D
CS527Topics in Software Engineering(Software Testing and Analysis) Darko Marinov August 31, 2010
Course Info • Everyone seems to be on the mailing list • Two more students registered this week • Coursework • PROJECT [40%] • Already received some proposals • Presentation [20%] • Participation (reports and discussion) [20%] • Homework assignment(s) [20%] • Fair warning: this is NOT easy • Project requires that you explore some topic in great depth
Schedule • First few lectures to help you select projects • Last week: Intro, ReAssert (test repair) • Today: UDITA (test generation) • Sep 2: Pex (test generation) • Sep 7: Randoop? (test generation) • Sep 9: JPF? (model checking) • Your preferences? (I’ll also read HW0) • Software testing, model checking, static analysis • Your presentations after that • 3 presentations per lecture (~20 minutes each)
Guideline for Reading Papers • How to Read an Engineering Research Paper by William G. Griswold • Did you get to read the guideline? • How long is the report form? • Our form for reports will be shorter • In the future, papers should be read (and some reports written) in advance, before the class, so that we can have a good discussion • Any questions about the guideline?
(Meta-)Paper on Writing Papers • Writing Good Software Engineering Research Papers by Mary Shaw (ICSE 2003) • Could we analyze this paper itself using the guideline for reading papers?
Writing Good SE Papers • Motivation • Guidelines for writing papers for ICSE • Approach • Analysis of papers submitted to ICSE 2002 • Distribution across three dimensions • Question • Result • Validation • Results • Writing matters, know your conferences!
Types of Question • Method or means of development • Method for analysis or evaluation • Design, evaluation, or analysis of a particular instance • Generalization or characterization • Feasibility study or exploration
Types of Result • Procedure or technique • Qualitative or descriptive model • Empirical model • Analytic model • Tool or notation • Specific solution, prototype, answer, or judgment • Report
Types of Validation • Analysis • Evaluation • Experience • Example • Persuasion • Blatant assertion
Some Questions for Discussion • Why do analysis papers have an edge? • What about other (software engineering) conferences? • Does the mentality of PC differ from one conference to another? • Development vs. evaluation in software engineering?
Other Papers/Projects? • Some papers that you read or will read • Do they follow these guidelines? • Your reports on papers should also consider question/result/validation • Your own project • Question? • Result? • Validation?
(Y)our Paper Reports • Start on Thursday; four items: • One good point • One bad point • One potential project (help for proposals) • One question for discussion • Looking for depth • Length is not important; answers that are too long can make it hard to find the depth
Paper Today • Test Generation through Programming in UDITAby Milos Gligoric, Tihomir Gvero, Vilas Jagannath, Sarfraz Khurshid, Viktor Kuncak, and Darko Marinov (ICSE 2010) • What would you write for the four items: • One good point • One bad point • One potential project • One question for discussion
Next Lecture • Thursday, September 2 • Assignment 1 • Read a paper (listed on Wiki) • Pex – White Box Test Generation for .NETNikolai Tillmann and Jonathan de Halleux (TAP 2008) • Write a report (by 2pm but better send by 1pm) • Assignment 0: Modify “People” on Wiki if you didn’t already do so