Source code profiling and classification for automated detection of logical errors
Authors: George Stergiopoulos, Panagiotis Katsaros and Dimitris Gritzalis
Paper Information
| Title: | Source code profiling and classification for automated detection of logical errors |
| Authors: | George Stergiopoulos, Panagiotis Katsaros and Dimitris Gritzalis |
| Proceedings: | PAS 2014 Proceedings |
| Editors: | Dongming Wang, Tudor Jebelean and Wei Li |
| Keywords: | Source code classification, Static Analysis, Dynamic Analysis, Invariants, Logical Errors, Input Vectors, Fuzzy Logic |
| Abstract: | ABSTRACT. Research and industrial experience reveal that code reviews as a part of software inspection might be the most cost-effective technique a team can use to reduce defects. Tools that automate code inspection mostly focus on the detection of a priori known defect patterns and security vulnerabilities. Automated detection of logical errors, due to a faulty implementation of applications’ functionality is a relatively uncharted territory. Automation can be based on profiling the intended behavior behind the source code. In this paper, we present a code profiling method based on token classification. Our method combines an information flow analysis, the crosschecking of dynamic invariants with symbolic execution and code classification heuristics with the use of a fuzzy logic system. Our goal is to detect logical errors and exploitable vulnerabilities. The theoretical underpinnings and the practical implementation of our approach are discussed. We test the APP_LogGIC tool that implements the proposed analysis on two real-world applications. The results show that profiling the intended program behavior is feasible in diverse applications. We discuss in detail the heuristics used to overcome the problem of state space explosion and that of the large data sets. Code metrics and test results are provided to demonstrate the effectiveness of the proposed approach. This paper extends the work reported in an article that has been recently submitted to an international conference and is currently pending review. In this extended version of our method we propose new classification mechanisms and we provide a detailed description of the used source code classification techniques and heuristics. |
| Pages: | 0 |
| Talk: | Jul 17 18:00 |
| Paper: | ![]() |
