James Davis

Assistant Professor at Purdue University

West Lafayette, Indiana, United States
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts

Summary

🤩
Rockstar
🎓
Top School
James Davis is an Assistant Professor of Electrical and Computer Engineering at Purdue University with a decade of experience spanning academia, industrial research, and production software engineering. He holds a PhD in Computer Science from Virginia Tech, where his dissertation focused on defeating Regular Expression Denial of Service, and he has applied that expertise in security-focused open-source contributions. His practical background includes systems and storage testing at IBM, web security research at Microsoft Research, and test automation work on prominent projects like libuv and marked (mitigating REDOS and improving test reliability). James blends low-level C/C++ systems work, compiler and runtime compatibility fixes, and security-minded regex refactoring, demonstrating a rare mix of rigorous research and hands-on engineering. Based in West Lafayette, he is known for turning subtle correctness and performance issues into robust, testable solutions that benefit both research and widely used open-source software.
code10 years of coding experience
job6 years of employment as a software developer
bookVirginia Tech
bookKingston High School
bookBachelor’s Degree, Mathematics and Computer Science, Bachelor’s Degree, Mathematics and Computer Science at Clarkson University
languagesEnglish
stackoverflow-logo

Stackoverflow

Stats
898reputation
1.7mreached
23answers
2questions
Badges
regex
top-5%
github-logo-circle

Github Skills (28)

javascript10
c-language10
webworker10
multithreading10
testing10
c1110
security10
c1710
regular-expression10
nodejs10
cprogramming-language10
concurrency10
async9
asynchronous9
parserator9

Programming languages (17)

C#PowerShellJavaC++CSSRustCTeX

Github contributions (5)

github-logo-circle
libuv/libuv

Mar 2017 - Mar 2019

Cross-platform asynchronous I/O
Role in this project:
userQA Engineer / Test Automation Engineer
Contributions:11 PRs, 187 comments, 3 issues in 1 year 11 months
Contributions summary:James primarily contributed to the testing infrastructure of the libuv project. They implemented new test cases, focusing on the `condvar` functionality, ensuring the `uv_cond_timedwait` function correctly handles timeouts and signals. These changes included the introduction of semaphores for test ordering and the correction of existing test logic to improve reliability. Furthermore, the user addressed compiler warnings related to unused results in the testing code and increased the upper bound for a timeout check in one of the tests.
unixunicornsasynchronouswindowsio
markedjs/marked

Feb 2018 - Jun 2018

A markdown parser and compiler. Built for speed.
Role in this project:
userSecurity Engineer
Contributions:5 reviews, 11 commits, 8 PRs in 3 months
Contributions summary:James primarily focused on improving the security of the `markedjs/marked` repository. Their contributions involved refactoring regular expressions to address vulnerabilities like catastrophic backtracking and REDOS attacks, enhancing the code's resilience against potential exploits. The user also implemented tests to detect performance issues.
speedcommonmarkmarkdown-parsercompilergfm
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.
Request Free Trial
James Davis - Assistant Professor at Purdue University