--- layout: fc_discuss_archives title: Message 61 from Frama-C-discuss on August 2015 ---
On Fri, Aug 28, 2015 at 6:46 AM, Tim Newsham <tim.newsham at gmail.com> wrote: > On Thu, Aug 27, 2015 at 6:40 PM, Tim Newsham <tim.newsham at gmail.com> > wrote: > I verified that the sodium version isnt reporting any dead code > in my fopen model. Perhaps it's unique to the newest version? > Indeed. I investigated, and the difference comes from the fact that Value has a much improved understanding of the ACSL \subset operator in Magnesium. It will reduce its state according to the possible values in the second argument of \subset, which was not done in Sodium. Both Sodium and Magnesium post-conditions in stdio.h are inconsistent with the body of fopen you supplied, but this has no impact (except the "unknown" status) on the contents of \result with Sodium. Also, I verified that you need -plevel 256 in Sodium to completely analyze your code with the main function I proposed, because Value implements the \initialized predicate in a less efficient way compared to Magnesium. This actually has a visible influence on the performances of the analysis: the last 16 iterations take 3min39s with Sodium and 2m58s with Magnesium. HTH, -- Boris -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.gforge.inria.fr/pipermail/frama-c-discuss/attachments/20150828/b54dc412/attachment.html>