80 likes | 271 Views
CS527: Advanced Topics in Software Engineering (Software Testing and Analysis). Darko Marinov September 20, 2007. Schedule. Sep 20: EXE (testing, symbolic execution) I’m running late with emails; my apologies! Sep 25: no lecture, initial project proposals
E N D
CS527: Advanced Topics in Software Engineering(Software Testing and Analysis) Darko Marinov September 20, 2007
Schedule • Sep 20: EXE (testing, symbolic execution) • I’m running late with emails; my apologies! • Sep 25: no lecture, initial project proposals • Let me know what area you want to work on • Sep 27 (not 25) on: your presentations • Need more volunteers • You get to write fewer reports
Public Info on Presentations? • Should we list the names of presenters? • Option 1: publicly list full names • Privacy rules require your permission • Option 2: list only initials • So we know who’s presenting • Option 3: list full names, protect Wiki page • Issue: You need to log in to read the schedule
Public Reports • If you want, you can make your reports public • Post them on some web site/blog/Wiki • Email us the link • Be careful about what you write • Authors may read your reports • Others may read your reports
Feedback on Reports • Are you meeting expectations? • What are Brett’s and my expectations? • What are YOUR expectations? • My opinion: you’re doing quite well • Best reports relate to personal experience or offer non-generic insights • Avoid generic questions: more evaluation, can it work for multi-threaded code etc.
Paper Today • EXE: Automatically Generating Inputs of Deathby Cristian Cadar, Vijay Ganesh, Peter Pawlowski, David Dill, Dawson Engler (CCS 2006) • EXE/STP availability • I could ask Cristi for access to code • Other tools: http://osl.cs.uiuc.edu/~ksen/cute/ • Slides courtesy of Cristi Cadar
Questions for Discussion (1) • Are EXE/STP correct? • Are they finding all bugs? • Are they finding real bugs? • How to test testing tools? • Was EXE applied on itself or another tool? • Symbolic execution vs. other techniques? • Why are floating-points a problem? • Challenges for other language constructs?
Questions for Discussion (2) • Why so much focus on optimizations? • Can more optimizations be done? • How to choose what programs to test? • Do you expect to find errors? • “Taxonomy" of automated testing tools? • We’ve seen many of them • When does symbolic execution work well? • When (not) to use this in practice?