(EN) Implementations are described herein for automatically identifying, recommending, and/or automatically effecting changes to a source code base based on updates previously made to other similar code bases. Intuitively, multiple prior "migrations," or mass updates, of complex software system code bases may be analyzed to identify changes that were made. More particularly, a particular portion or "snippet" of source code—which may include a whole source code file, a source code function, a portion of source code, or any other semantically-meaningful code unit—may undergo a sequence of edits over time. Techniques described herein leverage this sequence of edits to predict a next edit of the source code snippet. These techniques have a wide variety of applications, including but not limited to automatically updating of source code, source code completion, recommending changes to source code, etc.
(FR) Des modes de réalisation de l'invention permettent d'identifier, de recommander et/ou d'effectuer automatiquement des changements dans une base de code source sur la base de mises à jour antérieures apportées à d'autres bases de code similaires. De manière intuitive, de multiples « migrations » antérieures, ou mises à jour de masse, de bases de code de système logiciel complexes peuvent être analysées pour identifier les changements qui ont été effectués. Plus particulièrement, une partie particulière ou un « extrait » de code source (qui peut comprendre un fichier de code source entier, une fonction de code source, une partie de code source, ou toute autre unité de code sémantiquement significative) peut subir une séquence d'éditions dans le temps. Les techniques selon l'invention tirent parti de cette séquence d'éditions pour prédire une édition suivante de l'extrait de code source. Ces techniques ont une grande variété d'applications, comprenant, mais sans s'y limiter, la mise à jour automatique d'un code source, l'achèvement d'un code source, la recommandation de changements à apportés au code source, etc.