Soot là một framework giúp thực hiện static analysis cho bytecode của Java và được sử dụng rất rộng rãi. Framework này hỗ trợ một tập các phương pháp phân tích tĩnh chuẩn, chẳng hạn như call graph generation, points-to analysis, reflection handling.

Soot biểu diễn code dưới dạng three-address code, dạng này có thể chuyển sang single static assignment, một dạng biểu diễn phổ biển của compiler dùng để phân tích data flow.

Đồng thời, Soot cũng tích hợp các phương pháp points-to analysis để hỗ trợ cho việc xây dựng call graph và các phương pháp phân tích khác về sau. Cụ thể, Soot sử dụng context sensitivecontext insensitive để giúp người dùng có thể cân bằng giữa độ chính xác của kết quả và độ hiệu quả về thời gian cũng như bộ nhớ.