Abdullahsab3 opened a new issue, #12569:
URL: https://github.com/apache/datafusion/issues/12569

   ### Is your feature request related to a problem or challenge?
   
   Property based testing is a testing technique that can be used to ensure a 
certain property holds for a certain set of input. For example the associative 
property of addition: 
   
   ```math
   $$
   \forall a, b, c \in \mathbb{R} :\quad (a + b) + c = a + (b + c)
   $$
   ```
   
   Property based testing is often used to test soundness/correctness of 
interpreter, compilers and static analysis tools. As an example, property based 
testing is used to test certain lattice properties in the following static 
analysis tool (written in Scala) 
https://github.com/Abdullahsab3/maf/blob/master/code/shared/src/test/scala/maf/test/lattice/LatticeTests.scala
   
    It might be interesting to use it for Apache Datafusion as well? I think 
bugs such as https://github.com/apache/datafusion/issues/12190 can be detected 
easier when this kind of tests are present. It might help improve the stability 
of Datafusion in the long run. 
   
   In the context of Datafusion, on top of my head, I think it might be useful 
to use this technique to test arithmetic properties between scalar values, time 
values, etc. There are likely more advanced use cases for property based 
testing in Datafusion wrt logical or physical plans. 
   
   In Rust the popular property based testing libraries are proptest (great 
documentation https://proptest-rs.github.io/proptest/intro.html) and Quickcheck 
(https://github.com/BurntSushi/quickcheck). Not sure how easy or feasible it is 
to use this technique in Datafusion or Arrow. Just an idea to share
   
   ### Describe the solution you'd like
   
   _No response_
   
   ### Describe alternatives you've considered
   
   _No response_
   
   ### Additional context
   
   _No response_


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org
For additional commands, e-mail: github-h...@datafusion.apache.org

Reply via email to