| Active property checking |
| Full text |
Pdf
(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 |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 11, Downloads (12 Months): 70, Citation Count: 1
|
|
|
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
|
Sanjay Bhansali , Wen-Ke Chen , Stuart de Jong , Andrew Edwards , Ron Murray , Milenko Drinić , Darek Mihočka , Joe Chau, Framework for instruction-level tracing and analysis of program executions, Proceedings of the 2nd international conference on Virtual execution environments, June 14-16, 2006, Ottawa, Ontario, Canada
[doi> 10.1145/1134760.1220164]
|
| |
4
|
|
 |
5
|
Cristian Cadar , Vijay Ganesh , Peter M. Pawlowski , David L. Dill , Dawson R. Engler, EXE: automatically generating inputs of death, Proceedings of the 13th ACM conference on Computer and communications security, October 30-November 03, 2006, Alexandria, Virginia, USA
[doi> 10.1145/1180405.1180445]
|
| |
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
|
Seth Hallem , Benjamin Chelf , Yichen Xie , Dawson Engler, A system and language for building system-specific, static analyses, Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation, June 17-19, 2002, Berlin, Germany
|
| |
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
|
Satish Narayanasamy , Zhenghao Wang , Jordan Tigani , Andrew Edwards , Brad Calder, Automatically classifying benign and harmful data racesallusing replay analysis, Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation, June 10-13, 2007, San Diego, California, USA
|
 |
23
|
|
 |
24
|
|
 |
25
|
|
|