Wat is programmascheiding?

In softwaretoepassingen is programmaschijf een methode om de kernelementen van een softwareprogramma te identificeren en deze voorzichtig te extraheren uit de meer gecompliceerde code waarmee het programma kan werken. Het proces van het in plakken snijden van programma's is vooral belangrijk voor inspanningen op het gebied van software-engineering, omdat het de software-ingenieur in staat stelt de weg te vinden door gecompliceerde reeksen code om toegang te krijgen tot de broncode die de toepassing daadwerkelijk aanstuurt. In staat zijn om deze subprogramma's te extraheren en de broncode te bekijken, maakt het mogelijk om een ​​breed scala aan mogelijke bugs te identificeren en zo de software efficiënter te laten werken.

Het is niet ongebruikelijk dat code opzettelijk ingewikkeld is. Een van de belangrijkste redenen voor deze actie is dat de meer gecompliceerde delen van de code de broncode beschermen tegen corruptie door virussen en hackpogingen. Gewoonlijk voegt een programmeur veel extra code toe die het in wezen noodzakelijk maakt om een ​​aantal extra stappen te doorlopen om te bereiken wat met de broncode kan worden beheerd met slechts een paar stappen. Hoewel dit een wenselijke status is vanuit het perspectief van het beschermen van de software tegen mogelijke corruptie, zijn er situaties waarin de broncode moet worden bereikt. Dat is waar program slicing in het spel komt.

Er zijn twee basisbenaderingen of dimensies om slicing te programmeren. De semantische dimensie concentreert zich op de elementen van de codereeks die nodig zijn en dus behouden blijven. Zowel statische als dynamische functies worden geïdentificeerd en behouden door gebruik te maken van specifieke methoden voor segmentering die de essentiële elementen achterlaten maar veel van de ingevoegde code verwijderen als onderdeel van het maskeerproces. Met semantische programmascheiding heeft de engineer een behoorlijke hoeveelheid discretie om te beslissen wat, indien aanwezig, van de extra code daadwerkelijk overblijft.

Syntactic program slicing biedt de engineer niet dezelfde hoeveelheid opties. Met deze aanpak wordt alles verwijderd dat niet essentieel is voor de kernfunctie van de code. Als blijkt dat een string geen echt doel dient en geen invloed heeft op de semantiek van interesse in de code, dan gaat het. Deze aanpak helpt om de originele syntaxis van het programma te behouden zonder extra franje.

Een tweede en steeds vaker gebruik van syntactische programmaschijven wordt amorfe programmaschijven genoemd. Met deze aanpak is het doel om het mogelijk te maken dat het segment kan blijven werken met elke syntactische functie die helpt de semantische beperkingen te handhaven die de ingenieur in de code wil behouden.

ANDERE TALEN

heeft dit artikel jou geholpen? bedankt voor de feedback bedankt voor de feedback

Hoe kunnen we helpen? Hoe kunnen we helpen?