Language and Semantics
EECS researchers develop cutting-edge programming techniques along with efficient language interpreters and compilers to ensure efficient, reliable, and secure software in high assurance systems. They extend functional language technology, closing the gap between high level specifications and highly efficient implementations. New technologies have diverse application areas in telemetry, high performance computing and real-time systems.
- Understand the design of languages and language features.
- Understand how to define and manipulate mathematical definitions of language semantics.
- Understand cutting-edge programming techniques using advanced techniques.
- Understand the development of efficient language interpreters and compilers.
Primary Research Interests
- Formal Methods, Verification, and Synthesis
- Trusted Computing
- System-Level Design Languages and Semantics
- Specification Languages
- Smart GDB debugging environment
- C, C++, GDB and associated support tools
- Rosetta specification language
- Haskell evaluation environment
- PVS, SPIN, Isabelle, HOL and SAT analysis software
- Protocols for ad hoc sensor networks
- Xilinx and Altera FPGA/SoC prototyping systems
- Synplicity and Xilinx FPGA synthesis tools
- ModelSim VHDL/Verilog simulation tools
- Bugzilla and CVS project management tools
Hardware and software design tools for:
- Specification languages and semantics
- Language interpreters, analyzers, and compilers
- Real-time and distributed operating systems
- Distributed simulation systems
- Embedded software and hardware systems
- FPGA-based OS primitives
- Reconfigurable Systems-on-chip
- VHDL/Verilog modeling, simulation and synthesis