Research Misconduct, False Statements, "Mulan" Project Leader Suspended for Investigation

On January 15, the Institute of Computing Technology of the Chinese Academy of Sciences released the domestic programming language "Mulan", which excited many people and made them try it out. As a result, developers soon questioned whether it was just a "Python in a new skin". In response to the doubts, the project leader Liu Lei has issued a statement and apologized for his exaggerated behavior. At present, he has been suspended for investigation.
In just a few days, Mulan, which claims to be a domestic programming language, has experienced many storms. The incident of Mulan being questioned as "Python in a new skin" has become the center of public opinion, and everyone should have known about it.
Just this afternoon, the Institute of Computing Technology of the Chinese Academy of Sciences responded to this matter. It has decided to suspend the person involved, Liu Lei, for investigation, and ordered the head of the compilation laboratory to conduct a deep review of his management responsibilities.
It took only 24 hours from release to exposure.
On January 15, the domestic programming language "Mulan", which was developed by the Institute of Computing Technology of the Chinese Academy of Sciences (hereinafter referred to as CAS ICT) and the compilation team of the National Key Laboratory of Computer Architecture, was officially released.
As a result, just as it made headlines for being domestically produced and independently developed, it was soon questioned. After downloading and trying it out, many developers seriously suspected that it was just "Python in a new skin".
Doubts are growing. Liu Lei, the head of the "Mulan" project and a researcher at the State Key Laboratory of Computer Architecture of the Institute of Computing Technology of the Chinese Academy of Sciences, explained the situation and apologized on January 18. The previously announced download address of "Mulan" has been 404.
“We have done a lot of work, it’s just a matter of spreading the word.”
The Mulan "shelling" incident has caused a lot of uproar on the Internet, with many people throwing out questioning evidence.
As doubts were raised one after another, the cloak of "independent research and development" could no longer be maintained and the parties involved soon became restless.
On January 18, the project leader, Liu Lei, promptly released a statement of the situation, admitting that he had exaggerated during the interview with the reporter and expressed his "solemn apology" for the "negative impact caused on the Internet" by this incident.
Next, we will give a brief interpretation of this "Situation Statement".
【Key points of the explanation 1: 】
1. Language StandardsIt draws on the features of the Lua language and extends them.Add new features such as data expression methods;
2. Developed a visual programming environment to support children's programming education;
3. For 8-bit AVR microcontrollers, we implemented the corresponding compiler and runtime system, and developed a virtual machine that can simulate multi-task execution. The above products have been used in hundreds of primary and secondary schools to carry out 100,000 programming science activities.
【Analysis】Only the first one is reflected in the exe file of "Mulan", and the second and third ones have not yet been released. 「Borrow from Lua language」, Zhihu user @刘缙 questioned this:
The only possibility that the "new language" he "designed" can correspond to Python AST nodes in terms of grammatical rules is that this language was slightly modified from the Python grammar from the beginning, and the grammatical structure was not changed. The only changes were to the spelling of keywords and the change of indentation and brackets. Any cross-statement grammatical changes will make it impossible to simply map to Python AST. But in Liu Lei's description, it is claimed that this language "borrowed from Lua". Have you tried "compiling" it to Lua AST?
【Key points of the explanation 2:】
For STM32 MCU, we areSecondary development based on Python open source compiler,That is, the source program of the Mulan language is first converted into the intermediate representation (AST) of Python, and then run on the Python virtual machine. This is why the Python system is included in the development and running environment.
【Analysis】Zhihu user @刘缙 did further analysis and concluded that the syntax of "Mulan" is just Python with a slightly modified lexical structure.
He said that a developer decompiled the implementation of the "Mulan" language, from which it can be seen that it does write a parser, but each rule of this parser can directly generate a corresponding Python AST node. Note that it is not a translation, nor a transformation of the AST, but the grammatical rules of the "Mulan" language directly correspond to the nodes of the Python AST.
If you have learned parsing, you should know that this can only be done in one case: the grammar of this language is essentially Python with a slightly modified lexical structure. A newly designed grammar cannot be so easily mapped to another grammar. Then it only has two changes to the entire AST: adding implicit self to the method. Inserting anonymous functions. These are all local changes, and the AST structure remains unchanged. The funny thing is that the first change actually does not require a parser, and can be implemented in Python.
【Key points of the explanation 3:】
Liu Lei said that he made the following mistakes in his introduction to the Mulan programming language during a media interview on January 15:
1. The Mulan programming language is mainly used for primary and secondary education, but it was expanded to the field of smart IoT in the introduction. 2. The compiler of the Mulan language on 8-bit MCU was developed by our team, and the compiler on 32-bit MCU was secondary developed based on the Python open source compiler, but in the interview, the Mulan programming language and compiler were exaggerated as completely independently developed.
I solemnly apologize for the negative impact caused on the Internet this time, and express my sincere apologies for the negative consequences it has brought to the Chinese Academy of Sciences and the Chinese Academy of Sciences. I thank everyone for their supervision and criticism, and I will reflect deeply and ensure that similar problems will not occur again.
【Analysis】
They admitted their mistakes and apologized sincerely, but the words they used were "exaggeration" and "magnification". So, if it was not discovered, it was "independent research and development", and if it was discovered, it was "exaggerated publicity"?
Behind "Mulan": Where did the research funds go?
In addition to using "changing skins" to pretend to be independent research and development, many people are also particularly concerned about the scientific research funding issue of this project.
Zhihu user @yang leonier said that it bears the name of the Chinese Academy of Sciences, but is actually made by a small company 20%, which is a second- and third-level enterprise holding company of the Chinese Academy of Sciences. It touts itself as the "next generation IoT programming language", but the product it released is a language that can only be used for "children's programming" and is not enough. Its runtime directly uses an early version of Python3 to fool people.
This reminds people of a popular joke on the Internet: a project with a budget of tens of millions of yuan, after being distributed layer by layer, only one programmer was paid a few thousand yuan to complete it.
Some people were very calm about this, saying that "cheating for funding is a normal operation" and "after all, programming is for funding"...
It seems that the scientific research circle is quite murky, but truth will come to light eventually. Before committing fraud, don't underestimate the IQ of your peers.
References: https://www.zhihu.com/question/366698484/answer/977940891 https://www.zhihu.com/people/yang-leonier/activities
-- over--