Program static analysis with ANTLR

Posted on Mon 29 March 2021 in blog • Tagged with blog, ANTLR, compiler, tutorial

Static analysis means extracting specific information from the program artifacts, e.g., source code, without any execution of the program. The ANTLR tool can be used to perform all types of static analysis at the source-code level. In this tutorial, I explain how we can use the ANTLR tool to perform some basic kinds of static analysis of the C++ programs in the Python programming language. The task I chose to explain is extracting the class diagram and computing the relevant design metrics.


Continue reading

Advanced Software Engineering

Posted on Tue 23 March 2021 in courses • Tagged with courses, teaching

Advanced Software Engineering, graduate course.


Continue reading

Compilers

Posted on Tue 23 March 2021 in courses • Tagged with courses, teaching

Compiler design and constructions, Undergraduate course (Bachelor).


Continue reading

An introduction to ANTLR in Python

Posted on Mon 22 March 2021 in blog • Tagged with blog, ANTLR, compiler, tutorial

ANTLR is a parser generator that can generate the parser program from context-free grammar descriptions specified in the ANTLR grammar format. In this tutorial, I explain how we can generate and use the Java parser with ANTLR in the Python programming language.


Continue reading

Innovations on Automatic Test Data Generation

Posted on Mon 22 March 2021 in blog • Tagged with blog, Testing, Fuzzing

Fuzz testing (Fuzzing) is a dynamic software testing technique. In this technique with repeated generation and injection of malformed test data to the software under test (SUT), we are looking for possible faults and vulnerabilities.


Continue reading