Home      Log In      Contacts      FAQs      INSTICC Portal

Keynote Lectures



Keynote Lecture

Stanislaw Jarzabek
Computer Science, Bialystok University of Technology

Brief Bio
Stan Jarzabek has been working on techniques for software reuse since 1997. His team developed XVCL (XML-based Variant Configuration Language), a variability management technique for software reuse in 2000. Since then, XVCL has been applied in lab studies and industrial projects with results published at major software engineering forums (a study of redundancies in Buffer library with XVCL won ACM Best Paper Award; industrial projects with XVCL were published at ICSE and FSE). XVCL later evolved to a more flexible system called ART (Adaptive Reuse Technique) Stan’s long-term research interest is software engineering (software reuse and maintenance), and in recent years mHealth – use of mobile technology to improve delivery of healthcare. Stan received MSc and PhD from Warsaw University. He has been a Professor at Bialystok University of Technology since 2015; in 1992-2015 he was an Associate Professor at the Department of Computer Science, National University of Singapore; in 1990-92 he was a Research Manager of CSA Research Ltd in Singapore. Before, Stan taught at McMaster University, Canada and worked for industrial research institute in Warsaw.

Similarities are inherent in software - Who has not adapted existing code to speed up writing new programs? While simplistic and not be very effective in long run, copy-paste-modify is a common reuse practice. It produces software clones - recurring in variant forms similar code fragments, classes, source files or even bigger program modules. Software cloning phenomenon has been investigated by researchers for decades. Whether clones are good or bad depends on the context. Sometimes software clones hinder program understanding and maintenance, and are considered a sign and measure of decaying software structure and quality. Such software clones should be avoided or eliminated, whenever possible. In other situations, software clones are created intentionally and play some useful role in a program. Application of company standards and design patterns leads to clones, but we do not question the value of these practices because of that. In the talk, I will analyse the multifaceted phenomenon of software similarities, particularly focusing on the situations when software clones - not necessarily good - explode because we can’t contain their explosion with conventional programming techniques.
Software systems can comprise 10’s of millions LOC (WINDOWS is well over 100 millions LOC), with thousands of inter-related components, reaching the limits of what today’s technology can handle. We’ll be surely challenged by even larger and more complex systems-of-systems of the future. How do we cope with such systems if their complexity grows proportionally to their size? Especially software maintenance, which is almost exclusively done at the level of code, exposes developers to such complexity. Not surprisingly, up to 80% of software costs go to maintenance. I will present a view that software similarities have yet unexploited potential to help us reduce software complexity. But to tap on that potential we must reach beyond the current software reuse paradigm.