fadysedrak / synoptic

Automatically exported from code.google.com/p/synoptic
0 stars 0 forks source link

Mine and store invariants at all Synoptic points #284

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
A SynopticPoint is a point between 2 events in a Synoptic model. Each point 
corresponds to a set of States. Create a new type DataTrace to represent all 
data records (i.e., States) at a particular SynopticPoint, that is, a map from 
each variable to a set of its values from all executions. An API of DataTrace 
should be easy to use with the Daikonizer's API.

Original issue reported on code.google.com by ssukkerd on 30 Jan 2013 at 6:59

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Correction:
DataTrace must maintain a list of data records, not a map, because it must have 
a separation between any 2 sets of data from 2 different executions. For 
example, at a SynopticPoint p, we have 2 sets of data from 2 executions: 
{x=1,y=2} and {x=2,y=3}. The relation between x and y is y=x+1. If we maintain 
a map, we would have x->{1,2}, y->{2,3} and it could be interpreted as 
{x=1,y=3} and {x=2,y=2}. On the other hand, if we maintain a list, we would 
have [{x=1,y=2},{x=2,y=3}] and there would be no ambiguity.

SynopticPoint is not a type; it is implicitly represented in Partition. 
Therefore, DataTrace, which corresponds to a SynopticPoint, should be encoded 
in Partition as well. That is, each successor of a Partition maps to DataTrace.

Original comment by ssukkerd on 31 Jan 2013 at 4:24

GoogleCodeExporter commented 9 years ago
*** Disregard the above descriptions. There are significant changes to this 
issue. ***

Mine invariants at all Synoptic points. A Synoptic point is an edge between 2 
partitions in a Synoptic model. Each Synoptic point corresponds to a set of 
States. We need to pass these states to Daikonizer to get a list of Daikon 
invariants at that particular Synoptic point.

Create a Daikonizer wrapper class, which provides interface to add instances of 
State to Daikonizer and get back a list of invariants. Create a Partition 
wrapper class to store invariants at Synoptic points of each partition.

Original comment by ssukkerd on 1 Feb 2013 at 4:21

GoogleCodeExporter commented 9 years ago
I have no unit tests for this yet. But I think it would help if you review 
Revision 144199854512 first, to make sure I'm on the right track.

Original comment by ssukkerd on 1 Feb 2013 at 4:50

GoogleCodeExporter commented 9 years ago

Original comment by bestchai on 8 Feb 2013 at 4:17

GoogleCodeExporter commented 9 years ago
Solution in revision b016db026b30, please review.

Original comment by ssukkerd on 11 Feb 2013 at 3:42

GoogleCodeExporter commented 9 years ago
Fixed via Issue 285 with revision ef675d4d0691

Original comment by bestchai on 19 Feb 2013 at 7:19