diff options
author | Unknown <akashl@akash-desk.fareast.corp.microsoft.com> | 2012-11-05 15:52:27 +0530 |
---|---|---|
committer | Unknown <akashl@akash-desk.fareast.corp.microsoft.com> | 2012-11-05 15:52:27 +0530 |
commit | 8cc5d9cc9d455b42fc19881f29da47a08f10d8e1 (patch) | |
tree | ea6223c6b4ced1492e832f35d0229e25c86a06ab /Source/BoogieDriver | |
parent | da91e455665b6874af1af29aed37599247f5ece5 (diff) |
Added Abstract Houdini: an implementation of Houdini based on abstract domains.
Currently only predicate-abstraction domain is supported.
Diffstat (limited to 'Source/BoogieDriver')
-rw-r--r-- | Source/BoogieDriver/BoogieDriver.cs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Source/BoogieDriver/BoogieDriver.cs b/Source/BoogieDriver/BoogieDriver.cs index 6729532e..035eb549 100644 --- a/Source/BoogieDriver/BoogieDriver.cs +++ b/Source/BoogieDriver/BoogieDriver.cs @@ -617,6 +617,16 @@ namespace Microsoft.Boogie { #region Run Houdini and verify
if (CommandLineOptions.Clo.ContractInfer) {
+ if (CommandLineOptions.Clo.AbstractHoudini != null)
+ {
+ CommandLineOptions.Clo.PrintErrorModel = 1;
+ // Run Abstract Houdini
+ Houdini.PredicateAbs.Initialize(program);
+ var abs = new Houdini.AbstractHoudini(program);
+ abs.computeSummaries(new Houdini.PredicateAbs());
+
+ return PipelineOutcome.Done;
+ }
Houdini.Houdini houdini = new Houdini.Houdini(program);
Houdini.HoudiniOutcome outcome = houdini.PerformHoudiniInference();
if (CommandLineOptions.Clo.PrintAssignment) {
|