Areas of expertise: Software source code analysis; operating systems for hand-held devices; software requirements engineering; and software design.
My credentials are based upon the following three foundations: (1) my teaching and research experience as an Associate Professor of Computer Science at the University of Illinois at Chicago (UIC), (2) a long and distinguished history as an expert consultant or expert witness in cases involving intellectual property of software, and (3) my experience writing expert reports and testifying.
Teaching and research experience. My main teaching and research interests are in object-oriented programming languages, programming hand-held devices, and software engineering. I have taught various programming languages, including C++, Java, Smalltalk, Objective C, and Swift in such courses as "Object-Oriented Programming Languages and Environments"and "Software Design". I have recently created a new course in Computer Science at UIC titled, "Software Development for Mobile Platforms", which covers development of Android and iOS applications. My main research interests are formal modeling and analysis of concurrent, embedded and real-time systems. I am currently involved in research projects aimed at automatically detecting and resolving deadlocks in multithreaded Java programs, at injecting concurrency in legacy (sequential) software, and in preventing failures in cloud-based platforms.