His teaching and research involves analysis, design and development of software-intensive systems, their architecture, and automatic/semi-automatic approaches to assessment of their design and code complexity. He actively consults for Siemens Corporate Technology in Princeton, New Jersey, and holds a visiting scientist appointment at the Software Engineering Institute at Carnegie Mellon University in Pittsburgh, Pennsylvania. He is a senior member of the IEEE and ACM.