International Evaluation Report
(regarding Kwangkeun Yi, Research On Program Analysis System)


Quality of Research Results

Referee A

The overall quality of the research which is devoted to supplying automated tool support for ensuring computer program security correctness, and efficiency, is excellent. The Principal Investigator has taken a reasoned and well-justified approach towards his goals, and his progress towards both theoretical and implementation goals is excellent. The research contains an intelligent balance of tried-and-true analysis techniques (e.g. type inference), combined with the Principal Investigator's specialty (escape analysis), augmented by newly important techniques (modular static analysis). The implementation and testing platform, nML, developed as part of the project, is well chosen, because the language and tools sit closely to both object-oriented languages, like Java and Smalltalk, as well as functional-imperative ones, like Pascal, Scheme, and Haskell. The foundational results that support that nML platform are particularly impressive.

Also impressive is the substantial number of publications produced by the project. The early stages of a multi-year project are typically devoted to infrastructure development: publication of research results comes later. But the Principal Investigator has clearly spend huge amount of time to ensure that the research project would be visible at the International level very quickly, and his efforts have clearly been successful: Publications based on the project's work have appeared in the computing world's top conferences and journals.

Related to the above point, I must make an observation: In Computing Science, new and important research is typically presented and promoted by means of presentations at top-rank conferences---those sponsored by the Association for Computing Machinery, the IEEE, and the EAPLS. (The latter are published by Springer-Verlag in their Lecture Notes in Computer Science series.) In computing science, journals are used as archival mechanisms---they publish slowly, and as a result, leading computing scientists consult conference publications for the latest scientific knowledge. (In this way the computer science "culture" differs from the cultures of other hard sciences, like physics and biology, where journals are used to disseminate current knowledge. It in unfortunate that the standard indexing measures, e.g., Citation Indices, do not measure the impact of conference publication.) The Principal Investigator has clearly emphasized publication in archival journals, and although this emphasis has not prevented him from publishing in conferences as well (his list of conference publications is indeed impressive), I would like to see the Principal Investigator place more emphasis on publication at the top-rank conferences. This would increase the visibility and impact of his research project in the international community.

The Principal Investigator is highly regarded already within the international community. This is evidenced by his service on the program committees of several first-rank international conferences. In addition, his invitation to serve as a Visiting Professor at Ecole Normale Superieure in Paris, one of the most prestigious institutions in the world, is a strong compliment to the Principal Investigator. In my mind, the Principal Investigator is the top software researcher in Korea.

In terms of technical contributions, the project has made international impact in two areas:

  1. The formulation of static analysis algorithms for exception ("escapes") in programming. Program security exceptions (errors) during execution are disastrous, and programs simply must be analyzed in advance to know where such exceptions might arise and what might be done to control their impact. The Principal Investigator's research makes strong contributions to dealing with this problem, and his research has impacted the current conduct for treatment of this problem.

  2. The division of program analysis into modular pieces, so that a large program can be analyzed in manageably-sized components and the analyses of the component can be combined into an analysis of the whole program. This is a notoriously difficult problem to solve, and the Principal Investigator's research has made useful steps towards handling this issue.

Referee B:

The project explores programming language technologies targeted to making mobile code smaller safer and smarter.

The project is tacking important problems at the intersection of programming language research and embedded systems, If the project will be successful then it has a high potential for having impact in the practice of developing mobile and embedded software. I was particularly impressed with the Zoo analysis framework (for which I have also visited the project web page). This combined approach to program analysis has great potential to uncover new possibilities in the understanding and optimization of programs. I think this is a worthy research direction and I am looking forward to hearing more about it in the future. The project involves industrial collaboration that will give useful feedback with respect to the usefulness of the nML language and the associated tools. Another plus for the project is that most of the software infrastructure being developed is disseminated publicly through the web page.

I would have liked to see a more detailed discussion of the motivations for designing a new language (nML) and for building from scratch the development environment. This is a time consuming task (as demonstrated by the fact that in these first 3 years the task was completed only in proportion of 90%) and deserves a very serious cost-benefit analysis. I am not saying that the analysis was not made, just that it was not apparent from the materials that I received or from the project's web page. Furthermore, I would have liked to see an informal comparison between nML and OCaml or Standard ML and specially in what way does nML and OCaml or Standard ML and specifically in what does nML improve upon these.

I would have liked to see a sketch of the research plan for the new phase of the project, specifically how exactly is it planned to achieve the initial project goals. In the absence of this information, I was under the impression that the project is possibly exploring too many directions. Of the research directions mentioned in the progress report the resource safety analysis and the run-time specialization of static analysis seemed to be the only ones that address the "smart" code aspect. I expect that these research directions will be stressed in the second phase of the project.

Potential of Principal Investigator

Referee A:

As stated in the previous paragraphs, the Principal Investigator has already established himself as a noteworthy researcher at the International level. Based on my knowledge of his performance in past years and the recent results of his research project, I believe the Principal Investigator has the potential to be one of the very top experts in his chosen areas of expertise. The Investigator's institution, KAIST, is already recognized as being one of the top Asian institutions in computing science, and his reputation attracts good students who provide the effort needed to continue the research project.

In addition, the Principal Investigator has worked hard to establish international connections between his project and similar projects in North America and Europe. There is every indication that these connections will continue and strengthen.

Referee B:

Kwangkeun Yi is one of the leading young scientists in the area of functional programming language research. This is demonstrated both by his publication record and also by the fact that he is constantly being invited to visit leading research groups worldwide and to participate in Program Committee's for major conferences in the area. If I were to restrict my evaluation to only Korean scientists I would say the Prof. Yi is the most visible and active scientist in his area of research.

Prof. Yi has already demonstrated that he can initiate and sustain collaboration with leading scientists in the field. It also appears that he is able to attract good students. I make this judgment mostly based on the research output of his group.

Overall Comments and Final Recommendation

Referee A:

This project is the strongest that I have seen from the Korean computing science research community in the past 25 years. The Principal Investigator has produced strong research results, has connected himself into the international community, and has brought researchers from abroad to his institution. By all means, he should be encouraged to continue his efforts and be given the financial means to do so. The Principal Investigator has good research instincts, and he can be trusted to produce high quality results.

Referee B:

I recommend that the project be continued because it addresses an important problem and if it proves to be successful it has the potential of having significant impact. Also the project has already started developing technologies and infrastructure that have the potential to leading to interesting new results.

I also recommend that among the several research directions that are proposed the ones that have a direct relationship to the research goals be stressed. Otherwise there is a danger that the project is spread too thin and there will not be enough resources to achieve truly significant results.


Research On Program Analysis System