Automatic bug fixingAutomatic bug-fixing is the automatic repair of software bugs without the intervention of a human programmer. It is also commonly referred to as automatic patch generation, automatic bug repair, or automatic program repair. The typical goal of such techniques is to automatically generate correct patches to eliminate bugs in software programs without causing software regression. Automatic bug fixing is made according to a specification of the expected behavior which can be for instance a formal specification or a test suite.
Sociologie du développementLa sociologie du développement se questionne sur les processus de développement sociaux et économiques. Cette branche de la sociologie place ces processus en regard de ses impacts sur la société (communauté, village, ville, pays ou région). Le terme "sociologie du développement" est plus courant dans la littérature en anglais qu'il ne l'est en français. La sociologie du développement est généralement à la croisée des chemins de l'histoire, de l'anthropologie et de la science politique.
Application (informatique)Une application, un applicatif ou encore une appli, une app est, dans le domaine informatique, un programme (ou un ensemble logiciel) directement utilisé pour réaliser une tâche, ou un ensemble de tâches élémentaires d'un même domaine ou formant un tout. Typiquement, un éditeur de texte, un navigateur web, un lecteur multimédia, un jeu vidéo, sont des applications. Les applications s'exécutent en utilisant les services du système d'exploitation pour utiliser les ressources matérielles.
Régression logicielleA software regression is a type of software bug where a feature that has worked before stops working. This may happen after changes are applied to the software's source code, including the addition of new features and bug fixes. They may also be introduced by changes to the environment in which the software is running, such as system upgrades, system patching or a change to daylight saving time. A software performance regression is a situation where the software still functions correctly, but performs more slowly or uses more memory or resources than before.
Iterative and incremental developmentIterative and incremental development is any combination of both iterative design or iterative method and incremental build model for development. Usage of the term began in software development, with a long-standing combination of the two terms iterative and incremental having been widely suggested for large development efforts. For example, the 1985 DOD-STD-2167 mentions (in section 4.1.2): "During software development, more than one iteration of the software development cycle may be in progress at the same time.
Eclipse (projet)Eclipse est un projet, décliné et organisé en un ensemble de sous-projets de développements logiciels, de la fondation Eclipse visant à développer un environnement de production de logiciels libre qui soit extensible, universel et polyvalent, en s'appuyant principalement sur Java. Son objectif est de produire et fournir des outils pour la réalisation de logiciels, englobant les activités de programmation (notamment environnement de développement intégré et frameworks) mais aussi d'AGL recouvrant modélisation, conception, test, gestion de configuration, reporting.
Gestion de versionsthumb|Exemple d'arbre de gestion de versions La gestion de versions ( ou revision control) consiste à gérer l'ensemble des versions d'un ou plusieurs fichiers (généralement en texte). Essentiellement utilisée dans le domaine de la création de logiciels, elle concerne surtout la gestion des codes source. Cette activité étant fastidieuse et relativement complexe, un appui logiciel est presque indispensable. À cet effet, il existe différents logiciels de gestion de versions qui, bien qu'ayant des concepts communs, apportent chacun leur propre vocabulaire et leurs propres usages.
In-circuit emulatorUn émulateur in-circuit également appelé in-circuit emulator (ICE) ou on-circuit debugger (OCD) ou background debug module (BDM) est un dispositif matériel permettant de déboguer le logiciel d'un système embarqué. Un tel dispositif est nécessaire car les systèmes embarqués présentent un certain nombre de lacunes. Ainsi, ils ne comportent ni clavier, ni écran, ni lecteur de disquettes, de disque dur ou n'importe quelle autre interface avec l'utilisateur ou périphérique de stockage qui sont présents sur un ordinateur de bureau.
Brevet logicielLe brevet logiciel désigne à l'échelle d'un pays le fait de posséder des réglementations et une jurisprudence claires permettant l'octroi de brevets sur les logiciels, c'est-à-dire un droit d'interdiction de l'exploitation par un tiers de l'invention brevetée, à partir d'une certaine date et pour une durée limitée (20 ans en général). La jurisprudence aux États-Unis est traditionnellement favorable à la protection des logiciels par le brevet. Les décisions récentes paraissent cependant relativiser cette position.