About Me

Hello and welcome! I am a second year Computer Engineering (C.E.) Ph.D. student at Iran University of Science and Technology (IUST). I received my B.Sc. in Computer Engineering / software from Arak University and my M.Sc. degree from Iran University of Science and Technology (IUST). This website summarizes me and my works :)

Research Interests

Toward better software systems by automating laborious tasks in software engineering through the intelligent reverse engineering techniques

My research interests are about empirical and automated software engineerin (EaASE), especially automated software refactoring, testing, test data generation, dynamic software analysis and applying machine learning in software engineering. As a new contribution I want to use deep learning techniques in various phases of software testing process include test data generation, fault localization and program repair. For the time being, I have focused on fuzz testing and test data generation in file format fuzzers. I used deep neural networks (kind of deep learning techniques) to statistically capture the format of highly complex file structures and then built a generative model to generate new test data. It seems that there is a straight relationship between well-formed files and percentage of code coverage when Software Under Test (SUT) was executed with such files as input.

Research Interests in Details

  • Automated software engineering, testing, and debugging.
  • Software reverse engineering, re-engineering, and refactoring.
  • Software security and source code analysis (dynamic and static analysis).
  • Machine learning and deep learning applications in software engineering.
  • Machine learning and deep learning applications in sociology (computational sociology)

Current Position

Currently, I am a member of IUST Reverse Engineering Research Laboratory and work under the supervision of Dr. Saeed Parsa. You can find and read more information on the official laboratory website.

Educational Background


Ph.D. Dissertation

Hmm… It is on the way!

Master Thesis

In my M.Sc. thesis, I designed and built IUST-DeepFuzz, a file format fuzzer and provide IUST-PDFCorpus, a large dataset of PDF files and PDF data objects. IUST-DeepFuzz can automatically learn the grammar (structure) of a given input file, then generate and fuzz various test data based on the learned model and some mutation-based methods. You can find all relevant information about my M.Sc. thesis on the IUST-DeepFuzz GitHub repository.

”’ *Password is needed. ”’

Bachelor Project

In my B.Sc. project, I worked on agent-oriented software engineering and developed a multi-agent system to participate in the multi-agent programming contest (MAPC). Unfortunately, the competitions did not hold in the year 2014, for the technical reasons raised by the new scenario, and our team could not participate in the competitions. But MAPC is alive for me and my teammates and there for our final project reports is kept in draft version :)

  • Download my B.Sc Project Report (Draft version) [PDF]


As a software engineer, I know about software development methodologies (both traditional and modern methodologies), software architectures, enterprise applications design and development, programming, and computer networks. I am an expert in object-oriented design, database concepts, and ORMs. During the IUST master program, I learned about distributed systems, advanced software engineering, software reverse engineering techniques, cluster, grid, and cloud computing, and secure and dependable software systems design. For the time being, my skills are as follows:

  • Software engineering
    • Object-oriented system analysis and design
    • RUP and Agile methodologies
  • Software testing
    • Automatic test data generation
    • Security testing, stress testing, and fuzzing
    • Static and dynamic program analysis
  • Deep Learning
    • Recurrent Neural Networks
    • Recurrent Language Models


From July 2013 my friends and I maintain Micropedia a free software engineering/ programming tutorials website in Persian. You can find some basic programming tutorials on Micropedia.

Please visit my blog or jump to resources page for more information. At this time, there is no commenting tool here on my blog and you can contact me anytime by sending an email to: M – Z A K E R I [AT] L I V E [DOT] C O M (m-my_last_name@live.com). I will provide proper response as soon as possible.

Curriculum vitae

More details can be found in my up-to-date C.V.

  • My C.V. August 2019 (English) PDF

  • My C.V. March 2018 (Persian) PDF