Increasing computing capability is a key enabler for many emerging applications as exemplified by smart healthy, smart city, smart building, smart transportation, autonomous driving, etc. Functions and services offered by those applications are increasingly enhanced by integrating more computer hardware and software code. For example, a typical consumer vehicle sold today is typically installed with >10M lines of software code. The projection is that even more software will be integrated in the future. Another trend is that more and more individual devices are being connected each day to offer better services, safety, and efficiency. We can envision that the entire world is a big connected network of computing devices that perform diverse tasks.
Along with all benefits from ever growing network of connected devices with more powerful computing capabilities come various challenges. First, security has been and will become even bigger problem as many devices we experience everyday have critical impact on our well beings if they have vulnerabilities that can be exploited by malicious parties. Second, as the scale of connected computing devices is getting larger, and the need to integrate more computing power into miniaturized systems is growing, making computation be more efficient has high importance. Third, unlike traditional consumer applications where the typical life span of computing devices is 2 -- 4 years, most current and future devices have significant physical aspects. Those devices are usually designed to last for a long period of time. During such long life time, the operating context and thus the missions originally designed for a device may change. An important question is how to design a system that can evolve itself to adapt to ever changing environment.
Our overall research objective is to address challenges as outlined above, and future challenges brought by new applications or as results of new technologies. My general research areas include computer architecture, embedded systems, VLSI design, and electronic design automation. Currently, we are looking at hardware safety and security assurance by investigating various design time and runtime methods and techniques, application of machine learning in design automation, efficient hardware design of machine learning algorithms, and formal verification and reasoning of hardware and software systems.