VSL 2014: VIENNA SUMMER OF LOGIC 2014

Source code profiling and classification for automated detection of logical errors

Authors: George Stergiopoulos, Panagiotis Katsaros and Dimitris Gritzalis

PapersPapers with AbstractsPrefaceAuthor IndexKeyword IndexAdditional files

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:
Disclaimer | Powered by EasyChair Smart Program