This module contains the basic operations for adding or removing clauses to ciaopp (currently working for fixpoint dd) and perform an incremental reanalysis.
The posible actions are:
Usage:init_file_inc_analysis(Files,Cls,Ds)
Initializes incremental analysis with a file.
Usage:td_add_clauses(ClKeys,AbsInt)
Adds a list of already processed clauses, expressed with their clause id (ClKeys) to the code database and updates the analysis of abstract domain AbsInt with them.
Usage:td_delete_clauses(ClKeys,AbsInt)
Removes clauses with ids of list ClKeys for abstract domain AbsInt from analysis using top-down deletion strategy and performs a reanalysis.
Usage:bu_delete_clauses(ClKeys,AbsInt)
Removes clauses Cls for abstract domain AbsInt from analysis using the bottom up deletion strategy and performs a reanalysis.
Usage:td_rec_delete_complete(Id,Key,AbsInt)
This predicate removes the complete with Id in domain AbsInt and all its dependent information
Usage:run_inc_fixpoint(AbsInt)
This predicate runs fixpoint for abstract domain AbsInt. It should to be run after adding information from registry files in intermodular analysis.
Usage:incrementally_update_analysis(Mod,AbsInt)
Mod is the module that will be reanalyzed after updating its external completes. To be called in modular analysis, no following analysis needed. This is a top-down strategy update
Usage:process_external_complete_change(AbsInt,NewPrime,SgKey,Sg,Id,Proj)
This predicate updates analysis information given a complete that has changed externally. Typically this is used for updating completes that are outdated as a consequence of modular analysis (the analysis of a module was improved). The complete that has change has key SgKey and id Id. The new answer for the complete is NewPrime and refers to domain AbsInt.
Changes in answers are updated as follows: