Division of Computing and Communication Foundations
Software and Hardware Foundations
See program guidelines for contact information.
All fields of science and engineering - and society at large - depend on fundamental advances in scientific foundations and engineering methods for computer hardware and software. The SHF program supports research and education projects on the design, verification, operation, utilization, and evaluation of the computer hardware and software through novel approaches, robust theories, high-leverage tools, and lasting principles. Such advances may offer models, methods, languages, logics, novel software and/or hardware artifacts, and algorithms to enable new or enhanced functionality, and formal methods and tools for the design, implementation, and verification of computer systems and their applications. Proposals should include plans for validation through proofs of concept, empirical evaluation, and/or other scientific methods. They may also address issues of usability and scale.
The SHF program supports all aspects of the science and engineering of software, seeking transformative ideas that reformulate the relationship between requirements, design and evolution of software and software-intensive systems. SHF welcomes research projects focusing on program analysis and synthesis, compositionality, verifiability and certifiability of software, as well as research on static, dynamic, functional and non-functional analysis and testing techniques in all stages of the software life cycle. A long-term objective is to increase the automation of software engineering capabilities to attain significant advances in quality and sustainability of software, which may require new representations and processes. Empirical research that increases understanding of software and software creation is also in scope.
SHF supports fundamental research on formal and semi-formal methods for the specification, development and verification of software, hardware and embedded systems. This includes, but is not limited to, abstraction, compositional, refinement-based, and probabilistic methods for the modeling and validation of systems involving discrete and continuous behavior. SHF seeks proposals that enhance the applicability, usability, and efficiency of techniques such as model checking, theorem proving, automated decision procedures, static analysis and constraint solving. Research topics involving the semantics, logics, verification, and analysis of concurrent systems are welcome. SHF supports foundations, algorithms and tools for software and hardware synthesis.
SHF supports the entire range of programming language and compiler research, ranging from foundations to design to implementation and application. Topics of interest include, but are not limited to, language semantics and type theory, design and implementation of advanced languages and language features, compilers and runtime systems for advanced languages, and design and implementation of domain-specific languages. With the rise of multicore and many-core processors, SHF emphasizes research on new approaches to parallel and concurrent programming, such as declarative languages, and research on managing increasing levels of parallelism.
SHF seeks proposals that address the key challenges in computer hardware design, including, but not limited to, performance, dependability, reliability, and scalability. The program supports research in multi-core and many-core architectures for chip as well as system levels, including new execution models, memory design, cache design, and new directions in on-chip and off-chip interconnects using silicon, optics, wireless, and radio frequency. SHF welcomes fundamental research that addresses the reliability of future chips and systems, including hard faults and soft errors; this may include traditional approaches, like redundancy and self-healing techniques, and holistic and cross-layer approaches ranging from the circuit to the architecture level.
SHF supports all topics in design automation including, but not limited to, logical, physical, behavioral and high level synthesis methods, interplay between synthesis and verification, design methodologies for scalable, low power and energy efficient circuits, and physical design. SHF seeks research in emerging technologies, including optical interconnects, quantum computing, optical computing, bio-computing, bio-inspired devices, nanotubes and nanophotonics, as well as innovations in silicon technology as possible successors to existing technologies, which will take computation beyond Moore's Law.
SHF seeks proposals on the design, verification, operation, utilization, and evaluation of computer hardware and software through novel approaches, robust theories, high-leverage tools, and lasting principles. Investigators interested in the SHF program may also wish to consider the CSR program in the CNS division, which focuses on advances in system computing and system programming that are particular to an application domain or a specific hardware platform.
More information on topics of interest within the Software and Hardware Foundations program is available at: http://www.nsf.gov/cise/ccf/shf_pgm12.jsp
Software and Hardware Foundations (SHF) Staff
Funding Opportunities for the Software and Hardware Foundations Program:
Computing and Communication Foundations (CCF): Core Programs. NSF 12-581
THIS PROGRAM IS PART OF
Computing and Communication Foundations (CCF): Core Programs