You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I ran GraphGenie for 1 hour on Redisgraph and found some problems in some test case pairs:
First:
base query:OPTIONAL MATCH (iqdwmbdq:Movie)-[]->() WHERE iqdwmbdq IS NOT NULL RETURN count(iqdwmbdq)
test query:OPTIONAL MATCH (iqdwmbdq:Movie)-[]->() WHERE iqdwmbdq IS NOT NULL RETURN count()
Second:
base query:OPTIONAL MATCH ()-[]->()-[]->()-[..1]->()<-[]-()<-[]-() WHERE True RETURN count(1) ORDER BY NULL
test query:MATCH ()-[]->()-[]->()-[*..1]->()<-[]-()<-[]-() WHERE True WITH * WHERE True AND True AND True RETURN count(1) ORDER BY NULL
And I think these two are false alarms because "count(iqdwmbdq) " is not equivalent to "count(*)" and "OPTIONAL MATCH" is not equivalent to "MATCH".But it says that " our test oracle only identified bugs caused by semantic discrepancies,
ensuring that GraphGenie only reports true logic bugs." in initial paper, so I wonder if these are my misjudgment.
Looking forward to your reply.
The text was updated successfully, but these errors were encountered:
Hi @ljhhuxiaoba, technically the oracle of GraphGenie has no false alarm like differential testing (e.g., same bug exists in multiple db instances). However, the implementation could have false alarms, which means GraphGenie could have an inaccurate transformation rule that generates inequivalent queries (also one valid transformation might be incorrect in another graph db). I'd be happy to fix them.
@ljhhuxiaoba wondering why OPTIONAL MATCH (iqdwmbdq:Movie)-[]->() WHERE iqdwmbdq IS NOT NULL RETURN count(iqdwmbdq) is semantically different from OPTIONAL MATCH (iqdwmbdq:Movie)-[]->() WHERE iqdwmbdq IS NOT NULL RETURN count()? Could you illustrate more on it?
I ran GraphGenie for 1 hour on Redisgraph and found some problems in some test case pairs:
First:
base query:OPTIONAL MATCH (iqdwmbdq:Movie)-[]->() WHERE iqdwmbdq IS NOT NULL RETURN count(iqdwmbdq)
test query:OPTIONAL MATCH (iqdwmbdq:Movie)-[]->() WHERE iqdwmbdq IS NOT NULL RETURN count()
Second:
base query:OPTIONAL MATCH ()-[]->()-[]->()-[..1]->()<-[]-()<-[]-() WHERE True RETURN count(1) ORDER BY NULL
test query:MATCH ()-[]->()-[]->()-[*..1]->()<-[]-()<-[]-() WHERE True WITH * WHERE True AND True AND True RETURN count(1) ORDER BY NULL
And I think these two are false alarms because "count(iqdwmbdq) " is not equivalent to "count(*)" and "OPTIONAL MATCH" is not equivalent to "MATCH".But it says that " our test oracle only identified bugs caused by semantic discrepancies,
ensuring that GraphGenie only reports true logic bugs." in initial paper, so I wonder if these are my misjudgment.
Looking forward to your reply.
The text was updated successfully, but these errors were encountered: