赵翔鹏的Blog -- Zhao Xiangpeng's Think-pad


载入中

我的分类
载入中
日志更新
载入中
最新评论
载入中
站内搜索
留言板
载入中
链接
管理我的BLOG
载入中
Blog信息
载入中

[rss] (推荐!)
(不推荐)

"The Grand Challenge"
翔 发表于 2005-10-5 11:41:00
Grand Challenge是Tony Hoare和Jayadev Misra最近提出的一个口号。Hoare相信形式化方法进入应用的时代将要到来,为此我们要做哪些努力?文章作了一个50年的长期规划,但更多的是一种宣告:形式化方法离工业界已经不远了!
下载 :http://vstte.inf.ethz.ch/pdfs/vstte-hoare-misra.pdf

讨论Grand Challenge的wiki: http://vstte.inf.ethz.ch/wiki/。 这是个有趣的尝试。通过wiki,任何人都可以在第一时间领略到大牛们的思想观点甚至与之交流……大牛们可能没有时间写blog,wiki倒是一个不错的交流环境。

除了原文,这个关于Grand Chanllenge的FAQ: http://vstte.inf.ethz.ch/wiki/index.php/Verified_Software:_Frequently_Asked_Questions 也值得看看。摘录几则如下:

Q1. Why do you think that the time is ripe for a concerted effort of this nature?

A: The challenge of construction of a routinely usable Program Verifier was first proposed in 1969 by Jim King in his Doctoral Dissertation. Since that time, the power and capacity and sheer numbers of installed computers have each increased more than a thousand-fold; and a thousand-fold advance has been made in certain aspects of mechanised theorem proving (e.g., SAT solving). There have been useful conceptual advances in programming theory, and there is already useful experience of construction of manual proofs for critical programs. The cost of programming error to the economy of the world has similarly escalated.

If all the advances in software and hardware technology can be brought to bear in a coordinated project for the delivery of a program verifier, the prospect of success is much greater than it ever has been in the past. Even though the risks are still high, this is the kind of challenge that must be attempted again; because the potential of reward far outweighs the risk. Even in the event of failure, some beneficial spin-off is likely; and another attempt will surely be made later.

Q2. It has been over 35 years since the publication of the classic paper, An Axiomatic Basis of Computer Programming, by Tony Hoare. Yet, very few schools teach formal methods in U.S.A. and most practitioners avoid any formal work. What do you expect it will take to effect a paradigm shift?

A: The existence (or even the near prospect) of an automatic program verifier may well be the trigger for the necessary paradigm shift. It may break the vicious circle of students who do not wish to learn a technology that is not used in industry, and an industry that is reluctant to apply a technology in which their recruits are not trained.

The crucial motivation for education in the principles of verification is that it is driven by scientific ideals, in that it addresses the questions fundamental in all branches of engineering science. For any product of engineering, the qualified engineer must be able to answer questions on what it does and how it works. Scientists should be able to answer deeper questions, explaining why it works, and how we know that the answers to the previous questions are correct. Even if the fundamental achievements of pure science seem remote from practical application, good engineers and entrepreneurs eventually find ways of exploiting established scientific theories and tools.

Q3. How will you educate managers, software designers and programmers for this paradigm shift?

A: There is good evidence that intellectually live programmers can be educated in the principles and practice of specification and verification. For example, the Department of Continuing Education at Oxford runs a part-time Professional Development Masters Degree, which attracts many students from the British software Industry. The United Nations University in Macau has concentrated their research and education on formal methods of software engineering. Their experience is available to be exploited and generalised in the development of tools and texts for general education.

Q4: How would you train verification engineers? Should they have domain knowledge, say in banking or medical profession? What kind of CS background should they have? How long should they be trained?

A: The patterns for professional education in other branches of Engineering should be followed as closely as possible. A good general engineering education is a mixture of mathematics, general science and general engineering. It is illustrated by more detailed studies and exercises in a particular domain of application. But good engineers will always look forward to mastering or at least understanding many other specialisations, as the need arises during their professional career.

Q39: Is this challenge grand enough? Would it possibly suck money away from other worthy projects where advances in basic sciences can be made?

A: The initiation of a good scientific challenge should not be dependent on any significant increase of funding. We could recommend this project as just one of the more efficient ways of way of spending whatever money is allocated for the advancement of Computer Science. Because Science is cumulative, progress can be made, albeit more slowly, even with the same absolute amounts of funding, provided the funds are distributed wisely.

Because of the risks, we think it would be dangerous if this project absorbed more than a few percent of the total world-wide expenditure on research in Computer Science. Verification only solves one of the problems of effective computer application, and continued research support is essential in all the other areas relevant to the delivery of dependable and useful software.

其实我想,如果大部分学校都采用Locig in Computer Science这样的好书作本科教材,那未来形式化方法的普及就比较有希望了....

阅读全文 | 回复(1) | 引用通告 | 编辑
 

发表评论:
载入中
Powered by Oblog.