Oszustwa, grube oszustwa i testy

Omijanie testów i benchmarków ma dość długą historię. Ostatnie problemy Vokswagena udowodniły, że nawet w motoryzacji nowoczesne oprogramowanie może wykryć prowadzenie testów i odpowiednio zmienić pracę silnika. Podobne sztuczki stosowano także w IT.

Silniki diesla od dawna były kojarzone z dymieniem i ogólnie większymi zanieczyszczeniami, oferując w zamian mniejsze spalanie paliwa. Nowe normy ochrony środowiska nałożyły bardzo wysokie wymagania odnośnie do czystości spalin i poziomu spalania, a zatem producenci zdecydowali się albo na budowę technologii napędu hybrydowego (tę drogę wybrała Toyota) albo na usprawnienia istniejących silników diesla. Volkswagen postanowił zmniejszyć koszty i zamiast budować technologię hybrydową lub w inny sposób zbudować „czystsze” silniki, wprowadził odpowiednie oprogramowanie do komputerów sterujących pracą swoich diesli w taki sposób, by procedury wykrywały jazdę testową. Po wykryciu testów oprogramowanie przechodziło w tryb „czysty”, w którym silnik wykazywał parametry zgodne z przyjętymi normami, które kwalifikowały go do ulgi podatkowej w USA. Tymczasem podczas normalnej eksploatacji samochód tych norm spełnić nie mógł. Problem dotyczy silników diesla montowanych w niektórych modelach VW od 2009 do 2015, a także w Audi od 2010 do 2015. Amerykańska agencja ochrony środowiska EPA (Environmental Protection Agency) poinformowała, że manipulacja oprogramowaniem sprawiła, że samochody spełniały standardy emisji podczas badań laboratoryjnych lub testów na stacjach kontrolnych, ale podczas normalnej eksploatacji przekraczały normy emisji tlenków azotu niemal czterdziestokrotnie. Skutkiem była potężna afera, miliardowe straty koncernu i zmiana na stanowisku CEO Volkswagena. Podobne oszustwa przy omijaniu testów wydajnościowych obserwowaliśmy także w sferze IT.

Steven J. Vaughan-Nichols pisze: „Budowałem i prowadziłem testy wydajnościowe przez niemal 30 lat. Wiele przypadków widziałem z pierwszej ręki. Mogę powiedzieć, że firmy technologiczne oszukiwały w testach od samego początku”.

Zobacz również:

Whitepaper producenta a wyniki badań

Producenci zapór sieciowych bardzo często chwalą się wydajnością sprzedawanych przez siebie urządzeń. O ile w testach laboratoryjnych wyniki mogą być imponujące, praca w rzeczywistym środowisku z włączonymi wszystkimi niezbędnymi opcjami inspekcji wykazała, że w takich warunkach wydajność radykalnie spada. W 2013r. NSS Labs opublikowało porównanie wydajności zapór sieciowych różnych producentów (Firewall comparative analysis, dostępne na stronach Fortinet Polska). W przypadku niektórych dostawców zmierzona w laboratorium wydajność stanowiła mniej niż jedną trzecią deklarowanej. Podobne zjawisko można zaobserwować w przypadku deklarowanego zużycia energii elektrycznej przez urządzenia elektroniczne, w tym telewizory lub monitory.

Należy przy tym rozróżnić dwa przypadki – pierwszy z nich obejmuje deklarowane parametry, które rzeczywiście można osiągnąć w ściśle określonych warunkach laboratorium, ale nie odpowiadają one rzeczywistym warunkom pracy urządzenia. Drugim przypadkiem jest specjalne przygotowanie urządzenia pod kątem prowadzonych później testów. O wiele ciekawszy jest ten drugi przypadek.

Oszukańcze karty sieciowe

W latach osiemdziesiątych Steven Vaughan-Nichols razem z innymi dziennikarzami technologicznymi prowadził testy wydajnościowe kart sieciowych Ethernet. W tych testach pojawiała się jedna konkretna marka, która osiągała nadzwyczaj dobre wyniki, wybijając się spośród wszystkich innych. Tak wysokie osiągi udało się uzyskać dzięki wykrywaniu testów – gdy karta wykryła przepływ pakietów właściwy dla testów prowadzonych w serwerach z oprogramowaniem Novella, przepuszczała pakiety bez żadnego przetwarzania. Uzyskany w ten sposób znaczący skok wydajności niekoniecznie przekładał się na osiąganą wydajność w rzeczywistym środowisku pracy.

Przełączniki dobre tylko w testach

Na początku lat dziewięćdziesiątych podczas podobnych testów jeden z gigabitowych przełączników osiągał wyniki zbyt dobre, by można było im na pierwszy rzut oka uwierzyć. Przeprowadzone testy wydajnościowe w praktycznym środowisku, w którym przez przełączniki przesyłano prawdziwe dane z obciążonego segmentu sieci, udowodniły jednak ,że rzeczywista wydajność tego samego przełącznika była bardzo niska, znacząco odstając nawet od przeciętnej.

Kompilator – oszust

Oszustwa programistyczne dotyczyły nie tylko osadzonego oprogramowania w urządzeniach, podobne zjawisko obserwowano także w przypadku programów narzędziowych. Jeden z producentów kompilatorów języka C wbudował w niego mechanizm, który wykrywał użycie algorytmu sita Eratostenesa, powszechnie używanego do testowania wydajności skompilowanego kodu. Zamiast oryginalnego kodu, który wynikałby z kompilacji, podstawiane były specjalnie przygotowane elementy kodu, poddane wcześniej zaawansowanej ręcznej optymalizacji. Sztuczka ta sprawiała, że kompilator w testach dawał nieco „szybszy” kod, ale niekiedy wynikowa aplikacja się załamywała. Sztuczka ta była opisywana pod koniec lat osiemdziesiątych w czasopiśmie Byte.

Karta graficzna miała być jeszcze szybsza

W latach dziewięćdziesiątych rozpoczął się szybki wyścig wydajności kart graficznych. Nowe procesory GPU instalowane w kartach konkretnej marki niemal zawsze wygrywały w typowych testach. Oczywiście były to bardzo dobre konstrukcje, ale ich osiągi wydawały się zbyt wysokie w stosunku do konkurencji. Po dokładniejszym przyjrzeniu się pracy karty oraz procedurom testowym okazało się, że karty te zostały specjalnie przygotowane, by wykrywać proces testowania. W niektórych zadaniach wbudowane oprogramowanie mogło zatem zmienić częstotliwość taktowania GPU lub przyspieszyć transfer z wybranych obszarów pamięci – zależnie od tego, co w danej chwili było potrzebne, by wygrać w benchmarkach. Do podobnych wniosków można było dojść również podczas badań w laboratoriach PC World.

Doping wydajności smartfonów

Smartfony, podobnie jak zwykłe komputery i ich poszczególne składniki, również podlegały ocenie wydajności. W 2013r. badacze Anandtech udowodnili, że oprogramowanie smartfonów Samsunga wykrywało uruchomienie znanych testów i podwyższało próg ograniczenia termicznego procesorów platformy Exynos 5410 w smartfonach Galaxy 4. Wyniki dalszych badań udowodniły, że podobne zarzuty można postawić również Asusowi, HTC i LG.

Badacze Anandtech piszą: „Nie należy zapominać o tym, że mieliśmy szczęście i wykryliśmy te rzeczy (oszustwa – przyp red.) tak szybko. Po naszej publikacji albo producenci przestaną optymalizować sprzęt pod kątem benchmarków, albo te oszustwa będzie po prostu trudniej wykryć. Wszystko wskazuje na to, że będziemy mieli do czynienia z tą drugą opcją”.

Oszustwa, grube oszustwa i testy

Benchmark wydajności smartfonów

Na podstawie Lies, damned lies and benchmarks, Steven J. Vaughan-Nichols, Computerworld.


TOP 200