claudeyj / patch_correctness

MIT License
11 stars 1 forks source link

Where is the code of studied static techniques S3, ssFix and CapGen? #1

Open YuningLi0902 opened 4 weeks ago

YuningLi0902 commented 4 weeks ago

Hi Authors! Thanks for your very nice work! As the title described I can't find related code in the repository. Would you mind share them?

claudeyj commented 4 weeks ago

Hi there, thank you for the issue. Sorry for missing the code in the repo. The original scripts of s3, ssfix and capgen were requested from the authors of a prior study: https://dl.acm.org/doi/10.1145/3324884.3416590. I stored the copy of their scripts to my previous local windows machine. It's been a while so it may take some time for me to find the scripts. I used the windows machine because CapGen relies on a tool named "understand", which is a commercial static analysis tool. And I failed to use the tool on my ubuntu server so I had to use my local windows machine. Unfortunately I am currently away from that machine, but I will upload the scripts as soon as I find the scripts. Meanwhile an alternative solution is to contact the ASE'20 paper authors for their scripts. Please let me know if there's anything I can help. Thanks!

YuningLi0902 commented 4 weeks ago

Thanks! Additionally, what efficiency can these three static technique achieve since dynamic technique like PATCH-SIM may cost much time to classify correctness of single patch. Could S3, ssFix and CapGen judge correctness of single patch within seconds?

claudeyj commented 4 weeks ago

Yes, s3, ssifx and capgen are way faster since they are based on source code level static analysis

YuningLi0902 commented 4 weeks ago

What if compared with ML tetchniques? Some ML techniques declare they can judge the correctness in seconds while inferring. Maybe these three static techniques could complete correctness assessment work of several patches in one second?

claudeyj commented 4 weeks ago

I think the performance is similar. It's hard to recall the concrete performance but both should be around 0.1~10s level

YuningLi0902 commented 3 weeks ago

Thanks a lot for your answer! Looking forward to your code!