Behkish Nassirzadeh

MASc Student at the University of Waterloo

Toronto and Waterloo, ON, Canada





Main Topics & Areas of Interest

Applications of Blockchain


Machine Learning and AI


Cryptography and Computer Security


Embeded Systems




Farsi (Persian)


Favorite Quotes

“Be your own hero, it’s cheaper than a movie ticket.”
— Douglas Horton

"If you don’t build your dream someone will hire you to help build theirs."
– Tony Gaskins

"Everything will be okay in the end. If it's not okay, it's not the end"
– John Lennon

Related Courses

ECE 657A - ECE 657A - Data and Knowledge Modeling and Analysis

Spring 2020

Instructor: Dr. Amar

ECE 653 - Testing, Quality Assurance, and Maintenance

Spring 2020

Instructor: Prof. Ganesh

ECE 720 - Cryptographic Computations

Winter 2020

Instructor: Prof. Hasan

ECE 606 - Algorithms

Fall 2019

Instructor: Prof. Tripunitara

ECE 652 - Safety-critical Embedded Software

Spring 2019

Instructor: Prof. Fischmeister

ECE 657 - Tools of Intelligent System Design

Spring 2019

Instructor: Dr. Amar

ECE 457B - Fundamentals of Computational Intelligence

Winter 2019

Instructor: Prof. Karray

ECE 409 - Cryptography and System Security

Winter 2019

Instructor: Prof. Gong

ECE 457A - Cooperative and Adaptive Algorithms

Spring 2018

Instructor: Prof. Basir

ECE 458 - Computer Security

Spring 2018

Instructor: Dr. Moreno

About Me

My name is Behkish. I am a MASc student in Computer Engineering at the University of Waterloo under the supervision of Professor Vijay Ganesh . My research focuses on the applications of blockchain, and applied machine learning, and artificial intelligence. During my MASc program, I designed and implemented different methods in the areas of Bitcoin, security vulnerabilities of Smart Contracts, and Decentralized Oracles using techniques like Whitebox fuzzing, optimized binary search, RNN (LSTM), NLU (Sentiment analysis), reinforcement learning (DQN), and game theory. I'm hoping to start a startup when I graduate.

I have over 4 years of experience working in different computer software fields, including Graduate Student Researcher, Project Lead Developer, Full-stack Software Developer, Web Admin, and Information Security Coordinator.

I received a BASc in Computer Engineering with distinction from the University of Waterloo.

You can use my LinkedIn or my email to contact me. My resume is available here .

When I'm not doing research, I like to spend my time attending social gatherings, reading business books, and working with photographers and other artists to create content for my Instagram account.


Smart Contract Gas Gauge
July 2020 - Current
Advisers: Prof. Vijay Ganesh and Dr. Sebastian Banescu

A smart contract is an executable program that enables the building of a programmable trust mechanism between multiple entities without the need for a trusted third-party. It is an application of blockchain and is meant to store rules and agreements made by several parties, automatically detect when certain conditions have been met, and Self-execute an agreement based on the conditions they automatically detect.
The focus of this research is to develop a tool that scans smart contracts to find potential blocks of code vulnerable to DoS with Gas Limit. Loops are the main pattern of this vulnerability and hence the main target for this tool. If an unbounded loop is identified, the tool estimates the number of allowed iterations before consuming all the gas. A lot of optimization is used to make the tool extremely accurate and reasonably fast. An optimized binary search approach, Static analysis and run-time verification are the main methods used in this research.

Middleman Verification Problem
Mar 2019 - Current
Advisers: Prof. Vijay Ganesh and Dr. Albert Heinle

A middleman is an agent, or company intermediate between the producer of goods and the retailer or consumer. Middlemen are an important part of the transactions in many fields such as the automotive industry, film industry, and online advertisement. Online advertisement is a billion-dollar industry that has many potentials and challenges. One of the greatest challenges of online advertisement is transparent accounting.
This research is on implementing a reliable and intelligent platform to test the fairness and honesty of the middleman. The main focus of the research is on online advertisement. Game theory, decentralized oracles,and distributed systems are the main parts of this research.

Smart Contract white Box Fuzzer
Dec 2019 - June 2020
Advisers: Prof. Vijay Ganesh and Dr. Sebastian Banescu

The purpose of this research is to build a white box fuzzer that first identifies smart contracts vulnerable to DoS with Gas Limit and then generates a set of inputs that cause the contract to go out of gas. White box fuzzing and Static analysis a are used to implement this tool. The main techniques used in this research are DQN (reinforcement learning) and optimized random fuzzing.

Smart Contract Verification Tool
May - Oct 2019
Advisers: Prof. Vijay Ganesh and Dr. Sebastian Banescu

The focus of this research is to compare different available tools and methods in order to find the strengths and weaknesses of them. A benchmark of 25 smart contracts was handpicked and manually audited for this research, and seven state-of-the-art tools with three different techniques are put to the test.

Predicitng Bitcoin Prices Using Machine Learning (LSTM and Sentiment Analysis on Tweets)
Feb - July 2019
Informal Research

Bitcoin is the most popular and established crypto-digital currency. Also, social media platforms, like Twitter, have grown rapidly as users are able to share opinions and views easily and freely. Knowing all this information, we can use this data to determine Bitcoin price fluctuations by the aid of machine intelligence.
In this research, natural language understanding (NLU) methods, like sentiment analysis, and other machine intelligence algorithms and methods such as long short-term memory (LSTM) are used to predict Bitcoin prices.

The research is available here .

Work Experience

Graduate Student Researcher/ University of Waterloo
May 2019 - Current

As part of my research, I am researching the applications of blockchain and optimizing them using techniques like AI and machine learning. The main focus of my research has been on the security vulnerabilities of smart contracts. I was able to design and implement multiple tools to identify gas-related vulnerabilities of smart contracts. In this research, reinforcement learning (DQN), Whitebox random fuzzing, and optimized binary search were tested. Also, I have researched utilizing machine learning techniques like RNN(LSTM) and NLU(Sentiment analysis) to predict Bitcoin prices. Additionally, I am designing a decentralized and distributed system to solve the problems when multiple third parties or middlemen are involved. Game theory and decentralized oracles are part of this research.

Software Developer/ IBI Group
Sep - Dec 2018

I developed and debugged new and existing features in an AngularJS web application for the Los Angeles Department of Transportation(LADOT). I was mostly responsible for designing and managing the SQL database of the application, and as a result, I created over 40 MySQL stored procedures in the SQL database. I also coded the backend of the application using C#, and the frontend using TypeScript, Bootstrap, and HTML.

Software Developer/ York Region
Sep - Dec 2017

I collaborated on all stages of the application lifecycle to build a Force.com web application called "YorkTrax". I developed the application in Visualforce, jQuery, Apex, and SOQL. I also helped automate the testing process using Selenium and Java.

.NET Developer/ Ontario Ministry of Education
Jan - Apr 2017

I built, tested, and deployed two scalable and highly available AngularJS and .Net web applications of "PFAAMC" and "PFAAMU" concurrently. C#, TypeScript, CSS, and HTML are the main programming languages used in these web applications. I also created multiple PL/SQL packages and stored procedures for the Oracle database.

Project Lead Developer/ Korpico (Part-time)
Dec 2016 - Mar 2017

I led a team of five to create the website korpico.com from gathering requirements to a fully functional WordPress website. I planned, executed, and controlled assigned projects to ensure work performed complied with the requirements. I closely collaborated with project members to identify and effectively address problems.

Software Developer/ The Nielson Company
May - Aug 2016

I implemented two private web applications, from setting up TFS and IIS to functional applications. They are coded in EXT-JS and C#. I also implemented scripts and procedures for Oracle (PL/SQL) and SQL (T-SQL) databases.

Information Security Coordinator/ CIBC
Sep - Dec 2015

I successfully automated the process of generating multiple security reports using VBA and HTA. I also created Excel and Outlook VBA Macros and scripts using VBScript

Web and System Administrator/ Encubate (Part-time)
Aug - Oct 2015

I managed, developed, designed, and translated the website farsi.encubate.ca. I also managed, implemented, and designed the website arabic.encubate.ca. Additionally, improved, and updated the website encubate.ca.

Internal Infrastructure Specialist/ T4G Limited
Jan - Apr 2015

I created scripts in Microsoft PowerShell to ease the account management. I also provided IT support and created and modified MS SharePoint and FTP sites. Additionally, I managed accounts on MS AD and Exchange.


University of Waterloo
2019 - Current (Expected 2021)

Master of Applied Science, Computer Engineering (Computer Software)

University of Waterloo
2014 - 2019

Bachelor of Applied Science, Computer Engineering


2020 UBRI Innovator / Ripple Impact
Oct 2020

Research Breakthrough in Blockchain