The CSE department faculty is actively involved in research in various fields of Computer Science. The department provides an excellent research platform, and nurtures and challenges students to solve real-world research problems. The research in the department can be broadly classified into the following areas.
We are a group of faculty and students working on exciting problems on the recently very popular areas in algorithms and data structures including dynamic graph algorithms, fault tolerance, streaming algorithms, computational geometry, graph theory and space bounded algorithms. The groups has been carrying out excellent research. In the last 5 years (2014-2018), the group has published 5 ICALP papers including one best student paper in 2016, 1 paper in STOC, 3 papers in SODA. ACM Distinguished Dissertation Award for the year 2019 was also awarded to a PhD thesis in algorithms at IIT Kanpur. We are interested primarily in the research problems and general directions mentioned above, but are also adaptable and receptive to new interesting problems that may come up in the near future.
Modern biology is in the middle of a paradigm shift where computation is an essential taskforce for understanding biological systems. Computational biology is a broad discipline that aims to develop novel computational methods utilizing elements from a wide range of mathematical and computational fields (e.g., algorithmics, machine learning, statistical inference, etc.) for building models for diverse types of experimental data (e.g., sequences, images) and understanding biological systems (e.g., cells, tissues, organs, etc.). The Computational Biology group at IIT Kanpur focuses on the design of scalable computational techniques backed by probabilistic modeling and statistical inference methods for understanding the biology of cancer and processes in single cells. Using their computational frameworks, the group tries to understand how cancer cells evolve, elucidate the heterogeneity in cancer tissue, and identify potential drug targets. For this, the group also collaborates with faculties in the BSBE department as well as different international labs. For single-cell sequencing, the group develops machine learning algorithms for problems such as cell lineage reconstruction, cell type clustering, trajectory inference, gene regulatory network inference, etc.
The group actively collaborates with international academic labs (e.g., in Rice University, UT MD Anderson Cancer Center, etc.) as well as industry (e.g. Mission Bio) to work on cutting edge problems. Previous research works from the group have been published in top research journals such as Nature Methods, Genome Biology, etc.
The Computer Architecture and Operating Systems group focuses on all aspects of modern computing systems: processor, memory, storage, and interaction with the operating systems. Some of the active topics of interests are the following: better processor design with speculative techniques, memory hierarchy optimizations in the form of hardware prefetching, cache/DRAM content management, and cache coherence protocols for client and server systems. The group works on security issues related to modern processor, memory systems, and operating systems, in the form of side/covert channel attacks and their mitigations. The group also focuses on the interface between Operating Systems, Architecture, Virtualization, and Cloud Computing.
The group is consistently publishing in some of the top conferences and journals like ISCA, MICRO, HPCA, PACT, ICS, VEE, MIDDLEWARE, and TACO. The group currently is funded by Intel, Nutanix, semiconductor research consortium (SRC), and UP defense corridor projects.
In this age of automation, usage of complex safety-critical systems are increasingly high in industries like hardware, automobiles, avionics, space etc. This is a major task to ensure correctness and completeness to get a reliable controller of such systems. The CPS Group at the CSE Department of IIT Kanpur is working on developing principled approaches for robust implementation of cyber-physical systems. A cyber-physical system is a collection of interconnected computing devices interacting with the physical world to regulate its behavior. The group is working on several exciting problems in the area of CPS, more specifically in distributed multi-robot systems and internet-of-things.
The focus of this group is to develop cyber-physical systems with correctness guarantee through the application of formal verification/synthesis techniques.
Today, cyber-Security is not just a computer science issue but a national security issue. Terrorist organizations like ISIS use digital platforms to recruit fighters while many countries including China, Russia, Israel and the United States have cyber-attacked rival nations. For example, Operation Aurora by China stole intellectual property of a number of American companies. The American/Israeli Stuxnet worm crippled Iran’s nuclear program. Like many other nations, India’s national critical infrastructures are ripe targets for cyber-attacks. At IIT Kanpur, leveraging the expertise in multiple areas of Computer Science and Engineering, we initiated such a comprehensive program within our center for cyber-security. We have a multi-disciplinary national project to carry out research, training and education in cyber security of the national cyber space including information infrastructure, and other critical infrastructures such as banking, power grid, industrial manufacturing, defense tactical communication networks, and various information assets of the country.
Our approach is multi-pronged and multi-layer -- defense-in-depth strategy. Starting from crypto algorithms, protocols, till the systems. We also use machine learning for anomaly detection to fight persistent threats in the critical infrastructure.
Several cyber security research groups from IIT Bombay, IIT Kharagpur, ISI Kolkata, IIIT-Delhi, and MNIT, Jaipur have agreed to associate their research groups/centers with the proposed center. Exchanging faculty and study for short and long periods for collaborative research and pursuing problem specific funding together will be the modality of these associations. As a showcase of the center's productivity, three specific problem areas have been identified -- solutions of which are being pursued and show cased to the highest levels of the government.
Databases are ubiquitous and form the backbones of almost all the modern systems. While traditional databases are relational, the NoSQL paradigm has proved itself useful in various applications and situations, especially in the realm of big data. The research in this field encompasses data analytics, data processing, indexing, querying, searching and information retrieval. It also includes data mining in the form of graphs, text, multimedia, strings, etc.
With proliferation of data emerging from heterogeneous sources, data analytics is being considered as the key tool for business growth, and understanding the physical world. While there are already many tools for analyzing structured data, there are still many open problems for unstructured or semi-structured data, speech, and video data. The “Big Data” phenomena encompasses all of these, and is thus the buzz word of this era.
Formal methods are an area of computer science where we use automated mathematical reasoning techniques to analyze programs. This analysis could be used to prove a program has certain correctness properties -- for example, that it does deadlock, or that it does not have a buffer overflow vulnerability, or to automatically find violations of these correctness properties. Our group applies formal methods in two distinct but overlapping areas: (i) for analyzing cyber-physical systems and (ii) proving security of systems.
Our formal methods groups combines expertise in robotics, cyber security and formal methods to solve real-world verification problems.
The department has very recently started exploring the area of hardware security that encompasses requirements of secure hardware design for novel cryptographic algorithms in FPGA/ ASIC, hardware design principles for real-time, low power embedded systems, side-channel (power, EM, and timing) and fault attacks and countermeasures, hardware fingerprinting with physically unclonable functions, hardware Trojan Horse design and detections, hardware IP Protection, protocol design principles to bridge the gap between the hardware primitives and their secure use in applications, FPGA based hardware accelerator for AI and its security aspects such as privacy leakages, adversarial attacks etc. Currently, we are focusing on developing a testbed to integrate unconventional hardware security primitives with Micro-Air vehicles to realize a privacy-preserving anonymous authentication scheme for trusted data communication with the ground control system. We will also be investigating whether these hardware-assisted tools at the device level can be used as a countermeasure to security vulnerabilities at higher layers of the communication protocol stack.
Parallel programming is ubiquitous in today's multicore era and is a necessity to exploit performance from multicore architectures. However, massive parallelism entails significant hardware and software challenges. High performance computing is used to solve many real-world scientific problems. With the ever-growing compute capabilities, complex memory hierarchies, and varied network topologies, writing efficient and scalable parallel code is a significant challenge. The group focuses on several challenging problems in this area, such as topology-aware mapping, communication-aware job scheduling, and effective parallelization strategies. The group also looks into compiler optimizations for high-performance computing and domain-specific optimizations for applications like deep learning networks.
In today's era of big data, high performance computing can significantly speed up big data related computations and analysis. However, the challenge lies in big data I/O. The group also focuses on solving parallel I/O bottlenecks.
This is an area where the department has had a recent surge in terms of strength, as well as diversity. We cover nearly all the challenging areas of machine learning (ML) and computer vision. Research In ML focuses on probabilistic machine learning, deep learning, optimisation, statistical learning theory, natural language processing etc. Research in computer vision is mostly on language and facial analysis, graphics, human attributes prediction, pose estimation, and action/activity prediction. We also conduct research in human-centered computing, human factors in computing, and computational cognitive science to bring AI algorithms closer to humans both conceptually and instrumentally. An emerging area of research in AI is computational social choice that uses tools from CS and Economics to help humans take provably efficient decisions. Our department has faculty and students working in this interdisciplinary area.
Another interdisciplinary area of research in machine learning that is covered in the department is Computational Biology where the group develops novel probabilistic models and inference algorithms for understanding biological systems.
Results from this research group are frequently reported in ICML, NIPS, AAAI, IJCAI, AISTATS, CVPR, AAMAS, WINE, Games and Economic Behavior etc. The department has an active reading group in machine learning called SIGML which regularly hosts invited talks and guest lectures.
The department has a focused interest on the theory and applications of programming languages, program analysis and compilers research. The main research areas are compilers, data flow analysis, heap analysis, formal techniques for automated debugging, program verification and synthesis, software testing, static and dynamic program analysis, concurrency, high-performance compiler optimizations, and GPU algorithms. Of particular interest is a recent project being executed by Prof. Amey Karkare, Prof. Subhajit Roy and Dr. Sumit Gulwani (adjunct faculty, MSR Redmond) on developing intelligent tutoring systems [link] that are designed to adaptively guide students who are learning programming or other tools and tasks for the first time. The project has been successfully piloted with the introductory programming course at IIT Kanpur which graduates more than 800 students each year.
The group actively collaborates with researchers from other institutes and focuses on publishing in top PL and Systems venues OOPSLA, ICSE, ESEC/FSE, CC, EuroPar, ACM TACO, and ISMM among others.
In the era of Internet-scale applications, the success of a software application greatly depends on its quality attributes such as performance and scalability. To ensure the quality attributes desired by an application, the architect has to design a suitable architecture -- which is a very complex task. The contemporary computing platforms such as mobile and cloud alleviate the problem due to the partitioning of quality concerns and architectural implications of the characteristics of these platforms.
Software architecture community tries to abstract out the experiential knowledge from various domains and presents tools to design architectures such as tactics, reference architectures, and frameworks.
Our group has expertise in the use of formal methods to build provably secure systems. Recent research includes work on provably secure enclave platforms which can enable secure computing in the cloud and the provably secure defenses against transient execution attacks like Spectre and Meltdown. The group also focuses on security issues related to Computer Architecture, Operating Systems, and Computer Networks. Side-channel attacks at caches and processor, side-channel attack proofs, formal guarantees, crypto engineering to vulnerability analysis of systems and application layer software, network and web security, cloud security through virtual machine hardening.The group currently is funded by semiconductor research consortium (SRC), and UP defense corridor projects.
The department continues to be one of the best places to engage in cutting edge research in all areas of complexity theory, logic, game theory etc. Our graduate students and alumni have performed marvelously at arriving at path-breaking results on the very fundamentals of computer science. Recent achievements include a best student paper award at ICALP 2016 (the best paper award was also won by CSE IITK alumni), 3 papers at the premier venue STOC 2016, 3 acceptances at MFCS 2016, 2 at STOC 2018, and acceptances almost every year at CCC/ ICALP/ ISSAC/ STACS/ FSTTCS.
Thrust areas in the department include streaming algorithms (Prof. Sumit Ganguly), information theory (Prof. Satyadev Nandakumar), quantum algorithms and complexity (Prof. Rajat Mittal), game theory (Prof. Sunil Simon, Prof. Swaprava Nath), logic (Prof. Anil Seth), computational complexity theory (Prof. Manindra Agrawal, Prof. Nitin Saxena, Prof. Raghunath Tewari), and number theory/ algebraic algorithms/ algebraic complexity (Prof. Nitin Saxena).