<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Static-Analysis on ppl-blog</title><link>https://rifqi-blog.vercel.app/tags/static-analysis/</link><description>Recent content in Static-Analysis on ppl-blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 25 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://rifqi-blog.vercel.app/tags/static-analysis/index.xml" rel="self" type="application/rss+xml"/><item><title>Static Analysis Isn't Optional: How We Built a Three-Tier Quality Gate for SIRA</title><link>https://rifqi-blog.vercel.app/posts/static-analysis-three-tiers/</link><pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate><guid>https://rifqi-blog.vercel.app/posts/static-analysis-three-tiers/</guid><description>&lt;p&gt;There&amp;rsquo;s a version of static analysis that doesn&amp;rsquo;t work: you add a linter to CI, it flags style issues nobody fixes, the team learns to ignore the yellow warnings, and the tool becomes decoration. The failures it was supposed to catch go to production anyway.&lt;/p&gt;
&lt;p&gt;The version that works is where the tool is in the critical path. It blocks the commit, or blocks the merge, or blocks the deploy. When it fires, something stops until someone fixes it. The tool has teeth.&lt;/p&gt;</description></item></channel></rss>