Analiza kodu á la Microsoft

Microsoft rozważa udostępnienie klientom swoich narzędzi do kontroli kodu.

Microsoft rozważa udostępnienie klientom swoich narzędzi do kontroli kodu.

Od kilku lat Microsoft rozwija na własny użytek narzędzia pozwalające wychwycić błędy i potencjalne zagrożenia już na etapie tworzenia kodu źródłowego. Microsoft Programmer Productivity Research Center opracowało kilka narzędzi działających na stacjach roboczych programistów, analizujących większe partie kodu po jego wstępnym zatwierdzeniu. Jednym z takich narzędzi jest Prefix - przejęty w 1999 r. od firmy Intrinsa i rozwijany wewnętrznie zestaw narzędzi do semantycznej analizy i wykrywania w tekście kodu typowych błędów, takich jak "wycieki" pamięci czy źle zaadresowane wskaźniki. Innym programem do statycznej analizy jest Prefast, względnie proste narzędzie, które było już wcześniej dostępne w zestawie narzędzi dla twórców sterowników (Driver Developer Kit). Oba te programy były szeroko wykorzystywane przez różne zespoły programistów Microsoft, m.in. przy tworzeniu systemu operacyjnego Windows Server 2003. Firma posiada też w swoim portfolio aplikację Scout służącą do testów regresji.

Niedawno pojawiły się pogłoski, jakoby firma miała udostępnić narzędzia Prefix i Prefast na zasadach komercyjnych - prawdopodobnie jako dodatek do pakietu VisualStudio.

Nie ma potwierdzonych informacji o tym, czy zostanie udostępniony także pakiet Scout. Niezależnie od tego Microsoft ma podobno rozszerzyć Driver Developer Kit o moduł Slam - mechanizm kontroli reguł sprawdzający, czy sterowniki prawidłowo wykorzystują funkcje API. Firma planuje także udostępnienie uczelniom wyższym kompilatorów opracowanych w ramach trwającego od dwóch lat programu badawczego Phoenix. Jest bardzo prawdopodobne, że również i one zostaną włączone do pakietu Visual Studio.

Udostępnienie firmom programistycznym i programistom korporacyjnym narzędzi do wykrywania błędów to dobre posunięcie z punktu widzenia public relations. Będzie to równocześnie bardzo przekonujący argument w walce Microsoftu o pozyskanie zaufania programistów - dostępne dotychczas na rynku narzędzia do analizy kodu - wywodzące się z open source czy nawet komercyjne - nie oferują im bowiem zbyt wiele.

Problem dziurawego oprogramowania wciąż pozostaje jednak aktualny. Oprócz Microsoftu projekty badawcze, mające na celu opracowanie narzędzi tworzących bezbłędny kod, są prowadzone również przez Sun Microsystems i IBM, a także wiele mniejszych firm.