Rok 2000 ve světě informačních technologií

V předchozích dílech seriálu o problematice roku 2000 jsme se zaměřili na aplikace napsané v jednotlivých programovac


V předchozích dílech seriálu o problematice roku 2000 jsme se zaměřili na
aplikace napsané v jednotlivých programovacích jazycích, popsali jsme si proces
jejich ošetření ve fázích stanovení postupů, plánování a inventarizace. Dnes
budeme pokračovat fázemi vyhledávání a analýzy kódu.
Vyhledávání/analýza kódu
Ve fázi Vyhledávání/analýzy zdrojového kódu jsou jednotlivé aplikace
prohledávány zda neobsahují datové proměnné a v případě pozitivního nálezu
opraveny tak, aby byly provozovatelné i po roce 2000. Zde je vhodné uvést malou
poznámku. Velká část odborné i neodborné veřejnosti chápe tuto fázi jako fázi
jedinou, která má napomoci v řešení problematiky roku 2000. Z výše uvedeného
textu vyplývá, že fáze Vyhledávání a analýzy tvoří pouze zlomek celého procesu
ošetření aplikací pro rok 2000.
Vyhledávání datových proměnných ve zdrojovém kódu může být provedeno manuálně
za pomoci jednoduchých nástrojů (textový editor), příp. automatizováno
vyhledávacími nástroji. V současné době je k dispozici relativně široká škála
vyhledávacích nástrojů, které umožňují nejen vyhledat příslušné proměnné, ale
také analyzovat strukturu aplikace a prezentovat ji ve schematické podobě. Řada
prohledávacích programů využívá nejrůznějších technik pro vyhledávání datově
senzitivních proměnných.
Vyhledávání podle názvů Velmi často lze datové informace identifikovat dle
jejich názvu, který programátor nebo analytik zvolil při vývoji aplikace. Velmi
často jsou používány proměnné "current-date", "due-date", "born", "expiry" a
mnoho dalších. Většina automatických prohledávačů zdrojového kódu je dodávána s
předem předdefinovanými proměnnými (nebo jejich částmi), které jsou určeny na
vyhledávání datových proměnných ve zdrojovém kódu. Tyto soubory se seznamem
názvů proměnných (tzv. seed lists) jsou ve většině případů přístupné
programátorům a jsou volně modifikovatelné dle aktuálních potřeb. Je nutné
rovněž poznamenat, že většina souborů s dodávanými seznamy potenciálních
datových proměnných (seed lists) je přizpůsobena pro anglické a americké
prostředí a může způsobit problémy v jiných národních prostředích.
Vyhledávání podle formátu Datová informace je ve většině případů reprezentována
omezeným počtem vyjádření v programech. Nejčastěji se vyskytují formáty YYMMDD
(např. 980523 23.května 1998) a YYDDD (např. 98365 31. prosince 1998) a právě
tyto formáty musí být opraveny. Jiné formáty, jako MM/ DD/YY a DD-MM-YY, jsou
velmi často používány pouze pro zobrazování a z tohoto důvodu nemusí být
opravovány. Většina vyhledávacích nástrojů pak kombinuje obě výše uvedené
techniky pro zvýšení pravděpodobnosti vyhledávání.
Literal analysis
Datová informace je přímo uvedena v programu a je využívána na porovnávání a
jiné operace. Vyhledávání je pak založeno na analýze kódu, ve které jsou přímo
uvedené datové informace asociovány s datovými proměnnými.
Technika datového toku
Na základě vstupní datové proměnné je v průběhu analýzy struktury programu
určeno, které proměnné a které datové operace jsou vykonávány v souvislosti s
datumy.
Data mining
V tomto případě jsou použity statistické metody pro náhodné nalezení datové
proměnné. Například o záznamu 980325 můžeme uvažovat jako o datumové informaci.
O následujícím záznamu 984247 můžeme očekávat, že informaci o datumu již
neobsahuje. Jednoznačně lze řící, že tato technika není neomylná a je vhodné ji
použít jako první techniku pro analýzu zdrojového kódu.
Regression testing
Tento koncept je postaven na posunutí systémového času (např. na rok 2010) a
sledování chování programu v okamžiku po zadání datumových informací. Tato
technika je vhodná spíše do fáze testování opravené aplikace, přesto však může
odkrýt některé datové proměnné, které nebyly nalezeny předcházejícími metodami.
Výše uvedené techniky jsou vhodné tam, kde je dostupný zdrojový kód aplikace a
kde lze provést úpravy přímo do zdrojového kódu. V případě, že zdrojový kód
není k dispozici, lze doporučit techniky Data mining a Regression testing.
8 1551 / ram









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.