I find that if there is an uninitialized left-value (variable X for example) in the program, Frama-C asserts that X has been initialized, but then the assertion gets the final status invalid. It seems that Frama-C stops the analysis after detecting the invalid final status, so that the actual result of the impact analysis (the impacted statements) is just a part of the ideal result. I want Frama-C to proceed the impact analysis regardless of those uninitialized variables, but I haven't found any related options yet. How to deal with this problem?
How to avoid detecting uninitialized variables when using the impact analysis of Frama-C
108 Views Asked by jkl4294967296 At
1
There are 1 best solutions below
Related Questions in FRAMA-C
- cannot prove function in frama-C
- Using Frama-C to slice from a large project
- Frama-c cannot prove loop implemented by goto
- Export SAT/SMT-Equations sent to the solver by FRAMA-C/WP
- Why WP with Z3 proves \false when access to struct field is defined?
- Has Frama-C been verified?
- IDEs / Workflows for Frama-C? (notably, for the WP plugin)
- How to demonstrate prerequisites set by instantiate plugin with WP
- Defining hardware "storage" for processing by Frama-C EVA
- Error while installing libgnomecanvas in MacOS Ventura (Frama-C pre-requisite) using brew on terminal
- How to instruct WP not to analyze dead or unreachable code
- Tracking chained usage in huge legacy C codebase with Frama-C
- How to increase Frama-C's GUI font/text size?
- __e_acsl_assert is not getting added for all given assert in .i file
- Failed to verifying the occurrence of a value in an array with logic function
Related Questions in IMPACT-ANALYSIS
- Vstest task in Azure DevOps detecting non impacted test cases.?
- Obtaining covariates' estimates in rdrobust package
- How to evaluate the impact of change for a single line of code or a variable?
- Is there a python package that can find the most impactful group (categorical features) from my data?
- Conrolling for Fixed Effects in Regression Discontinuity in R
- Plotting bar plots for categorical variables in STATA
- Azure DevOps Server: Why does Test Impact Analysis identify my tests both as "impacted" and as "not impacted"?
- How do I determine which files my C# test depends on?
- What are the settings to be set to get Impacted Test results in AzureDev ops for MSTEST
- Azure DevOps 'Run Only Impact Tests' doesn't work with XUnit Tests?
- TFS vNext build Test Impact Analysis - always running all tests from some projects in the solution
- Tools for documenting and mapping APIs with application's user interface for impact analysis
- Reduce credible intervals in Causal Impact model
- Modelling graph in Neo4j showing workflow and impact
- Does the Test Impact Analysis Feature of Microsoft Test Manager work on manual Desktop Application Tests
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You're invoking an undefined behavior as indicated in annex J.2 of ISO C standard "The value of an object with automatic storage duration is used while it is indeterminate" (Note to language lawyers: said annex is informative, and I've been unable to trace that claim back to the normative sections of the standard, at least for C11). The EVA plug-in, which is used internally by Impact analysis, restricts itself to execution paths that have a well-defined meaning according to the standard (the proverbial nasal demons are not part of the abstract domains of EVA). If there are no such paths, abstract execution will indeed stop. The appropriate way to deal with this problem is to ensure the local variables of the program under analysis are properly initialized before being accessed.
Update
I forgot to mention that in the next version (16 - Sulfur), whose beta version is available at https://github.com/Frama-C/Frama-C-snapshot/wiki/downloads/frama-c-Sulfur-20171101-beta.tar.gz, EVA has an option
-val-initialized-locals, whose help specifies: