Symbolic analysis of assembly traces: Lessons learned and perspectives

Raphael Khoury
2015 2015 IEEE 6th International Workshop on Program Comprehension through Dynamic Analysis (PCODA)  
In this study, we have developed a software to implement a symbolic analyzer for assembly traces. The software receives as input traces of assembly instructions. It then builds a symbolic expression characterizing the possible range of values for each variable and feeds this value to the Yices STM solver. The Yices solver returns possible concrete values that respect the symbolic expressions associated with each variable. This software has several potential applications including software
more » ... ding software testing and fuzzing and vulnerability detection. To verify the validity of our approach, we have tested our software with real-life traces and investigated its potential use for malware detection. For instance, that the software automatically detects the input values that would cause a buffer overflow in some cases. To conclude, we reflect on the lessons learned during the development of this software, which can help guide the future development of symbolic analyzers. 978-1-4673-6917-6/15/$31.00 c 2015 IEEE PCODA 2015, Montréal, Canada
doi:10.1109/pcoda.2015.7067177 dblp:conf/wcre/Khoury15 fatcat:vtpdqdz7jnaffck35za7ci2i7m