UPM is our internal standalone library to perform static analysis of SQL code and enhance SQL authoring. UPM takes SQL code as input and represents it as a data structure called a semantic tree. Infrastructure teams at Meta leverage UPM to build SQL linters, catch user mistakes in SQL code, and perform data lineage analysis at scale. Executing SQL queries against our data warehouse is important to
![Enabling static analysis of SQL queries at Meta](https://cdn-ak-scissors.b.st-hatena.com/image/square/418fc14346d6f3ff4fe273fc896ef1b85acf7750/height=288;version=1;width=512/https%3A%2F%2Fengineering.fb.com%2Fwp-content%2Fuploads%2F2022%2F11%2FEng-Blog-Self-Serve-Hero-Images-ANALYTICS-401-Orange.jpg)