- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
cyclone safe programming at the strongcstrong level of abstraction
11 January 2005 Dan Grossman: Cyclone Cyclone: A Memory-Safe C-Level Programming Language Dan Grossman University of Washington Joint work with: Trevor Jim ATT Research Greg Morrisett Harvard University Michael Hicks University of Maryland A safe C-level language Cyclone is a programming language and compiler aimed at safe systems programming C is not memory safe: void f(int* p, int i, int v) { p[i] = v; } Address p+i might hold important data or code Memory safety is crucial for reasoning about programs Caller’s problem? void g(void**, void*); int y = 0; int *z = y; g(z,0xBAD); *z = 123; Might be safe, but not if g does *x=y Type of g enough for code generation Type of g not enough for safety checking Safe low-level systems For a safety guarantee today, use YFHLL Your Favorite High Level Language YFHLL provides safety in part via: hidden data fields and run-time checks automatic memory management Data representation and resource management are essential aspects of low-level systems There are strong reasons for C-like languages Some insufficient approaches Compile C with extra information type fields, size fields, live-pointer table, … treats C as a higher-level language Use static analysis very difficult less modular Ban unsafe features there are many you need them Cyclone in brief A safe, convenient, and modern language at the C level of abstraction Safe: memory safety, abstract types, no core dumps C-level: user-controlled data representation and resource management, easy interoperability, “manifest cost” Convenient: may need more type annotations, but work hard to avoid it Modern: add features to capture common idioms “New code for legacy or inherently low-level systems” The plan from here Experience with Cyclone Benchmarks, ports, systems, compiler, … All on Earth so far ? Not-NULL pointers Type-variable examples generics region-based memory management Brief view of “everything else” Related wo
您可能关注的文档
- combining musical and cultural features for intelligent style.ppt
- combinational test generation for acyclic sequential circuits.ppt
- commission of inquiry into the sponsorship program and.ppt
- 'source location of the wedge-like dispersed ring current in.ppt
- comparison of umbilical venous and intraosseous access during.ppt
- communication in our lives - missouri western state university.ppt
- composition of xml dialects a modelicaxml case strongstudystrong.ppt
- computational creativity three generations of strongresearchstrong and.ppt
- computer network security theory and practice.ppt
- computing without processors -- thesis proposal.ppt
- cross-site scripting prevention with dynamic data tainting and.ppt
- cryptographic voting protocols a systems perspective.ppt
- d+au collisions at star - sura.ppt
- data management for p2p computing a vision.ppt
- data mining crossing the chasm - ibm.ppt
- dairy disputes in north america a case strongstudystrong.ppt
- data mining customer-related subway incidents.ppt
- data quality and data cleaning an overview.ppt
- death of a salesman - parma city school district.ppt
- dbsnp the ncbi database of genetic variation.ppt
文档评论(0)