Compilateur source à sourceUn compilateur source à source, transpileur ou transcompilateur est un type de compilateur qui prend le code source d'un langage de programmation et le compile dans un autre langage de programmation. Un compilateur source-à-source opère sur deux langages avec approximativement le même niveau d'abstraction, alors qu'un compilateur traditionnel compile un langage de haut niveau vers un langage de bas niveau. Un des premiers compilateurs de ce type était le XLT86 de Digital Research en 1981, un programme écrit par Gary Kildall qui compilait du code .
Adaptateur (patron de conception)En génie logiciel, adaptateur (ou wrapper) est un patron de conception (design pattern) de type structure (structural). Il permet de convertir l'interface d'une classe en une autre interface que le client attend. L’adaptateur fait fonctionner ensemble des classes qui n'auraient pas pu fonctionner sans lui, à cause d'une incompatibilité d'interfaces. Il permet d'intégrer une classe à ne pas modifier, par exemple : une API tiers convient au besoin fonctionnel, mais la signature de ses méthodes ne convient pas ; l'utilisation d'anciennes classes doit être normalisée, sans pour autant en reprendre tout le code.
Porte dérobéeDans un logiciel, une porte dérobée (de l'anglais backdoor, « porte de derrière ») est une fonctionnalité inconnue de l'utilisateur légitime, qui donne un accès secret au logiciel. L'introduction d'une porte dérobée dans un logiciel à l'insu de son utilisateur transforme le logiciel en cheval de Troie. Une porte dérobée peut être introduite soit par le développeur du logiciel, soit par un tiers. La personne connaissant la porte dérobée peut l'utiliser pour surveiller les activités du logiciel, voire en prendre le contrôle (par contournement de l'authentification).
Code impénétrableLe code impénétrable d'un programme informatique est un code dont la compréhension est très difficile pour un humain tout en restant parfaitement compilable par un ordinateur. Le procédé par lequel du code est rendu impénétrable est appelé brouillage, ou offuscation. Cette technique de programmation – qui va à l'encontre des usages habituels – a ses raisons. C'est tout d'abord un moyen de protéger les investissements de développement d'un logiciel par des techniques de génération de code objet rendant plus difficile la rétro-ingénierie.
Flexibility methodIn structural engineering, the flexibility method, also called the method of consistent deformations, is the traditional method for computing member forces and displacements in structural systems. Its modern version formulated in terms of the members' flexibility matrices also has the name the matrix force method due to its use of member forces as the primary unknowns. Flexibility is the inverse of stiffness. For example, consider a spring that has Q and q as, respectively, its force and deformation: The spring stiffness relation is Q = k q where k is the spring stiffness.
BotnetUn botnet (contraction de l'anglais « robot net » : « réseau de robots ») est un réseau de bots informatiques, des programmes connectés à Internet qui communiquent avec d'autres programmes similaires pour l'exécution de certaines tâches. Historiquement, botnet désignait des réseaux de robots IRC. Le sens de botnet s'est étendu aux réseaux de machines zombies, utilisés notamment pour le minage de cryptomonnaies mais aussi des usages malveillants, comme l'envoi de spam et virus informatiques, ou les attaques informatiques par déni de service (DDoS).
Hybrid algorithmA hybrid algorithm is an algorithm that combines two or more other algorithms that solve the same problem, either choosing one based on some characteristic of the data, or switching between them over the course of the algorithm. This is generally done to combine desired features of each, so that the overall algorithm is better than the individual components. "Hybrid algorithm" does not refer to simply combining multiple algorithms to solve a different problem – many algorithms can be considered as combinations of simpler pieces – but only to combining algorithms that solve the same problem, but differ in other characteristics, notably performance.