Дорогие студенты, кафедры СП в первую очередь кажется. Huawei нужны студенты для работы на задачу трансляции скриптовых языков программирования в компилируемые в машинный код. Привожу описание от китайского коллеги представителя Russian Research Institute. Background The Datacom business unit is responsible for delivering top class networking hardware. Currently, typical products have millions of code which is written in script language for flexible OM logic. The code performance is worse and the bugs between script language and system level language is hard to debug. We want to build the core software competitiveness aiming for greatly improving developing experience of tens of thousands programmers across Huawei and even more beyond. The team will be focusing on research and development in the area of compilation technology, language design, translators, static analysis, JIT (Just In Time) and other adjacent areas. About the project Currently, we are researching and developing the new programming language. It will have a good performance among the current programming languages. And for our flexible OM (Operation Management) logic, we can rewrite the codes with our new language to achieve better performance. However, we cannot This project is to build a tool for translating the script language to our new programming language automatically. Since the script language is a dynamic type language (like javascript) and our programming language is a static type language (like Java), we need to research and infer types for the script language and add it into the AST (Abstract Syntax Tree). And we design our own AST to adapt our languages and type system. It should handle different types at the same time. When all types inferred, it can generate the source codes from AST automatically. It will help over 5k developers in our company first to translate the existing source codes to the target high performance codes automatically. And all the codes generated will be used in network device, like routers, switches, firewalls for commercial. However, we’ll still improve the runtime/GC in the near future after we finish translation to achieve more performance. This project will be open source inside the company first. Challenges: The type inference is the most challenge work for this project now. The facebook has do some similar project for language translation with AI, but we can’t say it is successful because it can only translate a few codes, not all codes. For Industry, it is not enough, we need 100% translation. We have already read some papers about type inference (like CPA). But they have many shortages about type inference. For example, they cannot handle Tables (which may represent Class, Array, Map in some script language) and Refs correctly. It will affect the correction of type inference, and finally translate to incorrect source codes. So we need to research and design/optimize the algorithm for static analysis, complete our Graph for type inference via establishing constraints and propagate (by algorithms). For this work, we also need to optimize the performance of translation (algorithms) at the same time while handling over 1000k nodes for the graph. After that, we will check the generated source codes by another tools (AI & test). Requirements(Any one of the following met is OK): • 3rd-year students or above (Participants of ICPC 1/2 final or world final, or finalist of IOI, or Winners in all Russian Olympiad); • Experience in creating or optimizing compilers and/or related tools;