interpretation is a general framework for expressing static program analyses. It reduces the problem of extracting properties of a program to computing an approximation of the least fixpoint of a system of equations. The de facto approach for computing this approximation uses a sequential algorithm based on weak topological order (WTO). This paper presents a deterministic parallel algorithm for fixpoint computation by introducing the notion of weak partial order (WPO). We present an algorithm for constructing a WPO in almost-linear time. Finally, we describe Pikos, our deterministic parallel abstract interpreter, which extends the sequential abstract interpreter IKOS. We evaluate the performance and scalability of Pikos on a suite of 1017 C programs. When using 4 cores, Pikos achieves an average speedup of 2.06x over IKOS, with a maximum speedup of 3.63x. When using 16 cores, Pikos achieves a maximum speedup of 10.97x.Program analysis is a widely adopted approach for automatically extracting properties of the dynamic behavior of programs [Balakrishnan et al. 2010; Ball et al. 2004;Brat and Venet 2005;Delmas and Souyris 2007;Jetley et al. 2008]. Program analyses are used, for instance, for program optimization, bug finding, and program verification. To be effective, a program analysis needs to be efficient, precise, and deterministic (the analysis always computes the same output for the same input program) [Bessey et al. 2010]. This paper aims to improve the efficiency of program analysis without sacrificing precision or determinism.Abstract interpretation [Cousot and Cousot 1977] is a general framework for expressing static program analyses. A typical use of abstract interpretation to determine program invariants involves:C1 An abstract domain A that captures relevant program properties. Abstract domains have been developed to perform, for instance, numerical analysis [Cousot and HalbwachsEach index i ∈ [1, n] corresponds to a control point of the program, the unknowns X i of the system correspond to the invariants to be computed for these control points, and each F i is a monotone operator incorporating the abstract transformers and control flow of the program. C3 Computing an approximation of the least fixpoint of Eq. 1. The exact least solution of the system can be computed using Kleene iteration starting from the least element of A n provided A is Noetherian. However, most interesting abstract domains require the use of widening to ensure termination, which may result in an over-approximation of the invariants of the program. A subsequent narrowing iteration tries to improve the post solution via a downward fixpoint iteration. In practice, abstract interpreters compute an approximation of the least fixpoint. In this paper, we use "fixpoint" to refer to such an approximation of the least fixpoint.The iteration strategy specifies the order in which the equations in Eq. 1 are applied during fixpoint computation and where widening is performed. For a given abstraction, the efficiency, precision, and determinism o...