Oracle just updated their "Oracle Solaris 11 Preflight Checker for Applications". The tool is taking a multi pronged approach to figure out if a Solaris 10 application will work without any hick ups in Solaris 11.
- A Binary/ELF analyzer extracts all bindings and symbols in an application which is available as a binary. It then compares them with the symbols which are available in Solaris 11.
- A source analyzer for C/C++ and shell scripts is checking for changes as well. Oracle is replacing the old default shell (Bourne /bin/sh) and the korn shell (/bin/ksh) by a more modern ksh93. The shell scanner will find as well files being used in Solaris 10 which are not available on Solaris 11.
- A Runtime analyzer is able to monitor systemwide (!) processes and will report on usage of
- libraries which got moved, removed or became deprecated,
- invocation of private interfaces,
- usage of outdated or removed packages,
- usage of files which got moved or removed.
The information listed above can be found in the User Guide which ships with the tool.
There are two remarkable features of the tool:
- It uses a database with all the symbol, file and API information of Solaris 11.
- It uses extensively Dtrace to analyze any given running process. This means that it is able to cover all dependent processes which are being used by an application and it is able to cover all resources which will be loaded or accessed dynamically.