Co je programové krájení?
V softwarových aplikacích je Slicing programu metodou identifikace základních prvků softwarového programu a jemné extrahování z komplikovanějšího kódu, který umožňuje fungovat program. Proces krájení programu je obzvláště důležitý pro úsilí o softwarové inženýrství, protože umožňuje softwarovému inženýrovi najít cestu prostřednictvím komplikovaných řetězců kódu za účelem přístupu ke zdrojovému kódu, který aplikaci skutečně řídí. Schopnost těchto subprogramů a prohlížení zdrojového kódu umožňuje identifikovat širokou škálu potenciálních chyb, a tak umožnit software s větší účinností.
Není neobvyklé, že kód bude záměrně komplikovaný. Jedním z hlavních důvodů této akce je, že komplikované části kódu pomáhají chránit zdrojový kód před korupcí viry a pokusy o hackování. Obvykle programátor přidá velké množství dalšího kódu, který v podstatě způsobuje projít řadou extrémůkroky k dosažení toho, co by mohlo být spravováno zdrojovým kódem, pouze s několika kroky. I když se jedná o žádoucí stav z pohledu ochrany softwaru před možnou korupcí, existují situace, kdy je třeba se dostat ke zdrojovému kódu. To je místo, kde přichází krájení programu.
Existují dva základní přístupy nebo rozměry pro krájení programu. Sémantická dimenze se zaměřuje na prvky řetězce kódu, které jsou nezbytné, a proto budou zachovány. Statické i dynamické funkce jsou identifikovány a zachovány pomocí specifických metod krájení, které zanechávají základní prvky, ale odstraňují většinu kódu vloženého jako součást maskovacího procesu. S sémantickým programovým krájením má inženýr při rozhodování o tom, co, pokud vůbec existuje, ve skutečnosti zůstává.
Syntaktické krájení programu neposkytuje Engineer se stejným množstvím možností. S tímto přístupem je odstraněno vše, co není pro základní funkci kódu nezbytné. Pokud je zjištěno, že řetězec neslouží žádnému skutečnému účelu a nemá žádný dopad na sémantiku zájmu nalezeného v kódu, jde to. Tento přístup pomáhá zachovat původní syntaxi programu bez dalších ozdůbků.
Druhé a stále běžnější používání syntaktického krájení programu je známé jako amorfní krájení programu. Tímto přístupem je cílem umožnit, aby Slice pokračoval v práci s jakoukoli syntaktickou funkcí, která pomáhá udržovat sémantická omezení, která si inženýr přeje zachovat v kódu.