Analiza statyczna programów



Informacje, które udało nam się zgromadzić na temat Analiza statyczna programów, zostały starannie sprawdzone i uporządkowane, aby były jak najbardziej przydatne. Prawdopodobnie trafiłeś tutaj, aby dowiedzieć się więcej na temat Analiza statyczna programów. W Internecie łatwo zgubić się w gąszczu stron, które mówią o Analiza statyczna programów, a jednocześnie nie podają tego, co chcemy wiedzieć o Analiza statyczna programów. Mamy nadzieję, że dasz nam znać w komentarzach, czy podoba Ci się to, co przeczytałeś o Analiza statyczna programów poniżej. Jeśli informacje o Analiza statyczna programów, które podajemy, nie są tym, czego szukałeś, daj nam znać, abyśmy mogli codziennie ulepszać tę stronę.

.

W informatyki , pojcie analizy statycznej z programów obejmujcych wiele metod stosowanych w celu uzyskania informacji na temat zachowania si w czasie wykonywania programu bez faktycznego wykonywania. To ostatnie ograniczenie odrónia analiz statyczn od analiz dynamicznych (takich jak debugowanie lub profilowanie ), które s doczone do wykonywania programu monitorujcego.

Analiza statyczna suy do wykrywania formalnych bdów programistycznych lub projektowych, ale take do okrelania, jak atwe lub trudne jest utrzymanie kodu.

Elementy historii

Pierwsze pomysy na analiz statyczn mona znale ju w pierwszych badaniach nad powstajcymi komputerami pod koniec lat czterdziestych XX w. Cenny by wówczas nie tyle zbudowany system, ile dostp do zasobu (komputer). Co nazywane s teraz dowody programowe s widocznie najwczeniejsze lady analizy statycznej i znale tego dowody w Alana Turinga wykadu w 1949 roku, a póniej w pracy na formalnych metod w wykresach o Robert Floyd i wreszcie w logice Hoare .

Metody formalne

Analiza statyczna obejmuje rodzin metod formalnych, które automatycznie uzyskuj informacje o zachowaniu oprogramowania lub sprztu komputerowego. Jednym z moliwych zastosowa analizy statycznej jest automatyczna pomoc w debugowaniu , w szczególnoci sprawdzanie bdów w czasie wykonywania - z grubsza rzecz biorc, zdarze powodujcych awari programu. Wród najczstszych bdów tego rodzaju, moemy zacytowa czysty i prosty literówki, zwaszcza dla CASE- jzyków programowania wraliwych , wzorów obejmujcych niezainicjowane lub nawet niezgoszonych zmiennych, referencje okrne jest uywanie innych ni przenone skadni .

Analiza programów (w tym poszukiwanie moliwych bdów w czasie wykonywania) nie jest deterministyczna: nie ma metody mechanicznej, która zawsze mogaby stwierdzi bez pomyki w programie, czy bdzie on powodowa bdy w czasie wykonywania, czy te nie. Jest to wynik matematyczny oparty na wynikach Alonzo Churcha , Kurta Gödla i Alana Turinga w latach trzydziestych XX wieku (patrz problem stopu i twierdzenie Rice'a ).

Jednak zastosowanie szeregu zasad podczas kodowania pomaga zmniejszy ryzyko bdów w czasie wykonywania; Zasady te maj równie t zalet, e uatwiaj utrzymanie kodu. Na przykad brak poczenia przypisania i testu zmniejsza ryzyko zwizane z kolejnoci wykonywania instrukcji. Inny przykad: fakt posiadania zagniedonych instrukcji rozgaziania na zbyt wielu poziomach jest generalnie oznak zoonoci kodu, co powoduje trudnoci w jego zrozumieniu i póniejszym przetestowaniu. Tego rodzaju wzorzec (lub wzorce w jzyku angielskim) mona znale, analizujc skadni kodu za pomoc parsera drzewa w celu kodowania regu i metryk .

Istniej dwie gówne rodziny formalnych statycznych analiz programów:

Korekta kodu

Inn metod analizy statycznej, jedn z najbardziej empirycznych, jest odczytanie kodu ródowego aplikacji przez dowiadczon osob spoza zespou programistów. Pozwala to na wiee spojrzenie na kod, z punktu widzenia jego koncepcji, jak i realizacji.

Korekta kodu moe opiera si na wynikach uzyskanych za pomoc metod automatycznej analizy kodu, w szczególnoci tych, które maj na celu ocen zoonoci kodu i przestrzeganie ewentualnych regu kodowania.

Narzdzia do analizy statycznej

Pierwsze narzdzie do statycznej analizy programu [ref. potrzebne ródo] jest szarpie narzdzie opracowane w 1970 roku dla jzyka C . Zainteresowanie wiata przemysowego narzdziami do analizy statycznej, a zwaszcza rozwojem krytycznego oprogramowania , wzroso po eksplozji inauguracyjnego lotu rakiety Ariane 5 z powodu bdu komputera - bez prawdopodobnie jednego z najdroszych bdów w historii. Od pónych lat 90 - tych wikszo kompilatorów wczya mniej lub bardziej rozbudowan statyczn analiz kodu ródowego, choby jako podstawowy skadnik ich opcji optymalizacji kodu . Funkcje automatycznego wcicia i komentarzy s najczciej zapewniane przez zintegrowane rodowisko programistyczne  : moemy zatem powiedzie, e programy do analizy statycznej byy ofiarami ich sukcesu, o ile ich metody okazay si skuteczne.Zintegrowane z innymi narzdziami.

Zobacz te

Linki zewntrzne

Uwagi i odniesienia

  1. Herman Goldstine i John von Neumann Planowanie i kodowanie problemów dla elektronicznego instrumentu obliczeniowego. Pt II. Raport o matematycznych i logicznych aspektach elektronicznego instrumentu obliczeniowego In Taub, AH, redaktor, John von Neumann Collected Works, The Macmillan Co., New York, Volume V, 34-79.
  2. FL Morris, CB Jones: An Early Program Proof autorstwa Alana Turinga , Annal of the History of Computing, nr 02 - kwiecie-czerwiec (1984, tom 6) str: 139-143
  3. Robert W. Floyd , Matematyczne aspekty informatyki , t.  19, American Mathematical Society, coll.  Proceedings of Symposium on Applied Mathematics,, 1932  s. ( ISBN  0821867288 , czytaj online ) , Przypisywanie znaczenia programom
  4.   Wywiad z Jean-Jacques Lévy   ( Archiwum Wikiwix Archive.is Google Co robi ) , Inria .

Mamy nadzieję, że informacje, które zgromadziliśmy na temat Analiza statyczna programów, były dla Ciebie przydatne. Jeśli tak, nie zapomnij polecić nas swoim przyjaciołom i rodzinie oraz pamiętaj, że zawsze możesz się z nami skontaktować, jeśli będziesz nas potrzebować. Jeśli mimo naszych starań uznasz, że informacje podane na temat _title nie są całkowicie poprawne lub że powinniśmy coś dodać lub poprawić, będziemy wdzięczni za poinformowanie nas o tym. Dostarczanie najlepszych i najbardziej wyczerpujących informacji na temat Analiza statyczna programów i każdego innego tematu jest istotą tej strony internetowej; kierujemy się tym samym duchem, który inspirował twórców Encyclopedia Project, i z tego powodu mamy nadzieję, że to, co znalazłeś o Analiza statyczna programów na tej stronie pomogło Ci poszerzyć swoją wiedzę.

Opiniones de nuestros usuarios

Jan Stasiak

Podane informacje o zmiennej Analiza statyczna programów są prawdziwe i bardzo przydatne. Dobrze.

Alexandra Biernacki

Myślałem, że wiem już wszystko o zmiennej, ale w tym artykule zweryfikowałem, że pewne szczegóły, które uważałem za dobre, nie były tak dobre. Dziękuję za informacje.

Olaf Kubicki

Wreszcie! W dzisiejszych czasach wydaje się, że jeśli nie piszą artykułów składających się z dziesięciu tysięcy słów, to nie są szczęśliwi. Panowie autorzy treści, to TAK to dobry artykuł o Analiza statyczna programów.