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.
This page contains:
|Contact info.||Research interests|
Email: ahmadjbara at gmail dot com
Research InterestsMy 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.
Teaching (UConn, Technion, Netanya Academic College, and Industry)
This page was last modified on: January 25 2019 23:11:55