ACM Home Page
Please provide us with feedback. Feedback
Active property checking
Full text PdfPdf (309 KB)
Source
International Conference On Embedded Software archive
Proceedings of the 8th ACM international conference on Embedded software table of contents
Atlanta, GA, USA
SESSION: Testing table of contents
Pages 207-216  
Year of Publication: 2008
ISBN:978-1-60558-468-3
Authors
Patrice Godefroid  Microsoft, Redmond, WA, USA
Michael Y. Levin  Microsoft, Redmond, WA, USA
David A. Molnar  Microsoft, Redmond, WA, USA and University of California, Berkeley, Berkeley, CA, USA
Sponsors
ACM: Association for Computing Machinery
SIGBED: ACM Special Interest Group on Embedded Systems
SIGMICRO: ACM Special Interest Group on Microarchitectural Research and Processing
SIGDA: ACM Special Interest Group on Design Automation
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 70,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1450058.1450087
What is a DOI?

ABSTRACT

Runtime property checking (as implemented in tools like Purify or Valgrind) checks whether a program execution satisfies a property. Active property checking extends runtime checking by checking whether the property is satisfied by all program executions that follow the same program path. This check is performed on a symbolic execution of the given program path using a constraint solver. If the check fails, the constraint solver generates an alternative program input triggering a new program execution that follows the same program path but exhibits a property violation. Combined with systematic dynamic test generation, which attempts to exercise all feasible paths in a program, active property checking defines a new form of dynamic software model checking (program verification). In this paper, we formalize and study active property checking. We show how static and dynamic type checking can be extended with active type checking. Then, we discuss how to implement active property checking efficiently. Finally, we discuss results of experiments with media playing applications on Windows, where active property checking was able to detect several new security-related bugs.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
iphone TIFF image processing vulnerability, 2007. http://secunia.com/advisories/27213/.
 
2
3
 
4
5
 
6
Microsoft Corporation. AppVerifier, 2007. http://www.microsoft.com/technet/prodtechnol/windows/appcompatibility/appverifier.mspx.
7
8
9
 
10
P. Godefroid, M. Y. Levin, and D. Molnar. Active Property Checking. Technical report, Microsoft, 2007. MSR-TR-2007-91.
 
11
P. Godefroid, M. Y. Levin, and D. Molnar. Automated Whitebox Fuzz Testing. In Proceedings of NDSS'2008 (Network and Distributed Systems Security), San Diego, February 2008. http://research.microsoft. com/users/pg/public_psfiles/ndss2008.pdf.
12
13
14
 
15
Y. Hamadi. Disolver: the distributed constraint solver version 2.44, 2006. http://research.microsoft.com/~youssefh/DisolverWeb/disolver.pdf.
 
16
R. Hastings and B. Joyce. Purify: Fast Detection of Memory Leaks and Access Errors. In Proceedings of the Usenix Winter 1992 Technical Conference, pages 125--138, Berkeley, January 1992.
 
17
P. Joshi, K. Sen, and M. Shlimovich. Predictive testing: Amplifying the effectiveness of software testing. Technical report, UC-Berkeley, April 2007. UCB/EECS-2007-35.
18
 
19
B. Korel. A Dynamic Approach of Test Data Generation. In IEEE Conference on Software Maintenance, pages 311--317, San Diego, November 1990.
 
20
 
21
22
23
24
25


Collaborative Colleagues:
Patrice Godefroid: colleagues
Michael Y. Levin: colleagues
David A. Molnar: colleagues