 Software Research Topics
Software optimization technologies for multi-core processors
Explanation
To maximize efficiency and productivity of parallel programs for multi-core processors, a state-of-the-art programming model including the description method, performance tuning, and debugging will be developed in this project. To this end, the tools and libraries will be implemented and evaluated on actual systems that use the Cell processor(*) and next-generation multi-core processors. The structure of parallel execution is described by a pure functional programming language, and translated to enable efficient execution by the runtime process which interprets the fine grain threads.
(*) a multi-core CPU developed by Sony, Toshiba and IBM
Knowledge and Skills required
Candidates should have in-depth knowledge of computer science and parallel processing, as well as skills in programming for compiler optimization and media processing.
Assertion-oriented design method for highly dependable software
Explanation
Conventional software implementation and testing are increasingly becoming inadequate for ensuring software dependability due to the explosive growth of software size, complexity, and critical importance. This programme aims to construct an approach for designing highly dependable software based on the assertion-based formal verification and IP-based software development method.
Knowledge and Skills required
Candidates are required to possess a high degree of professionalism in formal methods, an in-depth knowledge of software design, and a comprehensive knowledge of software engineering, as well as skills in programming in C, C++, Java, etc. |