Hi, I'm Ali

I'm a Computer Science Masters Student at University of Texas at Dallas. I'm interning at Walmart for Summer 2020 as a full-stack developer.

My research interest lies in the static analysis of dynamic languages, primarily JavaScript. I work with Professor Shiyi Wei on evaluating the current state of JavaScript static analysis tooling and automatic localization of sources of inaccuracy.

I originate from Pakistan, where I did my undergrad in CS from Lahore University of Management Sciences. I worked at VentureDive, Lahore for 13 months before coming to the United States to pursue Masters.

Ali Ahsan

Projects

Leader Election in Distributed Environment

Fall 2019

To understand the dynamics of distributed computing, I worked on a Java project that simulated different algorithms to elect a leader among a set of distributed nodes. I implemented the HS algorithm for the synchronous setting and FloodMax algorithm for the asynchronous one.

Distributed ComputingJava

Classic Notes App in Electron

Dec 2018

I developed a notes application with ElectronJS to experiment with Electron, Reach UI and material-UI. The whole purpose was to try out electron and run it on Windows and Mac platforms.

ElectronReact

To dive into data management with redux, I built a web application in React with components from Material-UI library, and leveraged the API provided by Github to access user's public profile.

ReactReduxGithub APIMaterial UI

Pyfix is an automated program repair tool that given a Python script, a list of lines of code susceptible to bugs which were reported by TarantulaPy and a test suite, determines to fix the bug(s). It takes cues from the lexical scope, and enumerates the variables and comparison conditions in suspected loc, run them against test cases and reports if all of them passed, which implies that the enumeration worked. PyFix is one of the earliest works in the domain of analysis of Python programs.

PythonProgram Analysis

TarantulaPy is a correlation-based fault localization technique that uses the coverage information and stats from test cases to rank the lines of code of a Python program in terms of susceptibility to bug(s). For more confidence in the results, the program elicits a high number of test cases. Since most new programmers start their careers in Python, tools such as TarantulaPy can provide them with valuable insights into the probable causes of errors.

PythonProgram Analysis

Reversi

Spring 2017

Developed a game of reversi with socket.io for real time communication. This marked my first experience in event driven programming with JavaScript and building a minimal user interface with React.

Reactsocket.io

Stutor

Spring 2017

Stutor is a web application that provides a platform for students to connect with tutors in their proximity based on the distance model of Tinder. This was my first software engineering project that encompassed various tools and technologies used in the industry, such as Express, MongoDB, Heroku, and Postman.

MERNReactNode.jsMongoDB

Cache Simulator in C

Fall 2016

Simulated the cache using the LRU and FIFO replacement policy. Program outputs the number of hits and misses for a given stream of input, gives an idea of the effectivness of the replacement policies.

CacheC

Developed a PlantsvZombies like game in Unity game engine backed by C# code. I incorporated opensource Pokemon sprites instead of the regular plants and zombies. Every Pokemon was assigned a single attack such as all water Pokemon would shoot water in a single direction. The user could plant their Pokemon (just like PlantsvZombies) to protect their base against Team Rocket's Pokemon. I also integrated Vuforia API to provide augmented reality functionality.

Unity3DC#ARPlantsvZombies