Google Tech Speak
July 22, 2010
ABSTRACT
Offered by Professor George Candea http://individuals.epfl.ch/george.candea
This speak proposes cloud-based automated software program reliability providers (SRS), a step towards making testing and debugging of code as straightforward as utilizing webmail. SRS is automated, with out human involvement from the service person’s or supplier’s aspect; that is in contrast to as we speak’s “testing as a service” companies, which make use of people to jot down exams.
First, I’ll define 4 of the SRS parts we envision: a “residence version” on-demand testing service for customers to confirm the software program they’re about to put in on their PC or cellular gadget; a “programmer’s sidekick” enabling builders to completely and promptly take a look at their code with minimal upfront useful resource funding; a public “certification service,” akin to Underwriters Labs, that independently assesses the reliability, security, and safety of software program; and an “automated debugging” service that helps builders repair code based mostly on bug reviews from the sector.
Then I’ll current intimately execution synthesis, the method that makes automated debugging (the latter SRS part) a actuality. Given a program and a bug report, execution synthesis combines static evaluation and symbolic execution to “synthesize” a thread schedule and varied required program inputs that trigger the reported bug to manifest. The synthesized execution can then be performed again deterministically in an everyday debugger, like gdb. Now we have discovered this determinism to be significantly helpful in debugging concurrency bugs. Our method requires no runtime tracing or program modifications, thus incurring no runtime overhead and being sensible to be used in manufacturing programs. We consider it on standard software program (e.g., the SQLite database, ghttpd Net server, HawkNL community library, UNIX utilities) and discover that, ranging from mere bug reviews, it could reproduce by itself a number of actual concurrency and reminiscence security bugs in lower than three minutes.
source