Software Engineering for a Smarter Planet Situation-Aware Applications

Speaker: Prof. Hausi Muller


The growing popularity of smart devices and applications is accelerating the convergence of the physical and the digital worlds. Smart apps allow users, with the help of sensors and networks, to do a great variety of things, from tracking their friends to controlling remote devices. At the core of such smart systems are self-adaptive systems. Self-adaptive systems optimize their own behaviour according to high-level objectives and constraints to address changes in functional and non-functional requirements as well as environmental conditions. Self-adaptive systems are implemented using four key technologies: runtime models, context management, feedback control theory, and run-time verification and validation.

The proliferation of smart applications challenges the software engineering community in re-thinking the boundary between development time and run time and developing techniques for adapting systems at run time. The key challenge is to automate traditional software engineering, maintenance and evolution techniques to adapt and evolve systems at run time with minimal or no human interference. Hitherto, most developers did not instrument their software with sensors and effectors to observe whether requirements are satisfied in an evolving environment at run time. One way to break out of this mold is to make the four key technologies readily accessible at run time. Challenges for the reverse engineering community are to instrument existing systems with manageability endpoints (i.e., sensors and effectors), extract design time models that are useful as run-time models (e.g., to manage dynamic context), and investigate analysis techniques for run-time testing and validation (e.g., to regulate requirements)..


Hausi A. Müller is a Professor in the Department of Computer Science and Associate Dean of Research in the Faculty of Engineering at University of Victoria, Canada. He is Chair of the IEEE Computer Society Technical Council on Software Engineering (TCSE). His research interests include software engineering, software evolution, smarter commerce, self-adaptive and self-managing systems, situation-aware systems, context-aware systems, service-oriented systems, reverse engineering, software reengineering, program understanding and visualization.

Contact him at: hausi at cs dot uvic dot ca

Industrial Keynote

Software Protection and Reverse Engineering

Speaker: Yuan Xiang Gu


What’s the most important security challenge for current application systems? The fact that untrusted environments become a mainstream such as consumer devices, cloud computing hosts and HTML5 environments, and security is a moving target! Digital content consumed via commodity devices is penetrating every aspect of life, along with other advanced Internet-based and wireless technologies. But as the value of content and services deployed on many real-life and modern server-client delivery systems grows, so does the attraction to attackers. Modern security is facing new challenges because traditional perimeter defenses against man-in-the-middle attacks are inadequate protection against the man-at-the-end white-box attacks favored by many attackers.

Increasingly, companies rely on security technologies to protect their business model and assets, while users expect their assets to remain protected. Accordingly, security of application systems must be dynamically developed, deployed, maintained, and updated. We have no choice but to make security agile and rapidly deployable, and to employ dynamically and flexibly renewable protection technologies.

In fact, reverse engineering (RE) has interesting connection to software protection because RE techniques are widely used not only for developing white-box attacks but also providing support to software security assessment and evaluation. Software protection (SP) still is a young field and facing many open issues and challenges. Definitely, SP brings up new opportunities to bridge new researches to RE.

In this presentation, we would like to discuss white-box attacks and vulnerability in real world and why software protection is important, introduction to software protection technology and software security lifecycle management.


Yuan Xiang Gu was the cofounder of Cloakware Corporation and is a co-inventor of world leading edge software security and protection technology. As a chief architect, Mr. Gu is responsible for Cloakware product architectures as well as technology development and evolution.

In 2007, Cloakware was acquired by Irdeto. Since then, as a senior director of Irdeto research, Mr. Gu is also leading the development of advanced software protection technology, and research collaboration with research communities worldwide. In 2010, Mr. Gu is invited being a guest professor of Northwest University in China.

Mr. Gu has been invited and visited over 30 universities and research institutes in North American, Europe and Asia, and cofounded and is organizing a number of international security forums including digital asset protection association and becomes an active speaker at many international conferences and workshops to promote software security and protection.

Prior to joining Cloakware, he worked as a senior scientist and architect at Nortel Networks, a visiting professor at McGill University’s School of Computer Science, Canada, and a professor in the Department of Computer Sci¬ence of Northwest University of China.

Contact him at: yuan dot gu at irdeto dot com

WCRE 2012 – 19th Working Conference on Reverse Engineering