The present invention is directed at a system and method for statically
checking source code to determine potential compatibility issues with a
new software release. The system and method perform a static check on
input source files associated with a software release. The static check
includes identifying programming constructs, such as function prototypes,
structures, unions, and the like, within source code files associated with
the software release. The programming constructs undergo a filtering
process that reduces the number of potentially false change errors. The
filtered programming constructs are saved in a database associated with
the software release. The database is then compared with another database
containing programming constructs for another software release in order to
identify differences between the two software releases. A list of changes
is generated that identifies the differences between the two software
releases. These changes are used to identify potential incompatibilities
between the two software releases.
De onderhavige uitvinding wordt geleid bij een systeem en een methode om broncode statisch te controleren om potentiƫle verenigbaarheidskwesties met een nieuwe softwareversie te bepalen. Het systeem en de methode voeren een statische controle van input brondossiers verbonden aan een softwareversie uit. De statische controle omvat het identificeren van programmeringsconcepten, zoals functieprototypen, structuren, vakbonden, en dergelijke, binnen broncodedossiers verbonden aan de softwareversie. De programmeringsconcepten ondergaan een het filtreren proces dat het aantal potentieel valse veranderingsfouten vermindert. De gefiltreerde programmeringsconcepten worden bewaard in een gegevensbestand verbonden aan de softwareversie. Het gegevensbestand wordt dan vergeleken met een ander gegevensbestand dat programmeringsconcepten voor een andere softwareversie bevat om verschillen tussen de twee softwareversies te identificeren. Een lijst van veranderingen wordt geproduceerd die de verschillen tussen de twee softwareversies identificeert. Deze veranderingen worden gebruikt om potentiƫle onverenigbaarheden tussen de twee softwareversies te identificeren.