Qu'est-ce que le découpage de programme?
Dans les applications logicielles, le découpage en tranches de programme est une méthode permettant d’identifier les éléments essentiels d’un logiciel et de les extraire en douceur du code plus complexe qui permet au programme de fonctionner. Le processus de découpage de programme est particulièrement important pour les efforts de génie logiciel, car il permet à l’ingénieur logiciel de trouver le chemin à travers des chaînes de code complexes afin d’accéder au code source qui pilote réellement l’application. Pouvoir extraire ces sous-programmes et consulter le code source permet d'identifier un large éventail de bugs potentiels et donc de faire fonctionner le logiciel avec plus d'efficacité.
Il n’est pas rare que le code soit intentionnellement compliqué. L'une des principales raisons de cette action est que les parties les plus complexes du code aident à protéger le code source de la corruption par des virus et des tentatives de piratage. Habituellement, un programmeur ajoute beaucoup de code supplémentaire, ce qui oblige essentiellement à franchir plusieurs étapes supplémentaires pour accomplir ce que le code source peut gérer, en quelques étapes seulement. Bien que cet état soit souhaitable du point de vue de la protection du logiciel contre une éventuelle corruption, il existe des situations dans lesquelles il est nécessaire d’obtenir le code source. C'est là que le découpage de programme entre en jeu.
Le découpage en tranches de programme comporte deux approches ou dimensions de base. La dimension sémantique se concentre sur les éléments de la chaîne de code qui sont nécessaires et qui seront donc conservés. Les fonctions statiques et dynamiques sont identifiées et préservées en utilisant des méthodes de découpage spécifiques qui laissent derrière eux les éléments essentiels mais suppriment une grande partie du code inséré dans le processus de masquage. Avec le découpage de programme sémantique, l’ingénieur dispose d’une marge de manœuvre suffisante pour décider du code supplémentaire qui lui reste, le cas échéant.
Le découpage syntaxique de programme ne fournit pas à l'ingénieur le même nombre d'options. Avec cette approche, tout ce qui n'est pas essentiel à la fonction principale du code est supprimé. Si une chaîne ne sert à rien et n'a aucun impact sur la sémantique d'intérêt trouvée dans le code, cela ira. Cette approche permet de préserver la syntaxe originale du programme sans fioritures.
Une deuxième utilisation, de plus en plus courante, du découpage syntaxique de programmes est connue sous le nom de découpage de programmes amorphe. Avec cette approche, l’objectif est de permettre à la tranche de continuer à travailler avec n’importe quelle fonction syntaxique permettant de maintenir les contraintes sémantiques que l’ingénieur souhaite conserver dans le code.