Verifikace kódu

Důvody ověření

Nezávislost na dodavateli

Máte informační systém nebo aplikaci implementovanou na klíč? Chcete vědět, zda v případě změny dodavatele bude nový dodavatel schopen systém udržovat a dále rozvíjet? To jsou stěžejní důvody, proč si nechat kód ověřit na integritu, kompilovatelnost a posoudit jeho kvalitu.

Posouzení funkcionality

Nejste si jisti, zda ve zdrojovém kódu, který máte od dodavatele k dispozici je obsažena veškerá deklarovaná funkcionalita? Nejlepší čas nechat kód ověřit na integritu, kompilovatelnost a funkcionalitu.

Kvalita zdrojového kódu

Zajímá Vás, zda by zdrojový kód snadno mohl udržovat a převzít někdo jiný? Doporučujeme nechat kód ověřit vhodnou heuristickou analýzou.

Legacy technologie

Máte informační systém či aplikaci napsánu na technologické platformě, která není úplně nejmodernější, ale Vám se ve Vašem podnikání osvědčila? Nejlepší čas nechat kód ověřit na integritu a kompilovatelnost, tím získáte jistotu, že váš program bude i nadále provozovatelný.

Proč vybrat nás

Zkušený tým

Máme více než 20-ti leté zkušenosti s navrhováním, implementací a údržbou řídicích a informačních systémů ve významných průmyslových podnicích.

Široká škála znalostí

Tykáme si s moderními informačními technologiemi, vývojovými platformami a programovacími jazyky, ale ve svém portfoliu máme i technologie a programovací jazyky s mýtickými názvy COBOL, PL/I, FORTRAN, FORMS či DEC RALLY.

Proaktivní přístup

Vždy plně soustředíme svou energii, čas a úsilí na řešení Vašich požadavků.

Úrovně ověření

code-verify-scheme



1. Ověření integrity

V rámci úrovně Ověření integrity se provádí porovnání dodaných zdrojových kódů a dalších zdrojů s deklarovaným obsahem.

V rámci této úrovně ověříme:

  • Zda uschovávaná data odpovídají deklarovanému rozsahu a struktuře.
  • Pokud jsou data komprimována, zda se dají dekomprimovat do deklarované struktury.
  • Pokud jsou data šifrována, zda je přiložen klíč a postup, kterým lze data rozšifrovat.

2. Ověření kompilace

V rámci úrovně Ověření kompilovatelnosti, která úzce navazuje na 1. úroveň, se ověří, zda lze z dodaných dat, pomocí deklarovaných nástrojů úspěšně sestavit binární podobu.

V rámci této úrovně ověříme:

  • Zda jsou zdokumentovány kroky nutné ke kompilaci.
  • Zda jsou dostupné potřebné nástroje (kompilátory a knihovny) ke kompilaci.
  • Úspěšnost překladu (kompilace) zdrojových kódů do objektového kódu (tj. strojového kódu cílové architektury), pomocí dodaného nebo specifikovaného (pokud je jinak dostupný) překladače (nebo překladačů) a dodaných kompilačních skriptů.
  • Úspěšnost spojení (linkování) objektového kódu s kódem knihoven (standardních nebo dodaných Poskytovatelem) do spustitelného kódu software pro cílovou platformu.
  • Zda spustitelný kód odpovídá požadované verzi.

3. Posouzení funkcionality

V rámci úrovně Posouzení funkcionality, která navazuje na 1. úroveň se posuzuje, zda zdrojový kód odpovídá deklarované funkcionalitě (v dokumentaci) a zda je kód dostatečně čitelný pro třetí stranu.

V rámci této úrovně ověříme:

  • Zda zdrojový kód obsahuje funkcionalitu deklarovanou v dokumentaci. Posuzuje se obsah, nikoliv správnost.
  • Zda je zdrojový kód dostatečně čitelný pro třetí stranu (komentáře, formátování, názvy identifikátorů).

4. Posouzení kvality zdrojového kódu

V rámci úrovně Posouzení kvality zdrojového kódu, která navazuje na 1. a 3. úroveň, se na základě heuristických analýz ověří zda je zdrojový kód dostatečně čistý a zda nevykazuje některá rizika (...). Tuto úroveň lze docílit pouze v případě, že k danému zdrojovému kódu existuje potřebné heuristické nástroje.

V rámci této úrovně provedeme:

  • Heuristickou analýzu přiloženého zdrojového kódu. Výstupem je report s možnými riziky.




5. Ověření funkčnosti pomocí testů

Časově i finančně nejnáročnější úroveň, pro jejíž provedení je potřeba úspěšně realizovat všechny předchozí úrovně, je ověření funkčnosti kompilovaného kódu a částečné ověření jeho správnosti. Tento krok však má i značná omezení, protože musí existovat potřebné nástroje, být definovány zdrojová a cílová data testů a v neposlední řadě musí být kód napsán tak, aby byl testovatelný.

V rámci této úrovně provedeme:

  • Test kompilovaného kódu nad simulačními daty.
  • Vytvoříme tzv. unit testy, které ověří funkční správnost testovaného kódu.

Náš tým

Jsme tým zkušených vývojářů se znalostmi z vývoje rozsáhlých podnikových systémů.

Máme zkušenosti s širokou škálou vývojových platforem i programovacích jazyků.

Rostislav Bosák Vedoucí týmu

Má dlouholeté zkušenosti s vývojem informačních systémů i s vedením vývojářských týmů.

Libor Blahut Databáze

Zabývá se především problematikou databází a jazyka SQL, ORACLE specialista. Odborník na legacy technologie (COBOL, Forms).

Pavel Réder Heuristika

Specialista na heuristickou analýzu a čistotu kódu.

Dana Achrerová Legacy

Orientuje se v tzv. legacy technologiích (COBOL, ORACLE Forms, Rally).

Miroslav Hrubý C, Fortran

Věnuje se vývoji v nízkoúrovňových jazycích a nástrojích (C, Fortran, Assemler).

Zdeněk Sochor Java, C#

Specialista na moderní vývojářské platformy a jazyky (Java, C#, C++, Delphi).

Partneři