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. Our broad research areas include formal methods, computer architecture, embedded systems, VLSI design, and 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. Please visit our research page for more information
To interested graduate students: dedicated and hardworking students are welcome to join us to work on different projects as outlined above. If you are interested in something that is related but not listed, please do share your thoughts. When you contact us, please explain briefly why you would like to apply, and why you are interested in the area of yoru choice.
Undergraduate students with good academic records and strong self-learning capabilities are also welcome to contact us for research experience opportunities.