CS 527 Advanced Topics in Software Engineering Software

  • Slides: 16
Download presentation
CS 527: Advanced Topics in Software Engineering (Software Testing and Analysis) Darko Marinov August

CS 527: 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

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 <vbangal 2 AT cs. uiuc. edu>

Course Communication • Mailing list: cs 527 AT cs. uiuc. edu – Did you

Course Communication • Mailing list: cs 527 AT cs. uiuc. edu – Did you get welcome email and questionnaire? – Thank you for answering the questionnaire • Wiki http: //agora. cs. uiuc. edu/display/cs 527 fa 08 – 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

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)

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)

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

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

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

(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 •

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

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

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

Types of Validation • • • Analysis Evaluation Experience Example Persuasion Blatant assertion

Some Questions for Discussion • Why do analysis papers have an edge? • What

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

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

Next Lecture • Tuesday, September 2 • Assignment 1 – Read a paper (listed on Wiki) • Feedback-directed random test generation by 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