e-mail: fmeawad@cs.purdue.edu
office: LWSN 3133 [8]
LinkedIn Facebook Blogspot
 
Fadi Meawad
I am a 5th year PhD student at Purdue University in the Computer Science Department. I joined the department in Fall 2008. My advisor is Prof. Jan Vitek. My research interests include Transactional Memory, Memory Managment (Garbage Collection and Persistent Objects), Concurrency, Programming Languages, JavaScript Analysis and Compilers. I like teaching Computer Architecture and Systems courses.
I have a B.S. in Computer Science from the Faculty of Engineering, Alexandria University, EGYPT.
My resume can be found here.
 
Research
As part of the S3 lab in the DynJS group, I am currently working/worked on the following projects:
  • STM/GC integration: Making the GC aware of the STM system to reduce the number of collection and their impact on long running transactions.
  • Micro-transactions as multi-word CAS: Implementing more powerfull lock-free datastructures using micro-transactions
  • Persistent Objects using new memory technologies: Considering the changes in garbage collection, schema evolution and object allocation when implementing Persistent Objects for non-volatile memories.
  • Static removal of "eval" from JavaScript programs: Using Closure-Compiler, remove unnecessary use of "eval".
  • Concurrency models for JavaScript using runtime analysis: Enforcing the limitations of a concurrency model using runtime analysis instead of costly runtime checks.
  • Reflection taming and elimination: by expanding the work done on eval, devise a plan that eliminates reflection in general whenever it is not really needed.
 
 
Awards
 
Teaching Assistant
CS180: Problem Solving and Object Oriented Programming (Fall '12, Spring '13)
CS240: Programming in C (Spring '12)
CS536: Data Communications and Computer Networks (Fall '09)
CS250: Computer Architecture (Fall '08, Spring '09)
 
Coursework
CS505: Distributed Systems (Spring '11)
CS590: Software for Embedded Systems (Spring '11)
CS580: Algorithm Design, Analysis, and Implementation (Fall '10)
CS503: Operating Systems (Spring '10)
CS502: Compiling and Programming Systems (Fall '09)
CS541: Database Systems (Fall '09)
CS536: Data Communications and Computer Networks (Spring '09)
CS584: Theory of Computation and Computational Complexity (Spring '09)
CS525: Parallel Computing (Fall '08)
CS565: Programming Languages (Fall '08)