Skip to main content

Co je programové krájení?

V softwarových aplikacích je řezání 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ěmto podprogramům a zobrazení 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, že je nutné projít řadou dalších kroků 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.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 inženýrovi stejné množství 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 se nazývá 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.