Program Slicing

       程序切片技术, 1979 PhD Weiser 的学位 thesis 中首次提出 [1] 。国内最早的论文是 97 年。目前国内研究的比较好的学校有南京大学和东南大学。   程序切片主要应用在程序调试( debugging )、程序测试( Testing )、程序分析( Analysis )、程序理解和维护( Maintainance )、软件重用( Reuse )、程序度量( Measurement )、软件安全( Security )等等方面。有些牛人把它推广到软件工程的其它领域,例如软件体系结构等。分析的代码也由原来的过程式的语言( C 等)扩展到了面向对象语言( C ++、 Java 等)。

       目前的程序切片 project Carnegie Mellon ChopShop Unravel[2] Wisconsin Program Slicing Project[3] (后来发展为公司 GrammaTech[4][5] 了)、 Oberon[6] 等等。绝大多数都不是 free 的。关于程序切片的集锦有 [7][8][9] 等。

       需要做的:

(1)       复习控制流分析、数据流分析并做好笔记

(2)       阅读论文(主要针对 C 语言),掌握算法原理(静态切片、动态切片)

(3)       复习 lex yacc 语法并做好笔记

(4)       针对可以看到源代码的系统( Unravel 等),了解其实现机制以及主要的功能,提出自己的改进

(5)       设计系统

(6)       实现系统

(7)       论文写作

 

参考文献 :

[1] 李必信 . 程序切片技术及其应用 . 北京 : 科学出版社 ,2006.3.

[2] http://hissa.nist.gov/project/unravel.html

[3] http://www.cs.wisc.edu/wpis/html/

[4] http://www.grammatech.com/

[5] http://yhsung.tw/wordpress/category/courses/page/2/

[6] http://www.ssw.uni-linz.ac.at/Research/Projects/ProgramSlicing/

[7] http://progtools.comlab.ox.ac.uk/projects/nate/slicing

[8] http://www.infosun.fim.uni-passau.de/st/staff/krinke/slicing/

[9] http://people.brunel.ac.uk/~csstmmh2/gustt/

GUSTT: GUided Slicing and Targeted Transformation

你可能感兴趣的:(Security,语言,transformation,yacc,testing,debugging)