An incredible amount of effort is spent daily for maintaining and evolving huge amounts of legacy code that usually bears the unmistakable odor of a "stinky" design. This presentation will show that in practice design flaws are unavoidable, and that dealing with these issues requires the constant use of proper techniques and robust tools. We argue that, unlike code analysis techniques that help spotting low-level programming flaws or bugs, the simple detection of design flaws is insufficient. In fact, in order to support a real improvement of a system's design, detection rules must be complemented by tool-supported techniques that would help engineers to asses correctly the context of individual flaws. The presentation will abound in pragmatism, as we will share some of the tough lessons learnt while helping teams to deal with design flaws in large-scale software companies.
BIO: Radu Marinescu is a professor of software engineering at the Politehnica University of Timisoara, Romania, where he heads the LOOSE Research Group. His research is focused on the areas of quality assurance, software metrics and refactoring. He strongly believes that research must ultimately flow into software products that will change the state of the practice in software companies. That’s why he co-founded Intooitus, a spin-off company that provides disruptive tools reflecting a novel approach on assessing design quality and detecting symptoms of technical debt. These tools are currently used by thousands of developers and architects in large-scale companies, including a very successful deployment in a Global Fortune 500 telecom company. He received the IBM John Backus Award (20009) for "having done the most to improve programmer productivity" from a jury that included two Turing Award winners. In 2010 he served General Chair of ICSM.
Session Chair: Andrian Marcus, University of Texas at Dallas, USA
ICSME Steering Committee Chair