[图书][B] Principles of program analysis
Program analysis concerns static techniques for computing reliable approximate information
about the dynamic behaviour of programs. Applications include compilers (for code …
about the dynamic behaviour of programs. Applications include compilers (for code …
Analysis of multithreaded programs
M Rinard - International Static Analysis Symposium, 2001 - Springer
The field of program analysis has focused primarily on sequential programming languages.
But multithreading is becoming increasingly important, both as a program structuring …
But multithreading is becoming increasingly important, both as a program structuring …
Parametric shape analysis via 3-valued logic
Shape analysis concerns the problem of determining" shape invariants" for programs that
perform destructive updating on dynamically allocated storage. This article presents a …
perform destructive updating on dynamically allocated storage. This article presents a …
Generalized symbolic execution for model checking and testing
Modern software systems, which often are concurrent and manipulate complex data
structures must be extremely reliable. We present a novel framework based on symbolic …
structures must be extremely reliable. We present a novel framework based on symbolic …
Korat: Automated testing based on Java predicates
C Boyapati, S Khurshid, D Marinov - ACM SIGSOFT Software …, 2002 - dl.acm.org
This paper presents Korat, a novel framework for automated testing of Java programs. Given
a formal specification for a method, Korat uses the method precondition to automatically …
a formal specification for a method, Korat uses the method precondition to automatically …
Pointer analysis: Haven't we solved this problem yet?
M Hind - Proceedings of the 2001 ACM SIGPLAN-SIGSOFT …, 2001 - dl.acm.org
During the past twenty-one years, over seventy-five papers and nine Ph. D. theses have
been published on pointer analysis. Given the tomes of work on this topic one may …
been published on pointer analysis. Given the tomes of work on this topic one may …
Test input generation with Java PathFinder
We show how model checking and symbolic execution can be used to generate test inputs
to achieve structural coverage of code that manipulates complex data structures. We focus …
to achieve structural coverage of code that manipulates complex data structures. We focus …
Heap abstractions for static analysis
V Kanvar, UP Khedker - ACM Computing Surveys (CSUR), 2016 - dl.acm.org
Heap data is potentially unbounded and seemingly arbitrary. Hence, unlike stack and static
data, heap data cannot be abstracted in terms of a fixed set of program variables. This …
data, heap data cannot be abstracted in terms of a fixed set of program variables. This …
Ownership types for safe programming: Preventing data races and deadlocks
C Boyapati, R Lee, M Rinard - Proceedings of the 17th ACM SIGPLAN …, 2002 - dl.acm.org
This paper presents a new static type system for multithreaded programs; well-typed
programs in our system are guaranteed to be free of data races and deadlocks. Our type …
programs in our system are guaranteed to be free of data races and deadlocks. Our type …
Optimistic parallelism requires abstractions
M Kulkarni, K Pingali, B Walter… - Proceedings of the 28th …, 2007 - dl.acm.org
Irregular applications, which manipulate large, pointer-based data structures like graphs, are
difficult to parallelize manually. Automatic tools and techniques such as restructuring …
difficult to parallelize manually. Automatic tools and techniques such as restructuring …