..
Możemy zdefiniować proces statycznej analizy kodu źródłowego procedury, w której części są identyfikowane niebezpiecznego kodu bez rzeczywistej realizacji programu.
Analiza statyczna "S może być wykonywana automatycznie, czyli przez własne narzędzia specyficzne przydatne do wspierania procesu testowania. Obserwuj, jak w fazie testowania oprogramowania, w całości, jest to bardzo złożony proces i zazwyczaj wykonane przez programistów, którzy zdecydują się specjalizować w tej dziedzinie. Oprogramowanie dedykowane do "statycznej analizy kodu w ten sposób przyczynić się do zmniejszenia czasu i kosztów, zapewniając pierwszą wzmiankę o tym, co części kodu, który będzie wymagany, by sprawdzić dokładniej.
Rodzaje błędów wykrytych przez instrumenty wymienione są liczne i stałe uaktualnianie wiedzy, rozwoju przedsiębiorczości, w rzeczywistości tego rodzaju oprogramowania trafia do wielkiego rytm na długi czas.
Ważne w tym kontekście wartość historyczną programu jak Lint , wydany w 1979 roku, który działa na Linuksie i dedykowane do języka programowania C . Lint jest prawdziwą atrakcją dla statycznej weryfikacji kodu oprogramowania, czasem identyfikowany jako "lint-jak narzędzi" lub "szarpie, takich jak narzędzia."
Nowoczesny statyczne analizatory są również w stanie zweryfikować kod przeznaczony do równolegle, zapewniając konkretne propozycje do takich zastosowań.
W tym artykule skupimy się na ten rodzaj instrumentu, starając się zaoferować krótki przegląd możliwości w statycznym kodzie programów równolegle języka C + + (najbardziej popularny i uniwersalny charakter). Aby rozpocząć, zbadajmy ogólny oprogramowania i elastyczny, jak PC-Lint .
PC-Lint jest zaprojektowany aby zapewnić optymalną wydajność w analizie programów korzystających z wątków , ale mogą być skutecznie wykorzystane w ogólnym przypadku. Nie chcę powiedzieć, że analiza dokonana przez oprogramowanie jest w każdy sposób automatyczny.
Wydaje się konieczne, aby ręcznie określić funkcje, które program będzie realizowany równolegle (lub nawet równolegle), tak że PC-Lint może przystąpić do "analizy statycznej sprawiedliwości (że tak, automatyczny) tylko w tych sekcjach. Aby to osiągnąć, należy użyć opcji-zawsze na wykonanie PC-Lint linii poleceń. Na przykład stwierdzenie:
lint-sem (func, gwint)komunikuje się z PC-Lint jest niezbędne do analizy funkcji funkcji, jak to będzie działać jednocześnie. Będą teraz odbierać komunikaty o błędach dotyczących funkcji pamiętając, że należy również uchwyt równoległe wykonywanie tych samych, a następnie wskazując, na przykład, jeśli wspólna zmienna jest używana lub zmian bez odpowiedniej definicji sekcji krytycznej.
To właśnie w tym zakresie, jeżeli wzajemne wykluczanie i prymitywów synchronizacji są implementowane przy użyciu wątków typowych formalizmu, lub, na przykład, pthread_mutex_lock i pthread_mutex_unlock, nie trzeba podawać nic na ten temat z linii poleceń. W przeciwnym razie, wytyczne zostaną wykorzystane:
-Sem (dostęp, thread_lock) -Sem (release, thread_unlock)aby wskazać, że dostęp do sekcji krytycznej jest przez funkcję o nazwie dostępu i uwolnienie tej sekcji jest za pomocą funkcji wersji.
Jeżeli na statycznej analizie naszego kodu ale chcieliśmy mieć nieco więcej zaawansowanych narzędzi i niezależne od PC-Lint, VivaMP może być dobrym wyborem.
| |
ASP Zero (Ebook)
Nauka Microsoft ASP i VBScript od podstaw. W zaledwie 29 €. |
| |
HTML (Kurs)
Język znaczników dla sieci od 29 €. |
| |
Webmaster Advanced (kursu)
Zostań profesjonalnym administratorem. Od 39 €. |