160 likes | 190 Views
CS527: Advanced Topics in Software Engineering (Software Testing and Analysis). Darko Marinov August 28, 2008. Course Overview. Graduate seminar on program analysis (for bug finding), emphasis: systematic testing Papers: read/write/present/discuss
E N D
CS527: Advanced Topics in Software Engineering(Software Testing and Analysis) Darko Marinov August 28, 2008
Course Overview • Graduate seminar on program analysis (for bug finding), emphasis: systematic testing • Papers: read/write/present/discuss • Focus on a (research) project: proposal, progress report, presentation, paper • One or two problem sets • Teaching staff • Insructor: Darko <marinov AT cs.uiuc.edu> • TA: Vilas <vbangal2 AT cs.uiuc.edu>
Course Communication • Mailing list: cs527 AT cs.uiuc.edu • Did you get welcome email and questionnaire? • Thank you for answering the questionnaire • Wikihttp://agora.cs.uiuc.edu/display/cs527fa08 • New groups were created and should be populated with all registered students • Hopefully all of you can sign up on “People”
Course Organization Questions • Textbook? • No textbook required • For some background on testing, you can read“Introduction to Software Testing”by Paul Ammann and Jeff Offutt • Deliverables? • No exams: no final, no midterm • Focus on project (which is not easy) • Writing: proposal, two reports, hopefully bug reports • Presentation: show your work and related papers
Evaluation • Grading • Project [40%] • Presentation [20%] • Participation (reports and discussion) [20%] • Problem set(s) [20%] • Distribution • Grades will be A- centered • No guarantee for A (or even a passing grade)! • Project is the most important
General Project Topics • Test thoroughly a piece of software • Apply some technique(s)/tool(s) that we read about on some piece of software • Improve some technique/tool that we discuss in class • Evaluate some techniques/tools on a number of case studies • Develop a new technique/tool • …
Today’s Lecture • Guideline for reading papers • Paper on writing papers • Some example testing
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?
Next Lecture • Tuesday, September 2 • Assignment 1 • Read a paper (listed on Wiki) • Feedback-directed random test generationby Carlos Pacheco, Shuvendu K. Lahiri, Michael D. Ernst, and Thomas Ball (ICSE 2007) • If communication works, write a report • Assignment 0: Modify “People” on Wiki • More info will be sent on the mailing list