Meta testuje kod milionem mutantów. LLM-y robią to automatycznie
- Meta zaprezentowała na konferencjach FSE 2025 i Eurostar 2025 narzędzie Automated Compliance Hardening wykorzystujące duże modele językowe do automatyzacji testów zgodności oprogramowania.
- System stosuje mutation testing sterowany przez LLM-y, które generują celowe modyfikacje kodu sprawdzające czy testy wykrywają potencjalne naruszenia compliance.
- Narzędzie przyspiesza pracę programistów i zespołów produktowych poprzez automatyczne identyfikowanie słabych punktów w pokryciu testami bez ręcznego pisania przypadków testowych.
ACH zamienia LLM-y w maszynę do łamania własnego kodu
Meta ujawniła szczegóły działania Automated Compliance Hardening — wewnętrznego narzędzia, które wykorzystuje duże modele językowe do automatycznego testowania zgodności oprogramowania z wymogami regulacyjnymi. Prezentacje odbyły się na dwóch konferencjach: FSE 2025 (Foundations of Software Engineering) oraz Eurostar 2025.
Koncepcja brzmi przewrotnie: zamiast pisać testy sprawdzające czy kod działa poprawnie, ACH celowo psuje kod i sprawdza czy istniejące testy to wyłapią. To klasyczny mutation testing, ale na sterydach — bo mutacje generuje LLM zamiast prostych reguł.
Mutation testing po nowemu
Tradycyjny mutation testing istnieje od lat 70. Algorytm podmienia operatory (plus na minus), usuwa linijki kodu, zmienia warunki w ifach. Jeśli test nadal przechodzi po takiej mutacji — masz dziurę w pokryciu. Problem? Większość mutacji to śmieci, które crashują program zanim dotrą do właściwego testu.
LLM-y rozwiązują ten problem przez kontekst. Model rozumie co robi dany fragment kodu, jakie ma zależności, gdzie są granice funkcji. Generuje mutacje które:
- Kompilują się bez błędów
- Zmieniają zachowanie w sposób zbliżony do prawdziwych bugów
- Celują w obszary istotne dla compliance
Meta nie podała dokładnych liczb skuteczności, ale sam fakt dwóch keynote’ów na topowych konferencjach sugeruje, że wyniki były wystarczająco dobre żeby się chwalić.
Compliance jako cel, nie efekt uboczny
Większość narzędzi do mutation testing skupia się na ogólnej jakości kodu. ACH idzie dalej — celuje konkretnie w wymogi compliance. GDPR, CCPA, wewnętrzne polityki Mety dotyczące danych użytkowników.
W praktyce oznacza to, że LLM nie generuje losowych mutacji. Dostaje kontekst: “ten kod obsługuje usuwanie danych użytkownika na żądanie”. Potem tworzy mutacje które sprawdzają czy:
- Dane faktycznie są usuwane, nie tylko oznaczane jako usunięte
- Usunięcie propaguje się do wszystkich kopii i backupów
- Logi nie zachowują wrażliwych informacji po usunięciu
- Timeout nie przerywa operacji w połowie
Każda mutacja która przejdzie przez testy to potencjalne naruszenie regulacji. ACH raportuje te przypadki programistom zanim kod trafi na produkcję.
Programiści zyskują czas, compliance zyskuje pewność
Meta twierdzi, że ACH przyspiesza pracę zespołów developerskich i produktowych. Mechanizm jest prosty — zamiast zgadywać jakie edge case’y mogą wystąpić, programista odpala ACH i dostaje listę konkretnych scenariuszy do pokrycia.
To zmiana podejścia. Tradycyjnie compliance review odbywał się pod koniec cyklu developmentu, często jako blokada przed wypuszczeniem feature’a. Kod wracał do poprawek, terminy się przesuwały, PM-owie szarpali włosy z głowy.
Z ACH compliance staje się częścią CI/CD. Każdy commit przechodzi przez battery of mutations. Problemy wychodzą na światło dzienne gdy są jeszcze łatwe do naprawienia — nie tydzień przed planowanym release’m.
Ograniczenia, o których Meta nie mówi głośno
Prezentacja na konferencji to nie peer-reviewed paper. Kilka pytań pozostaje bez odpowiedzi:
Jak duży jest false positive rate? LLM-y halucynują. Czy ACH generuje mutacje które wyglądają groźnie, ale w praktyce są niemożliwe do wywołania przez użytkownika?
Jaki model stoi za narzędziem? Meta ma Llama, ale dla krytycznych zastosowań wewnętrznych mogą używać czegoś innego. Wydajność i koszty zależą od tego wyboru.
Czy ACH działa na legacy code? Systemy Mety mają dekady historii. Kod bez testów to kod gdzie mutation testing niewiele pomoże — nie ma czego łamać.
Kierunek dla całej branży
Meta nie jest jedyna w eksperymentach z LLM-ami do testowania. Google ma własne projekty, Microsoft integruje Copilot z pipeline’ami testowymi. Ale ACH wyróżnia się focusem na compliance — obszar gdzie błędy kosztują miliardy w karach i reputacji.
Dla mniejszych firm to sygnał. Narzędzia open source pewnie pojawią się w ciągu roku-dwóch, bazując na publicznych modelach i frameworkach jak LangChain. Mutation testing sterowany przez LLM-y przestanie być luksusem big techu.
Meta nie udostępniła kodu ACH ani nie zapowiedziała planów open source. Na razie to przewaga konkurencyjna — jeden powód mniej żeby regulator zapukał do drzwi.