59 Illustration 22: Versions d'un composant logiciel, Illustration, vol.21, p.60 ,
62 Illustration 26: Détail d'une violation de stabilité d'API, Illustration 25: Violations de stabilité d'API entre deux versions62 Illustration 24: Sélection des versions à comparer Illustration 25: Violations de stabilité d'API entre deux versions d'un même composant Illustration 26: Détail d'une violation de stabilité d'API Robin Jarry ? Surveillance des interfaces logicielles Par ligne de commande ,
apidiff <version A> <version B> Les versions peuvent être un chemin de fichier ou une URL du serveur Voici un exemple de résultat obtenu si on compare les deux versions enregistrées précédemment : user:~ $ apidiff http://localhost:8080/apiwatch/jenkins-core/1, <REM001> Removed PROTECTED Function:configure() @ 'hudson\ExtensionFinder.java:416' [BLOCKER] <REM001> Removed PUBLIC Variable:LOG_STARTUP_PERFORMANCE @ 'jenkins\model\Jenkins.java:3610' ... [BLOCKER] <TYP001> Changed type of PUBLIC variable 'CONFIG_DELEGATE_TO' (Class -> Class<Plugin>) @ 'hudson\os\windows\ManagedWindowsServiceConnector.java, p.42 ,
aide de la configuration par défaut des règles de stabilité d'API (cf. Annexe A) On peut changer cette configuration pour l'adapter à un projet en utilisant l'option -r/--rules-config avec un fichier personnalisé. La version par défaut d ,
user:src $ apiwatch http://localhost:8080/apiwatch/jenkins-core/1.466/ * [INFO] <REM001> Removed PRIVATE Function:jnlpConnect(SlaveComputer) @ 'hudson\TcpSlaveAgentListener.java:314' [INFO] <REM001> Removed PRIVATE Function:runJnlpConnect(DataInputStream, PrintWriter) @ 'hudson\TcpSlaveAgentListener, java:227' [INFO] <REM001> Removed PRIVATE Function:getSecretKey() @ 'hudson\TcpSlaveAgentListener.java:118' ... [INFO] 20 violations ,
COMPONENT-BASED SOFTWARE ENGINEERING, 2000. ,
DOI : 10.1142/9789812389701_0013
Language Implementation Patterns, 2009. ,
Continuous Integration ,
The Definitive ANTLR Reference, 2007. ,
The Tree-to-Tree Correction Problem, Journal of the ACM, vol.26, issue.3, 1979. ,
DOI : 10.1145/322139.322143
Manual Tree Walking Is Better Than Tree Grammars, 2006. ,
Real Programmers don't use Pascal ,