choeoe / Grand

0 stars 3 forks source link

False positives due to different exceptions #1

Open InverseIntegral opened 2 years ago

InverseIntegral commented 2 years ago

Hey there, First of all I would like to thank you for making Grand available publicly.

I have tried to run Grand myself by following the instructions given in the README file but have encountered some problems. Sometimes 150 queries out of 1000 that I generate, are reported as potential bugs. Now this seems abnormally high and when I investiage them manually, I can see that most of the problems come from exceptions being thrown.

Illegal ranges:

db0: java.lang.IllegalArgumentException: Not a legal range: [0, -7248751818768758783]
db1: java.util.concurrent.ExecutionException: org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Not a legal range: [0, -7248751818768758783]
db2: java.util.concurrent.ExecutionException: org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Not a legal range: [0, -7248751818768758783]

NumberFormatException:

db0: java.lang.NumberFormatException: Error encountered evaluating script: g.V().hasLabel('vl1','vl0').has('vp2', not(gt('룮f6NbV')))
db1: v:[0, 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 4, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 5, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 6, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 7, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 8, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 9, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
db2: v:[0, 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 4, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 5, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 6, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 7, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 8, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 9, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]

ClassCastException (to Comparable):

db0: java.lang.ClassCastException: com.baidu.hugegraph.structure.HugeEdge cannot be cast to java.lang.Comparable
db1: e:[0, 1, 10, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 11, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 12, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 13, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 14, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 15, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 16, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 17, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 18, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 19, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 2, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 4, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 5, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 6, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 7, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 8, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 9, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
db2: java.util.concurrent.ExecutionException: org.apache.tinkerpop.gremlin.driver.exception.ResponseException: org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerEdge cannot be cast to java.lang.Comparable

Is it possible that there are a lot of false positives? Or is there sometimes I might have misconfigured on my side?

zhengyingying commented 1 year ago

Thanks for your report.

Some of exceptions are caused by bugs in our tool. For example, we should compare the detailed execption messages Not a legal range: [0, -7248751818768758783] instead of the exception, or maybe we should avoid to generate an odd string value. We will fix them.

The third exception is expected in Grand. We think they are bugs due to the different outputs. Actually, they are caused by lack of logic implementation.