University Projects at RIT
-
Lockheed Martin IoT Pipeline and Anomaly DetectionGraduation project
Year-long project completed through the RIT Capstone program, where corporations partner with teams of RIT Software Engineering seniors to solve their company's' industrial problems. Our team worked with government contractor Lockheed Martin, the world’s largest military, aerospace and info security company.
Built a streaming data pipeline which ingested and processed real time IoT sensor data from factory floor using AWS tooling.
Developed anomaly detection model for the prediction and notification of machine failures using rolling and lagging time series features.
Data pipeline and anomaly detection model were then used by the team to create desktop/iOS dashboards to monitor health and performance of factory machinery using AWS services for hosting, serverless backend, NoSQL databases, and CI/CD & IAC.
AWS: Kinesis, SQS, Greengrass, MTConnect, Amplify, Lambda, API Gateway, DynamoDB, Neptune, CI/CD & IAC, CDK -
JetBrains Research Model deploymentIndependent Research Project in Software Engineering
Completed as an Independent Study under the supervision of Professor Dr. Mohamed Wiem Mkaouer at RIT SmileLab Research Group for JetBrains Research, a leading data science research lab dedicated to improving modern software engineering tools.
Prototyped random forrest and XGBoost models for AntiCopyPaster, a JetBrains IntelliJ IDE plugin, which detects and suggests Java code fragments for method refactoring using software testing features, such as cyclomatic complexity and per line connectivity. Tracked down bug in initial data collection and model validation scheme using permutation feature importance and adversarial validation.
Optimized final scikit-learn Random Forest and Keras CNN models for deployment in Java based, IntelliJ IDE plugin runtime. Replaced TensorFlow for JVM and Deeplearning4j with ONNX Runtime which led to faster load times, reduced plugin size, and lowered inference latency.
scikit-learn, Keras, ONNX Runtime, Java
A selection of a dozen other projects completed at RIT over the 5-year Software Engineering curriculum:
-
Won sentiment analysis competition among graduate studentsWon sentiment analysis competition (highest F1 score on three tasks) across all sections of graduate level NLP course as an undergrad.PyTorch
-
Embedded STM32 microcontroller software designWrote a C based CLI to control a STM32 microcontroller and circuit via GPIO and UART pins and its serial port.C
-
Stock sentiment analysis dashboard for TwitterImplemented a realtime dashboard for visualizing the relationship between a stock price and its Twitter sentiment.PyTorch, React, AWS: Lambda, DynamoDB, Amplify, Terraform, API Gateway
-
Naive Bayes text classificationImplemented naive Bayes algorithm from scratch for text classification.Python
-
2D map routing via graph searchImplemented a navigation engine using various graph search algorithms, including BFS, DFS and A*.Java
-
Evolutionary stable strategy simulatorImplemented an efficient game theory simulator for evolutionary stable strategy games.Java
-
Website fuzzerCreated a fuzzing tool to automatically find susceptible input fields and backend endpoints for websites and generate SQL exploits, such as SQL injections, Stored Procedure Attacks and XSS injections, for a security course.Python, SQL, Beautiful Soup, Selenium
-
Concurrent systems correctness verification for deadlocks and race conditionsDesigned and formally verified a concurrent system by implementing it in Promela and verifying it using SPIN.Promela, SPIN
-
Web checkers gameCreated multi-user, websocket based checkers website with a computer player using the minimax algorithm.Java, Spark, JavaScript
-
Refactored library inventory system per Gang of Four patternsIn a Software Design Patterns course, I refactored a library inventory system using strictly Gang of Four patterns.Java, CLI
-
Systemd exploit research contribution to open-source Vulnerability History ProjectResearch a systemd security exploit (CVE-2018-15686) and contributed a report to open source project “The Vulnerability History Project” in a security course.C