Meta's JiTTesting system leverages large language models (LLMs) to automatically generate Just-in-Time Tests (JiTTests) for code changes, aiming to catch bugs before they land in production. This architecture integrates multiple workflows and assessment stages, including LLM-as-Judge and a human-on-the-loop approach, to ensure high true-positive rates and maintain developer velocity at an extreme scale.
Read original on Meta EngineeringMeta Engineering's JiTTesting system is a sophisticated approach to automated bug detection, crucial for managing the immense scale and rapid evolution of their codebase. Unlike traditional AI-based code reviews, JiTTests generate executable tests that specifically expose behavioral differences introduced by a code change. This system is designed to proactively identify risks and significantly reduce the occurrence of severe bugs, particularly privacy-related ones, before they impact users.
The core of Catching JiTTests involves two tandem workflows for generating tests targeting code changes (diffs):
To filter false positives and ensure actionable insights, the system employs a multi-stage assessment process:
System Design Takeaway
The JiTTesting system demonstrates a successful application of AI at scale, not just in test generation but in intelligently managing the testing workflow. Its ability to combine non-deterministic LLM judgments with deterministic rule-based checks and human-on-the-loop validation is key to its high true-positive rate and engineer engagement.