06.10.2016, 15:32, "Ponomarenko Andrey":
> 06.10.2016, 07:54, "Paul Wise":
>>  On Wed, Oct 5, 2016 at 11:00 PM, Ponomarenko Andrey wrote:
>>
>>>   I'd like to present a new free tool for maintainers of software libraries 
>>> — Package ABI Diff Tool (Pkg-ABIdiff). It's a tool for backward 
>>> compatibility analysis of API/ABI interfaces in Deb packages. The tool is 
>>> based on ABI Compliance Checker and ABI Dumper tools.
>>
>>  Does this have any advantages over abipkgdiff from the abigail-tools
>>  Debian package already in Debian?
>>
>>  BTW, I think it would be really interesting to run
>>  pkg-abidiff/abipkgdiff over the whole Debian archive and possibly use
>>  that to inform the release team of uncaught ABI changes.
>>
>>  --
>>  bye,
>>  pabs
>>
>>  https://wiki.debian.org/PaulWise
>
> I guess, checks for more compatibility rules, less false positives, visual 
> reports, problem severity levels and separated analysis of both backward 
> binary compatibility and backward source compatibility are main advantages of 
> the pkg-abidiff. The disadvantage is that pkg-abidiff may not be as fast as 
> abipkgdiff, because pkg-abidiff is written in Python, but abipkgdiff is 
> written in C++.
>
> The tools are based on different software stacks. The pkg-abidiff is based on 
> ABI Compliance Checker and ABI Dumper tools (https://github.com/lvc) 
> developed since 2009. The abipkgdiff is based on libabigail developed since 
> 2013. So, implementations and reports are completely different.
>
> Anyway, it's better to run both tools on all packages at the same time and 
> verify reports of each other.
>
> Thank you.

After a closer look at the source code, reports and docs of abipkgdiff / 
libabigail tools I can list more pros and cons of 
https://github.com/lvc/pkg-abidiff / abi-compliance-checker:

PROS
- separated analysis of both backward binary compatibility and backward source 
compatibility
- assigning severity levels to ABI changes
- explaining effects of ABI changes
- checks for more compatibility rules
- less false positives
- visual reports
- grouping of affected ABI interfaces by root cause (usually a change in the 
structure of data type), so the output report is more compact and easy to review
- estimating total compatibility rate of an object

CONS
- may be slower and consume more RAM memory than libabigail tools due to 
implementation language (C++ vs Python/Perl/C)
- the generation of output report is not configurable (can't pass any 
additional options to abi-compliance-checker via cli interface of pkg-abidiff)
- no option to generate detailed plain-text report (only console output and 
summary report in JSON format are present)

Thank you.

Reply via email to