170 likes | 333 Views
CS527: (Advanced) Topics in Software Engineering (Software Testing and Analysis). Darko Marinov August 25, 2011. 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 25, 2011
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, final paper, presentation(?) • One or two problem sets • Teaching staff • Instructor: Darko (NetID: marinov) • TA: Shin Hwei (not just Shin, NetID: stan6) • General email info: netid@illinois.edu
Course Communication • Mailing list: cs527-fa11 AT cs.illinois.edu • Did you get welcome email? • There will be soon HW0 announcement • Wikihttp://wiki.engr.uiuc.edu/display/cs527fa11 • Most of you were able to access and sign on the “People” page • Hopefully all of you can sign up on “People” now
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 related papers and your work
Evaluation • Grading • Project [40%] • Presentation [20%] • Participation (reports and discussion) [20%] • Homework assignment(s) [20%] • Distribution • Grades will be A- centered • No guarantee for A (or even a passing grade)! • Project is the most important • Preferably in groups (2-3 students)
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 • … • Some specific proposals will be on Wiki
How to Choose a Project? • Talk • Discuss with other people • Group projects: talk with students • TA and/or me • Read • Read papers and see what the limitations are • Reuse problem or solution • Program • Problems from you own development experience • Dream :)
Today’s Lecture/Meeting • Guideline for reading papers • Paper on writing papers
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 • Later on, papers should be read (and reports written) in advance, before the meeting, 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, August 30 • HW0: issues in your software development • Email as an attachment to ME (marinov) • Assignment 1 • Read a paper (listed on Wiki) • Iterative Context Bounding for Systematic Testing of Multithreaded ProgramsMadanMusuvathi and ShazQadeer (PLDI 2007) • May change to IMUnit • No paper report due yet! • Assignment 0: Modify “People” on Wiki