Esempio n. 1
0
 public FieldAccessCollector(IFieldAccessPathObserver pathObserver,
                             IFieldAccessExplorationObserver explorationObserver,
                             IPexMeDynamicDatabase pmd, PexMeStaticDatabase psd,
                             int level)
 {
     this.pathObserver        = pathObserver;
     this.explorationObserver = explorationObserver;
     this.pmd            = pmd as PexMeDynamicDatabase;
     this.psd            = psd;
     this.trackedFrameId = -1;
     this.level          = level;
     this.depth          = -1;
 }
 public FieldAccessCollector(IFieldAccessPathObserver pathObserver, 
     IFieldAccessExplorationObserver explorationObserver,
     IPexMeDynamicDatabase pmd, PexMeStaticDatabase psd,
     int level)
 {
     this.pathObserver = pathObserver;
     this.explorationObserver = explorationObserver;
     this.pmd = pmd as PexMeDynamicDatabase;
     this.psd = psd;
     this.trackedFrameId = -1;
     this.level = level;
     this.depth = -1;
 }
Esempio n. 3
0
        /// <summary>
        /// Gets invoked after each run, which happens for each path in the exploration
        /// </summary>
        /// <param name="host"></param>
        /// <param name="data"></param>
        void IPexPathPackage.AfterRun(IPexPathComponent host, object data)
        {
            if (pathObserver != null)
            {
                pathObserver = host.GetService <IFieldAccessPathObserver>();
            }
            pathObserver.Analyze();


            //aggregate the coverage
            this.pmd.AccumulateMaxCoverage(host.ExplorationServices.Driver.TotalCoverageBuilder);

            //Check whether any uncovered locations are covered and then store the associated sequence
            this.pmd.CheckForNewlyCoveredLocations();
        }
Esempio n. 4
0
 void IPexPathPackage.Load(IContainer pathContainer)
 {
     pathObserver = new FieldAccessPathObserver();
     pathContainer.AddComponent("", pathObserver);
 }