At my office-UConn
Software engineering class-Technion
Developers' eye gazes when reading regular code
Ahmad Jbara

I am an Assistant Professor in Residence at the Computer Science and Engineering Dept. of the University of Connecticut (UConn), USA, and adjunct lecturer at the Faculty of Industrial Engineering and Management, Technion, Israel. Before joining UConn I was a researcher (post-doc) at the Enterprise Systems Modeling Laboratory (ESML led by Prof. Dov Dori ), Technion, Israel. Also, I was a faculty member at the School of Computer Science of the Netanya Academic College, Israel.

I hold a Ph.D in computer science (advisor: Prof. Dror Feitelson ) from Hebrew University, M.Sc in computer science (advisor: Prof. Amir Herzberg ) from Bar-Ilan University, and B.Sc in computer science and mathematics from Ben-Gurion university.

My research focuses on code regularity, program comprehesion, code complexity metrics, code visualization, and software engineering. Recently, I have expanded my research to the domain of conceptual modeling and systems engineering. In the past I did some work in the field of secure usability.

I love to teach. My teaching encompases programming and software engineering courses. I am considered an exceptional lecturer with natural teaching capabilities. For years I have continuously achieved excellent feedbacks at the Netanya Academic College and the Technion.

• Excellence in teaching, Spring semester 2018, Technion. • I'll be on the PC of the ACM Symposium on Eye Tracking Research & Applications (ETRA 2019) research track. • Our paper "Model-Based Systems Engineering for Aircraft Design with Dynamic Landing Constraints Using Object-Process Methodology" has been accepted for AIAA 2019.

This page contains:

Contact info. Research interests
Teaching Research community
My stuff Publications

Contact Info.

Email: ahmadjbara at gmail dot com

Research Interests

My research focuses on software engineering, and in particular
program comprehension and code complexity metrics. My research applies experimental methods, combining traditional techniques with advanced ones, such as eye tracking. The question that I study is what makes it hard to comprehend source code. I coined the term 'code regularity' as a new factor that affects code comprehension, especially in long functions that are ranked as very complex according to the widely used McCabe's Cyclomatic Complexity (MCC) metric. I have shown that such functions are not as complex as MCC suggests, and I suggested a modification to the MCC metric on the basis of code regularity. I am also interested in code visualization as a way to improve comprehensibility, and I introduced the Control Structure Diagram (CSD) to visualize very long functions. This diagram helps reveal structural properties that might affect code understanding, and I implemented it as a plugin in the Eclipse IDE. In the area of configuration complexity, I studied the Linux configuration complexity that is implemented by the C Preprocessor (CPP), and showed a few inconsistencies within the system. Previously, I did some work in the field of secure usability where I studied phishing attacks at the browser UI. Specifically, I implemented a plugin for the Firefox browser and some insights from my research were adopted in an early version of Internet Explorer. Recently, I have expanded my research to the domain of conceptual modeling of systems using Object-Process Methodology (OPM). In particular, I research and develop ways to narrow the gap between systems engineering and software engineering where I try to automate the transition from the conceptual model level to the code, enhance OPM with computational capabilities and investigate the viability of code generation from OPM models and round-trip engineering between code and OPM models.

Research Community

Teaching (UConn, Technion, Netanya Academic College, and Industry)

My Stuff


This page was last modified on: November 27 2018 00:34:05