Engaging Students in Specification and Reasoning- Hands-.ppt
《Engaging Students in Specification and Reasoning- Hands-.ppt》由会员分享,可在线阅读,更多相关《Engaging Students in Specification and Reasoning- Hands-.ppt(21页珍藏版)》请在麦多课文档分享上搜索。
1、Engaging Students in Specification and Reasoning: Hands-On Experimentation and Evaluation,Murali Sitaraman, Jason Hallstrom, Jarred White, Svetlana Drachova-Strang, Heather Harton, Dana Leonard: Clemson University School of Computing. Joan Krone : Denison University. Rich Pak: Clemson University Psy
2、chology.Supported by US NSF #3407328,2,Goal,Reasoning Across the Curriculum Supporting Tools Supporting Methods,3,4,Software Engineering Course,Usual Topics Requirements analysis Design and specification Component-based implementation Quality assurance Formal Reasoning,5,Objectives,Read formal speci
3、fications Create test points from the specs Use component specifications to build larger systems Work in teams Carry out formal verification of components Use automated rules,6,Methods,Collaborative learning Teams of 2 to 4 members Read specs Implement specs Verify implementations Build larger syste
4、ms.,7,Stack Example,Model as a mathematical string of generic entries with an upper limit of Max_Depth. Initialize as empty string. Oper Push(eval E: Entry; updates S: Stack);requires |S| Max_Depth;ensures S = E o #S;,8,Reading Specs,Give students various strings representing abstract stacks and tel
5、l what Max_Depth is. Ask them to show what happens when a Push is called with particular data. Ex: S = rtb Max_Depth = 5. Push(c,S) Push(w,S),9,Queue Example,Model as a string of generic entries. Primary operations: enqueue, dequeue, length. Secondary operation,10,Test Cases for Rotate,Oper Rotate(u
6、pdates Q: Queue, restores n: Integer); requires |Q| n = 3; Output: Q = n = 3; #Q = Input Q, Q = output Q S = T = ,11,Tools,Specification Understanding: Expose students to formal specifications for reasoning. Team Software Development with Formal Contract Specifications: Enforce contract programming
7、principles. Verification Condition Generation: Generate clauses equivalent to the correctness of the implementation.,Using the Tools,http:/www.cs.clemson.edu/resolve,12,13,Survey Questions,(S3) The difficulty in understanding and modifying a 10,000 line software system has more to do with the style
8、I which the software is written, and less to do with how smart I am. (S11) Testing software thoroughly is the most important way to ensure correctness.,14,Results for S11,15,(S18) When working in teams, natural language descriptions of the different components are sufficient for communication among
9、team members. (S20) Reasoning about programs involving components requires a thorough understanding of pointers and/or references. Entire survey at http:/www.cs.clemson.edu/resolve,16,Results for S18,All Results,http:/www.cs.clemson.edu/resolve/,17,RSRG: Tools for Teaching Mathematical Specification
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ENGAGINGSTUDENTSINSPECIFICATIONANDREASONINGHANDSPPT

链接地址:http://www.mydoc123.com/p-374430.html