A Practical and Precise Inference and Specializer for Array Bound Checks Elimination

合集下载

红宝书 《考研英语词汇》必考词

红宝书 《考研英语词汇》必考词

必考词Unit 1dilute 冲淡;削弱,降低;稀释的,冲淡的dim 暗淡的,模糊的;愚笨的;不乐观的diminish 削弱,减少,缩小;贬低,轻视pose 摆姿势,炫耀;提出;陈述;产生,引起,造成;冒充,假扮;姿势;姿态position 位置,地方;地位,身份,等级;职位;姿态;见解,立场,态度;处境,状况;安置;安装;使处于,定位positive 积极乐观的,自信的;确实的,明确的,肯定的;积极的,建设性的;十足的,完全的;优势,优点possess 拥有(某物);拥有(某种品质或才能);支配,控制possession 拥有;所有权;财产,所有物amateur 业余爱好者;外行;业余爱好的;外行的amaze 使惊愕,使惊异ambiguous 含糊不清的,模棱两可的,不明确的ambition 野心;雄心,抱负;追求的目标ambitious 有雄心的,野心勃勃的;费力的;耗时的;耗资的;艰巨的bubble 水泡,气泡;幻想的计划budget 预算;财政收支状况;做预算,按计划花钱build 体形,体格,身材;结构;建造,建立business 商业,生意,营业额;任务,职责,公事;企业,公司,店铺,商号compress 压缩;精简,浓缩comprise 包含,包括;构成,组成compromise 妥协,折中conceive 构想出,设想;想象;认为concentrate 集中,专心;浓缩;浓缩物concept 观念,概念conception 概念,观念,计划,意图;设想;怀孕concern 关心,挂念;涉及,关系到concise 简明的,简洁的concrete 具体的,确实的;混凝土;用混凝土修筑conclude 结束,终止;断定,下结论;缔结;议定conclusion 结束,终结;结论,推论confer 商谈,商议;授予,赋予conference 会议,讨论会confess 坦白,承认,忏悔epidemic 流行性的,传染的;流行病;泛滥,传播episode 片断,一段情节;一集epoch 时代,纪元,时期indifferent 冷淡的,不关心的,不积极的;一般的,平庸的;不偏的,中立的indignant 愤怒的,愤慨的indignation 愤怒,愤慨indispensable 必不可少的,必需的individual 个人的,单独的;独特的;个人,与众不同的人mess 混乱,困境;脏乱;弄脏,弄乱message 通讯,消息,信息;启示,要旨,主题思想,寓意;(用电脑、手机等)给……发消息messenger 送信者,使者method 方法,措施;方式;条理,规律militant 好战的,积极从事或支持使用武力的,激进的military 军事的,军用的,军队的;军队,军方,军人mind 头脑,精神;悟性;注意力;在乎redeem 补救,弥补;(尤指基督教的)拯救,救赎;付清;兑现;履行,遵守reduce 减少,缩小;简化;还原reduction 减少,缩小refer 提到;参考;询问,查询reference 提及,涉及;参考,参照;查阅;推荐信spoil 损坏,毁坏;宠坏,溺爱sponsor 发起者,赞助者;发起,举办;资助,赞助spread 伸展;散布,传播;(使)蔓延,扩散,延伸;广泛,多样;差额,价差spur 促进,激励,鞭策;刺激spy 间谍,密探;刺探;搜集情报;发现stability 稳定(性),安定(性)stable 稳定的,安定的;沉稳的,可靠的staff 全体职员,行政人员;为(某部门)配备人员stage 舞台;阶段,时期;步骤必考词Unit 2anguish 极度痛苦,苦恼;使痛苦,悲痛annoy 使恼怒,使生气;打搅,骚扰annual 每年的;全年的;年刊,年鉴anonymous 匿名的;无特色的answer 答案,回答;响应;符合anticipate 预期,期望;先发制人;使提前发生anxiety 焦虑,担心,不安;渴望,热望anxious 焦虑的,发愁的;渴望的,急切的apart 分离,分开;相隔;单独地,个别地;分离的component 一部分的,组成的;组成部分,成份,部件compose 组成;创作;使平静composition 作品;作曲;结构;组成comprehend 理解,了解comprehension 理解,了解comprehensive 广泛的,综合的condemn 谴责;判刑condense 压缩,凝结,使简洁condition 状况,状态;环境,情况conduct 行为,举止;引导;处理;指挥;传导conductor 领队,指挥;售票员,列车员;导体,导线disable 使残疾(废)disappear 不见,消失disappoint 使失望,使扫兴discipline 纪律;训练,自制力;行为准则;(尤指大学里的)学科,专业,科目disclose 揭露,透露,使公开discover 发现discovery 发现;被发现的事物hoist 举起,升起,吊起hold 抓住;抑制;容纳;举行;掌握;控制holder 持有者,占有者;支持物narrative 叙述性的;叙述narrow 狭窄的;狭隘的nasty 龌龊的;下流的,讨厌的,严重的nation 民族,国家national 民族的,国家的,国立的nationality 国籍;民族native 本地的,本国的;天生的;本地人,本国人natural 自然的;天生的nature 大自然;本性,天性overall 全面的,总体的;全部;总体上;工作服,工装裤overcome 克服,占胜overlap 重叠,部分重叠portion 部分,分配possibility 可能,可能性;希望;机会possible 可能的;潜在的,合适的,合适的人(或物)potential 潜在性,可能性;潜在的,可能的pour 倒,注,灌;倾泻,涌流reflect 反映,表现;反省;考虑reflection/reflexion 影像,倒影;考虑,沉思;想法reform 改革;改造,改过自新;变革,改善stand 站立;坐落,位于;坚持;经受,忍受;台,座standard 标准,水平,规格,规范;普通的,标准的standpoint 立场,观点start 开始;出发;启动;开端,开始,起点;吃惊startle 惊讶,惊吓,使吃惊starve 挨饿;急需,渴望state 状态,情况;国,州;陈述,说明statement 声明,陈述statesman 政治家,国务活动家statistics 统计数据;统计资料;统计学statue 塑像,雕塑status 地位,身份;情形,状况statute 法令,法规,规则,条例stay 停留;保持;逗留;作客steady 牢固的;坚定的;使稳固,使稳定steer 掌舵,驾驶;带领,指导stem 茎,干;制止,阻止;起源于某事物step 脚步;台阶;步骤,措施;踏,走stern 严厉的,严肃的,严格的;船尾,飞机尾部必考词Unit 3confine 幽禁,禁闭;限制,使局限confirm 加强,巩固;证实,肯定;确认conflict 战争,战斗;冲突,抵触confidence 信任,信心,把握confident 确信的,自信的confidential 秘密的,机密的;亲信的trail 踪迹,痕迹;追踪,跟踪train 列车,火车;行列,一串;训练,培养training 训练,培养trait 特征,特点,特性traitor 叛徒,卖国贼victim 牺牲品,受害者view 景象,风景;见解;观察;看待;考虑viewpoint 观点violence 暴力,暴行;狂热;激烈violent 猛烈的,激烈的virtual 实际上的,事实上的virtue 美德;优点,长处apparent 显然的;表面上的appeal 有感染力;求助;申诉;恳求appear 出现,暴露;出场;问世;来到;仿佛appearance 出现,露面;外表,外貌appliance 用具,器具applicable 能应用的,适用的application 请求,申请;适用,应用appoint 任命,委派;约定,指定appointment 约会;预约;任命,委托;职务,职位apply 应用,使用;使专注于;申请,请求appreciate 欣赏;感激;理解;涨价,增值discriminate 区别,辨别;歧视discuss 讨论,商议disease 疾病disgrace 使丢脸;使失去地位;耻辱;失势escape 逃跑,逃脱;躲避,避免especially 特别,尤其essay 文章,短文;企图,试图essence 本质,实质;要素essential 必要的,必不可少的;本质的,基本的establish 建立,设立;查实;安置,使定居;派任estimate 估计,估价ethic 道德体系;行为准则;伦理学,道德学ethnic 民族的,种族的;少数民族的成员evaluate 估价,评价industrial 工业的,产业的industrializ(s)e 工业化industry 工业,产业;勤劳,勤奋inevitable 不可避免的,必然发生的miserable 痛苦的,悲惨的misery 痛苦,悲惨,不幸mislead 把……引入歧途;使产生错误想法,欺骗mix 混合,合群;混淆mixture 混合,混合物necessary 必需的,必要的;必然的,无法避免的necessitate 使成为必要,需要;迫使necessity 必要;必需品;必然性;迫不得已;贫困negative 否定的,消极的;阴性的;负数negotiate 谈判,交涉,商议outer 外部的,外面的,外层的outlet 出路,出口;发泄途径outline 轮廓,外形;提纲,大纲,梗概outlook 景色,风光;观点,见解;前景,展望output 产量,输出量poverty 贫穷,贫困power 能力;功率,动力;权力,势力,政权practical 实际的,实用的practice 练习;实践;业务,开业practise 实践,实习,训练;从事practitioner 实习者;从业者preach 讲道,说教;竭力鼓吹,宣传precede 在前,先于precaution 预防,警惕;预防措施precedent 先例;在前的,优先的preceding 在前的,前面的,在先的precious 珍贵的,贵重的precise 精确的,准确的precision 精确,精密度必考词Unit 4stick 棍,棒,拐杖;刺,戳;粘住,粘贴stimulate 刺激,促使;使兴奋stir 搅动,搅拌;移动;引起,轰动,骚乱stock 原料,库存;资本,股票;储存,供应store 商店,店铺;贮藏;贮备storage 储存,储藏,保管;库房approach 靠近,接近;处理,对付;方法,态度appropriate 恰当的,相称的approval 赞成,批准,同意,认可approve 批准,通过;赞成,同意apt 恰当的;聪明的conform 相似,一致,符合;遵从,适应confront 面临,遭遇;勇敢地面对,正视confuse 使混乱,混淆confusion 混乱,混淆congress (代表)大会;国会,议会connect 连接;联系,结合connection/connexion 联系;连接conscious 神志清醒的;意识到的,自觉的dismiss 解雇,免职disorder 混乱;骚乱;失调,疾病disperse 分散,驱散,散去displace 转移;替代,撤换display 陈列,展览evidence 形迹,迹象;根据,证据evident 明显的,明白的evil 邪恶的,罪恶的;邪恶,罪恶evolution 进化,发展,演化evolve 使发展,使进化,演变exaggerate 夸张,夸大examine 检查,细查fruitful 多产的,果实累累的;富有成效的frustrate 挫败,阻挠,使灰心;使无效infer 推断,推定inference 推论,推理;结论,推断结果inferior 下等的,下级的;差的;下级,晚辈influence 影响,感化;势力,权势influential 有影响的;权势的inform 通知,报告;告发,告密information 情报,资料,消息;信息mock 嘲笑,嘲弄;挫败;仿制的,假装的;模拟的mode 方式,式样model 模型,原型;模式;榜样;仿效,模仿;模范的,榜样的moderate 温和的,有节制的;适度的,中等的modern 现代的,近代的,新式的moderniz(s)ation 现代化modest 谦逊的;适度的modify 修改;缓和,减轻;修饰overlook 眺望;忽略;宽容,放任overseas 外国的,海外的;在海外predecessor 前辈,前任;原有事物predict 预言,预测,预告preface 序言,引言,前言preferable 更可取的,更好的preference 偏爱,优待,优惠;优先(权)prejudice 偏见,歧视;损害,侵害preliminary 预备的,初步的premier 首相,总理premise 前提;假定;营业场所;引导premium 额外费用;奖金;保险费;学费preparation 准备,预备;制剂reject 拒绝,驳回;排斥,退掉rejoice 感到高兴,充满喜悦relate 讲述,叙述;联系relation 关系,联系;亲属,亲戚relationship 关系,联系relative 亲属,亲戚;比较的,相对的;相关的relativity 相关(性),相对论relevant 有关的,相称的;有重大关系的;有意义的必考词Unit 5holy 神圣的,圣洁的honor/honour 尊敬;荣誉,光荣;荣幸honorable/honourable 尊敬的,高尚的;荣誉的,光荣的horizon 地平(线);范围,眼界,见识horizontal 水平的,地平线的;水平线ingenious 灵巧的,机灵的;巧妙的ingredient 组成部分,成分initial 最初的,开头的;词首的;词首大写字母initiate 开始,发起;使初步了解initiative 主动性;进取心local 地方的,当地的;局部的locality 位置,地点locate 指出;使……坐落于,位于location 位置,场所neglect 忽视,忽略;疏忽,玩忽negligible 疏忽的,微不足道的prescribe 规定,指定;开处方prescription 药方,开药;计划;建议;秘诀presence 出席,到场;存在present 赠送,给予;提出,呈现;礼品;现在presently 一会儿,不久;现在,目前preserve 保护,保存preside 主持,主管,担任(会议)主席;掌管,领导press 新闻界;出版社,印刷厂;报道;挤压,榨取;催促,逼迫pressure 压(力);强制,压迫prestige 威望,威信;影响力presumably 推测起来,大概presume 推测;假设;认为,推定prevent 防止,预防previous 先前的,以前的;在……之前prey 受损害者;牺牲品;捕食;掠夺;损害reliable 可靠的reliance 依靠,依赖religion 宗教,信仰;信念,信条religious 宗教的;虔诚的rely 依赖,依靠;信赖,信任straight 笔直的;端正的;正直的;直率地straightforward 正直的,坦率的;简单的strain 使紧张;使损伤;拉力,张力;努力,尽力strategy 战略,策略strength 力量,实力,活力,效力strengthen 加强,巩固strenuous 努力的;精力充沛的;紧张的;热心的transaction 办理,处理,交易,事务transfer 转移;转让;迁移;调动transform 改变,改造;转(变)换;使改观transient 短暂的;临时的translation 翻译,译文,译本visible 可见的;明显的,有形的vision 视力,视觉;想象;目光visual 看的,视觉的architect 建筑师,设计师;缔造者,创造者architecture 建筑学;建筑风格,建筑式样area 地区,区域;范围,领域argue 争论,辩论,主张,说服argument 争论,辩论;论据,论点arise 形成,产生;上升;起立arouse 引起,唤起,激起;唤醒array 大量;排列,队形;部署;穿着,打扮consequence 结果,后果;影响;重要性consequently 因而,所以conservation 保存,保护,避免损失conservative 保守的,守旧的;保守主义者consider 考虑;认为;体贴,关心considerable 相当多的,可观的considerate 考虑周到的,体谅的dispute 争论,争执dissolve 溶解,融化;解散,取消environment 环境,客观环境,自然环境,生态环境enterprise 事业心,进取心;事业,企(事)业单位entertain 招待,款待;使有兴趣entertainment 招待,款待;文娱节目必考词Unit 6console 安慰,慰问;控制台,仪表板consist 组成,构成;一致,符合consistent 前后一致的,始终如一的constant 坚定的,永恒的,忠实的;经常的,不断的constituent 构成的,组成的;成分,要素constitute 组成,构成;建立,制定constitution 构成,构造;体格,体质;宪法constrain 强迫(某人)做某事;概述,概括construct 建造,构造;创立,构思consume 消耗,花费;耗尽consumption 消费;消耗;肺结核,肺病distinct 有区别的;明显的distinction 差别,区分distinguish 区别,辨别;使杰出distribute 分配;分布,散布distort 扭曲;歪曲,曲解distract 使转向;使分心,分散exchange 交换,兑换;交流,交易exclude 拒绝,排斥exclusive 专有的,独占的;除外的;(商品、商店等)高档的;独家新闻assassinate 暗杀,行刺;破坏assault 攻击,袭击;强暴assemble 集合,召集;装配,组装assembly 集合,集会;装配,安装assert 主张,维护fulfil/fulfill 履行,实现,完成;(使)满意function 功能,职责;运行,起作用fund 资金,基金;储备,蕴藏fundamental 基础的,基本的;基本原则household 家庭;家庭的however 无论如何,不管怎样;然而huddle 蜷缩;聚集在一起monopoly 垄断,专卖monotonous 单调无聊的,毫无变化的mood 心境,情绪;语气primary 初级的,最初的;首要的;基本的prime 第一的,原始的;初期,全盛时期;使准备好,做准备primitive 早期的;简单的,粗糙的,落后的principal 最重要的,主要的;负责人;资本;主角;当事人principle 原理,原则prove 证明;检验,考验,鉴定provide 提供;规定provided 倘若,只要,假如prudent 谨慎的,小心的;有先见之明的psychiatry 精神病学,精神病治疗法psychology 心理学,心理;心理特征stress 压力,紧张;着重,强调stretch 伸长;延伸;延续;使倾注全力;一片,一段stride 阔步前进;大步,阔步strike 打击,进攻;罢工;偶然发现striking 显著的,突出的string 细绳;一连串,一系列;串起structure 建筑物;结构,构造stun 使震惊,使晕倒;晕眩,惊倒transmission 播送,发射,传送,传染,传播transmit 传送,传递;播送,发射;传染,传播transplant 移植,移种;移居transport 运输,运送;运输系统,运载工具liability 责任,义务;债务;倾向liable 负有(法律)责任的,有义务的;易出问题的,易患病的liberal 不严格的;(政治或经济上)自由的,支持(社会、政治)变革的;慷慨的;宽容的人,开明的人liberate 解放,释放,使自由license/licence 许可证,执照;准许,认可vital (有)生命力的;致命的,极其重要的vivid 鲜艳的;生动的,栩栩如生的void 没有的,缺乏的volume 容积,体积;卷,册;音量必考词Unit 7remote 疏远的,远离的;遥远的,偏僻的remove 搬迁,移动;挪走;消除;开除,撤职removal 移动,迁居;除去,切除remain 剩下,余留;留待;仍然是remainder 剩余物,残余部分;其他人员;余数remains 残余;遗迹,废墟remedy 治疗,药品;补救,纠正;革除,消除remember 记得,回想起remind 提醒,使想起render 使成为;给予,回报;提出contemporary 同时代的;当代的;同代人contempt 轻视,轻蔑content 容量;内容;满足,愿意contend 竞争,争夺;声称,主张contest 竞赛,比赛;争夺,争论context 语境;环境,背景continual 不断的,连续的continue 连续,继续continuous 连续的,持续的contract 合同,契约;缩小,缩短,缩紧contradict 反驳;同……相矛盾contrary 相反的,对抗的;对方的;反对,对立面contrast 使成对比;对照,对比diverse 多种多样的,不同的diversion 转向,转移;娱乐,消遣divert 转移某人的注意力;转向;挪用资金divide 划分;分配;分开,隔开dividend 股息,红利,报酬division 分开,分配;部门;分歧document 文件,文献documentary 文献的,文件的;纪录片execute 实行,实施,履行executive 实行的,执行的,行政的;总经理,董事exemplify 列举,举例证明exert 用(力),尽(力);发挥;施加(压力等) exhaust 抽完;耗尽;排气装置;废气exist 存在,生活existence 存在,生存,生活exotic 由外国引进的;吸引人的;外来物,外来语innocent 清白的,无罪的;天真的,单纯的innovation 革新,改革;新方法,新技术,新思想moral 道德的,道义的;寓意morality 道德,美德moreover 再者,此外,而且mostly 主要地,大部分,基本上prior 先前的;优先的;更重要的priority 先前,优先,优先权privacy 隐居;私事,隐私private 私人的,个体的;秘密的privilege 特权,优惠;特殊的待遇subject 题目,主题;学科,科目;受……支配的;需要……的subjective 主观的,个人的submit 屈服,投降;听从;提交subordinate 下级的;附属的,次要的subscribe 捐助;订阅;同意;签名subsequent 随后的,后来的substance 物质;基本内容;财力,资产substantial 实质的,真实的;坚固的;大量的,富裕的;重要的substitute 代替者,代替物;代替,替换subtle 微妙的;细致的;敏锐的;精妙的treat 对待,处理;论述,探讨;款待,请客treaty 条约trend 倾向,趋势;时髦,时尚associate 联系,联合,结合;联合的,合伙的association 协会,团体;联系;联想amend 修改,修订;改进,改善among(st) 在……之中,在……中间amount 数量,总额;达到……之多ample 充足的,丰富的;宽敞的,面积大的amuse 逗乐,给……提供娱乐anchor 精神支柱;抛锚,停留;固定,扎根必考词Unit 8acclaim 喝彩,欢呼;称赞accommodate 使适应;调和;帮助;容纳,接纳accommodation(s) 住宿,留宿accompany 陪伴,伴随accomplish 达到,完成,实现;走完,度完account 账目,账户,账单;描述,叙述;认为,视为;说明,解释;占(一定数量或比例) accountant 会计,会计师;账房,出纳bias 偏见;偏重;使有偏见,偏向bid 祝愿;命令,吩咐;出价,投标bill 账单;招贴,广告;法案;清单;钞票billion 十亿,万亿birth 出生,分娩;出身,血统charge 收(费);使充满;控告;负荷;价钱,费用charm 美貌;魅力;使陶醉,迷住chase 追逐,追求demand 要求;查问;请求democracy 民主,民主制;民主国家democratic 民主的demonstrate 论证,证明;表明;宣传;游行,示威denote 表示;意思是denial 否认;拒绝,拒绝给予deny 否定,否认department 部,局,处;系,学部depend 取决于,依靠dependent 依靠的,依赖的deposit 使沉积;存放;沉淀物;存款;保证金depress 使沮丧,使消沉;使不景气,使萧条emerge 出现,浮现emergency 紧急情况,突然事件,非常时刻eminent 著名的,杰出的,卓越的;明显的,突出的emotion 情绪,情感fear 害怕,畏惧;担心fearful 担心的;可怕的feature 特征,特色;特写federal 联邦的federation 同盟,联邦,联盟,联邦政府feed 喂养,饲养;向……提供feedback 反馈feeling 感情;心情;知觉;同情fertile 肥沃的,富饶的;能繁殖的goal 目的,目标;守门员,球门;进球goods 商品,货物govern 统治,管理;决定,支配;抑制,控制government 政府,内阁;管理,支配;政治,政体governor 总督,州长;主管人员,理事gradual 逐渐的,逐步的graduate 毕业;获学位;有学位的,毕业的,毕业生grand 盛大的,豪华的;重大的,主要的grant 同意,准予;授予heap 大量,许多;堆积;装满heal 治愈;调停,消除,克服health 健康,健康状况;卫生healthy 健康的,健壮的;卫生的hesitate 犹豫,踌躇;含糊highlight 使显著,使突出;强调;最有意思或精彩的部分highland 高地,高原;高原的highly 高度地,非常;赞许地immediate 立即的;直接的,最接近的immense 广大的,巨大的immerse 使浸没;使专心于immigrant 移民,侨民immune 免除的,豁免的;不受影响的;有免疫力的likely 很可能的,有希望的;大概,多半likelihood 可能性likewise 同样(照样)地;又,也,而且必考词Unit 9perform 演奏,演出,表演;执行,完成;工作,表现performance 执行;表演;表现,行为period 周期;时期,时代;学时,课时;句点periodical 周期的,定期的;期刊,杂志perish 死亡;毁灭,消亡;腐败,腐烂perpetual 永恒的;反复的;没完没了的perplex 使困惑,使茫然;使复杂化personal 个人的,私人的;人身的,本人的personality 人格,个性personnel 全体人员;人事(部门)perspective 观点,看法;判断力,洞察力;透视图;景观pessimistic 悲观的optimistic 乐观的optimum 最适宜的,最有利的option 选项,选择权;买卖的特权optional 可以任选的,非强制的organ 机构;器官;风琴organic 器官的;有机的,绿色的organism 生物体,有机体organiz(s)ation 团体,机构;组织;组织性,系统性organiz(s)e 组织;使有条理rake 耙,耙状物;大量搜索,翻检rare 稀少的,珍贵的;稀薄的rarely 很少,难得,非常地rate 比率;速度;费率;价格;等级,品级;评估;定级ratio 比,比率rational 理性的,合理的reach 抵达,到达;触到;能达到的范围react 反应,起作用realistic 现实(主义)的reality 现实,实际;真实的事物realiz(s)e 认识到,了解到;实现select 选择,挑选;精选的,选择的selection 选择,挑选;精选物,选集self 个性,自我,自己;本来面目;个人利益;私心selfish 自私的,利己的sell 出售;让人失望的东西send 发送,传达;派遣;使做出;使表现出senior 年长的;地位较高的;(大学)四年级学生sensation 感觉,知觉;激动;轰动sense 感觉,感官;观念,意识;合理性;含义;感觉到,意识到sensible 明智的,合情理的;明显的sensitive 敏感的,易受伤害的;灵敏的separate 分开的,分离的;隔开sequence 先后,次序,连续serial 连续的;连载的;连载小说,连续电视;定期刊物series 连续,一系列serious 严肃的;严重的,危险的;认真的toast 烤面包,吐司;烘,烤together 共同,一起token 表示,标志,象征;纪念品;礼券,筹码;象征性的tolerance 容忍,耐性tolerant 容忍的,宽容的tolerate 容忍,默许accumulate 积累,积攒,积聚accuracy 准确性accurate 准确的,正确无误的accuse 指控,指责achieve 达到;完成,成功acknowledge 承认,供认board 板,木板;理事会,董事会boast 自吹自擂,夸耀,吹嘘;有,包含bonus 奖金;红利;补贴boom 繁荣期,迅速发展;兴起;暴涨,激增boost 增加,提高;帮助,鼓励cheer 喝彩,欢呼;鼓舞,鼓励choice 选择,挑选;精选的,优质的choose 选择,挑选;喜欢,愿意chemical 化学的;化学制品,化学药品cherish 珍爱,珍视;爱护,关心;抱有,怀有chip 打破;切削;薄片;碎屑verbal 用言辞的,用文字的;口头的verdict 判断,裁定;定论,意见verify 证明,证实;查对,查清verse 韵文,诗;诗句version 版本;译文;翻译;说法,看法vessel 船,舰;容器,器皿;管,血管必考词Unit 10meditate 沉思,冥想;考虑,谋划meditation 沉思,冥想;打算,熟虑medium 中间,中庸;媒介物,传导体deprive 剥夺,使丧失derive 取得,得到describe 形容,描述description 描述,形容;种类,类型deserve 值得,应得design 设计,绘制;图样designate 指明,标明;指定,指派desirable 称心的,合意的desire 希望,渴望;欲望,要求flaw 裂缝;缺陷,缺点flexible 柔韧的;易弯曲的;可变通的fling 扔,掷,抛,丢flourish 炫耀;繁荣,兴旺;挥舞grow 增长;生长,成长;种植,栽种grown-up 成熟的,成人的;成年人growth 生长,增长,发展hinder 妨碍,阻止hint 暗示;建议;线索,细微的迹象hitherto 到目前为止,迄今impact 冲击,撞击;影响,作用impair 削弱,减少;损害,损伤impart 传授;告知,透露implement 实施,执行;工具,用具implication 含意,暗示implicit 含蓄的;无疑问的,绝对的imply 意指,意味着,暗示import 进口,输入;进口商品;要旨,含意importance 重要(性),重大important 重要的,重大的;有权力的impose 征(税);利用,占便宜impress 盖印;留下印象;铭记;压痕impression 印象,感想;盖印,压痕;印数impressive 给人深刻印象的,感人的improve 改善,增进,提高impulse 推动,驱动;冲动,一时的念头limit 界限,范围;限制,限定limitation 限制,局限性limited 有限的,被限制的origin 起源,由来;出身,血统original 最初的,原始的;新颖的,有独创性的;原物,原作,原文originate 发源,产生,引起;开创,发明petition 请愿,请愿书;申请书;正式的请求,要求phase 阶段,时期;相,相位phenomenon 现象;非凡的人、物或事philosopher 哲学家,哲人philosophy 哲学phrase 短语,词语,习语physical 自然科学的,物理的;肉体的,身体的;物质的,有形的physician 医师,内科医生pierce 刺入,穿透;看透,识破reason 理由,原因;道理;理性;推理;辩论reasonable 合理的,有道理的,通情达理的recent 新近的,近来的serve 服务,履行职责;接待顾客servant 仆人,佣工service 服务,帮助;公共设施,公共事业;维修,保养set 放置;确定,决定;树立;创造;调整;约定的,规定的,习惯的;一套,一副,一组setback 挫折,退步;复发;延迟,阻碍setting 安置,安装;环境,背景settle 安定,安顿;定居;解决settlement 解决,决定;新住宅区several 几个,一些;各自的;分别的severe 严厉的,严格的;剧烈的,严重的shape 形状;体形;状况;种类;塑造,形成share 一份,份额,一部分;股份;分享;分摊;分配sharp 锋利的;鲜明的;突然的;敏锐的;准时地shelter 掩蔽处;掩蔽;庇护;躲避sophisticated 老练的;复杂的;精密的;尖端的,高度发展的sovereign 君主,统治;至高无上的;独立自主的,完全的sow 播种;传播;激起toll 代价;损失;钟声;鸣钟tone 音调,音色,风气,气氛;腔调,语气topic 话题,主题,题目必考词Unit 11choke 使停止呼吸;窒息;抑制chop 削减,降低;终止;取消;劈,砍,剁;排骨,肉块circumstance 情况,形势,环境cite 引用,引证,举(例)claim 要求,主张;索赔;权利clear 明白的;清澈的;通畅的,无阻的;清楚地;证明;使清楚border 边界,边境,边沿;邻接,毗邻bore 使厌烦,使厌倦;钻孔;麻烦;(管道、枪管等的)内径,口径born 天生的,生来的bother 打扰;烦恼,操心;麻烦acquire 取得,获得;学到acquisition 获得;获得物act 行动,做事;起作用;行为;法令,条例action 行动;行为;作用;战斗activate 使激活,使加快;启动,使活动active 活跃的;积极的;现行的activity 活跃;行动;活性,活力actual 实在的,实际的acute 有观察力的,敏锐的;剧烈的;严重的;急性的despise 蔑视,鄙视despite 不管,不顾;即使,尽管energetic 有力的,精力旺盛的energy 活力,精力;能量,能源enforce 强迫;实施,使生效;坚持engage 尽力理解;雇,聘;吸引;占用engagement 约会,约定;婚约,订婚fold 折叠;褶,褶痕folk 人们;民间的follow 跟随,接着;领会;遵循;结果是following 接着的,下列的force 力量;势力;军队,兵力;强迫,迫使fore 在前部的;重要的;前部forecast 预测,预报foresee 预见,预知forge 锻造;伪造;编造;锻铁炉,铁匠铺grim 严厉的,严峻的;令人不愉快的;极其简陋的grasp 抓住,抓紧;掌握,领会grip 抓紧;吸引住;吸引力gross 总的;严重的,极端的;粗俗的;总共赚得ground 地面,土地;场所;根据,理由group 组;群;批;类;簇;集团;团体;乐团;(使)成群,成组guarantee 保证,保证书;担保guard 守卫,保卫;看守include 包括,包含,计入inclusive 包括的,包含的;范围广的income 收入,收益incorporate 包含,吸收;合并,混合increase 增加,增长,增进increasingly 不断增加地,日益incredible 难以置信的,惊人的,不可思议的incur 招致,引起,遭受link 连接,联系;环节list 表,目录,清单;列入表内;高兴,称心literally 照字面意义地;确实地,真正地literary 文学的;精通文学的literature 文学,文学作品,文献memo 备忘录memorial 追悼的,纪念的;纪念物,纪念碑,纪念馆memory 记忆,记忆力;存储mental 精神的,智力的mention 提及,说起other 另外的,别的;其他人或物otherwise 否则;不同地;在其他方面outcome 结果,成果sign 标记,符号,招牌;征兆,迹象;签名(于),签署(于)signature 签名,署名,签字signal 信号,暗号;发信号significance 意义,含义;重要性,重大significant 有意义的;重要的,重大的signify 表示,表明,预示;有重要性similar 相似的,类似的simple 简单的;直率的,朴素的;迟钝的simplicity 简单;朴素;直率,单纯simplify 简化,使单纯simply 仅仅,不过;确实;简单地,朴素地slack 松弛的;松懈的;萧条的,不景气的;淡季必考词Unit 12addict 使沉溺,使上瘾;有瘾的人add 加,增加;补充说addition 加,加法;增加的人或物additional 附加的,另外的,额外的address 演说;地址,住址;称呼;对付,处理adequate 足够的,充分的;恰当的adjoin 贴近,与……毗连adjust 调节,调整;校正;适应。

2022年考研考博-考博英语-浙江大学考试全真模拟易错、难点剖析AB卷(带答案)试题号:87

2022年考研考博-考博英语-浙江大学考试全真模拟易错、难点剖析AB卷(带答案)试题号:87

2022年考研考博-考博英语-浙江大学考试全真模拟易错、难点剖析AB卷(带答案)一.综合题(共15题)1.单选题It is astonishing to know that children and youth ( ) the biggest segment of the country's homeless population.问题1选项A.substitute forB.make outC.make upD.make up for【答案】C【解析】substitute for代替,取代;make out理解,认出;make up有很多意思,这里指组成;make up for弥补,补偿。

句意:令人惊讶的是,儿童和青年构成了该国无家可归人口的最大部分。

选项C符合句意。

2.单选题A theory is an organized set of principles that is designed to explain and predict some phenomenon. Good theories also provide specific testable predictions, or ( ) about the relation between two or more variables.问题1选项A.hypothesisB.conceptionC.ideaD.meaning【答案】A【解析】hypothesis假设;conception概念,设想;idea想法,主意;meaning意义,意图。

句意:理论是一套有组织的原理,用来解释和预测一些现象。

好的理论也提供了具体的可测试的预测,或者关于两个或两个以上变量之间关系的假设。

选项A符合句意。

3.单选题It is disturbing to note how many crimes we do know about were detected() , not by systematic inspections or other security procedures.问题1选项A.by accidentB.on scheduleC.in generalD.at intervals【答案】A【解析】by accident偶然,意外的;on schedule按时;in general总之,通常;at intervals不时。

对比学术英语作文模板

对比学术英语作文模板

对比学术英语作文模板英文回答:Comparative Analysis of Academic English Essay Templates。

Introduction。

Academic English essays adhere to specific structural conventions to facilitate effective communication and critical thinking. Essay templates provide a framework for organizing and developing ideas, ensuring consistency and clarity. This analysis compares and contrasts two widely used essay templates: the IMRAD and the Toulmin Model.IMRAD Template (Introduction, Methods, Results, and Discussion)。

Introduction: Provides background information, states the research question, and presents the thesis statement.Methods: Describes the research design, methodology, and data collection procedures used.Results: Presents the findings of the research, typically in the form of tables, graphs, or statistical analyses.Discussion: Interprets the results, discusses their implications, and draws conclusions based on the evidence presented.Toulmin Model (Claim, Evidence, Warrant, Backing, Qualifier, Rebuttal)。

英语作文自然科学与社会科学

英语作文自然科学与社会科学

英语作文自然科学与社会科学The Intersection of Natural Science and Social Science The fields of natural science and social science, though often perceived as distinct and separate, are inextricably linked. Natural science, encompassing the study of physical phenomena and natural laws, strives to understand the universe and its constituent parts. On the other hand, social science delves into the complexities of human behavior, society, and culture, seeking to explain the patterns and processes that shape our world.The intersection of these two disciplines lies in their shared quest for knowledge and understanding. Natural science provides a foundation for explaining the physical world, from the smallest particles to the vastness of the universe. This understanding, in turn, informs our comprehension of social phenomena. For instance, the study of genetics in natural science has led to insights into the role of inheritance in shaping human behavior and society, a domain traditionally explored by social science.Conversely, social science offers a lens through which we can interpret and apply the findings of natural science. The social and cultural context within which scientific knowledge is produced and disseminated can significantly influence its reception and application. For example, the debate surrounding the ethics and social implications of genetic engineering and biotechnology is a testament to the need for a societal understanding of scientific advancements.Moreover, the methods and techniques developed in both natural and social science are often mutually beneficial. Quantitative analysis, experimental design, and data interpretation are common threads that run through both disciplines. Social scientists borrow from the rigorous empirical methods of natural science to test hypotheses and gather evidence, while natural scientists may draw inspiration from the qualitative approaches of social science to understand the contextual factors that influence their research.In conclusion, the interaction between natural science and social science is not just a matter of academic curiosity but holds profound implications for our understanding of the world. By bridging the gap between these two disciplines, we can gain a more comprehensive and nuanced perspective on thecomplexities of nature and society.。

工程硕士研究生英语基础教程unit(I)

工程硕士研究生英语基础教程unit(I)

03
Inference Skills
The ability to infer or deduce meanings or implications from the text beyond what is explicitly stated.
01
Comprehension of Main Ideas
Complex sentence structure
Selection of precise and accurate words to describe concepts, ideas, and findings.
Precise word choice
Language Characteristics of Academic Papers
Unit 1: Language and Communication:Introduction to the course, overview of language and communication concepts, and exploration of the role of English in international engineering.
Methods
Describes the research design, procedures, and data collection methods.
Results
Presents the findings of the research, often in tables, figures, and charts.
Comprehension of main ideas
Clear pronunciation
01
Pronouncing words correctly and articulating sounds clearly to ensure others can understand you.

高一英语学术写作单选题50题

高一英语学术写作单选题50题

高一英语学术写作单选题50题1. In academic writing, it is important to be ______ and avoid vagueness.A.preciseB.vagueC.casualrmal答案:A。

“precise”表示精确的,在学术写作中重要的是要精确避免模糊。

“vague”本身就是模糊的意思,不符合要求。

“casual”和“informal”分别表示随意的和不正式的,也不符合学术写作的要求。

2. Academic papers should be supported by ______ evidence.A.weakB.strongC.slightD.fragile答案:B。

学术论文应该由强有力的证据支持。

“weak”表示弱的,“slight”表示轻微的,“fragile”表示脆弱的,都不符合要求。

3. When writing an academic essay, one should use ______ language.A.colloquialB.slangC.technicalD.crude答案:C。

写学术论文时应该使用专业的语言。

“colloquial”表示口语的,“slang”表示俚语,“crude”表示粗糙的,都不符合学术写作要求。

4. The conclusion of an academic paper should be ______.A.hastyB.carelessC.thoroughD.superficial答案:C。

学术论文的结论应该是全面的。

“hasty”表示匆忙的,“careless”表示粗心的,“superficial”表示肤浅的,都不符合要求。

5. Academic writing requires ______ research.A.superficialB.cursoryC.thoroughD.half-hearted答案:C。

学问见识才能三者关系英语作文

学问见识才能三者关系英语作文

学问见识才能三者关系英语作文Knowledge, Wisdom, and Competence: An Interplay of Intellectual Virtues.In the pursuit of intellectual enlightenment, three indispensable virtues emerge as the cornerstones of our cognitive development: knowledge, wisdom, and competence. While often perceived as distinct entities, these virtues are intricately intertwined, forming a synergistic matrix that empowers us to comprehend, navigate, and shape the world around us.Knowledge: The Foundation of Understanding.Knowledge, in its most basic sense, refers to the acquisition and accumulation of information. It encompasses facts, theories, principles, and concepts drawn from diverse disciplines and experiences. Knowledge expands our horizons, enabling us to understand the complexities of our surroundings and the interconnectedness of all things. Itserves as the raw material upon which our intellectual endeavors are built.However, mere possession of knowledge does not equate to intellectual depth or maturity. Knowledge must be critically analyzed, synthesized, and applied to be truly transformative. This is where wisdom comes into play.Wisdom: The Guiding Light of Judgment.Wisdom, a higher-order cognitive faculty, is theability to discern the significance of knowledge and apply it to real-world situations. It involves the capacity to make sound judgments, to recognize patterns, to anticipate consequences, and to balance competing perspectives. Wisdom is not merely theoretical but practical, guiding our actions and decisions in a manner that promotes both individual well-being and the greater good.While knowledge provides the building blocks of intellectual inquiry, wisdom furnishes us with the compass to navigate the complexities of life. It allows us todistinguish between superficial and profound knowledge, to prioritize our values, and to make informed choices that resonate with our deepest principles.Competence: The Embodiment of Expertise.Competence, the third pillar of intellectual development, manifests as the ability to effectively apply knowledge and wisdom in specific domains. It involves the mastery of skills, techniques, and methodologies that enable us to perform tasks with proficiency and efficiency. Competent individuals possess the necessary cognitive, technical, and interpersonal abilities to excel in their chosen fields of endeavor.Competence is not merely the accumulation of technical expertise but also the cultivation of intellectualflexibility and adaptability. It allows us to transfer knowledge and skills across domains, to innovate and devise creative solutions, and to respond effectively to unforeseen challenges.The Interplay of Virtues.The interplay between knowledge, wisdom, and competence is a dynamic and mutually reinforcing process. Knowledge provides the foundational understanding that informs wisdom, which in turn guides the development of competence. Conversely, competence sharpens our intellect by requiring us to apply knowledge and wisdom in practical settings, thereby deepening our understanding and expanding our knowledge base.This virtuous cycle empowers us to continuously growand evolve intellectually. As we acquire new knowledge, our wisdom deepens, and our competence expands accordingly.This enables us to engage with the world with greater insight, effectiveness, and ethical sensitivity.Conclusion.Knowledge, wisdom, and competence are essential virtues for navigating the complexities of the 21st century. By cultivating these virtues, we develop the intellectualcapacity to comprehend our world, to make informed decisions, and to act with competence and purpose. They are not merely cognitive tools but fundamental attributes that shape our character and empower us to lead fulfilling and meaningful lives.。

in the factual practice

in the factual practice

in the factual practiceIn the factual practice, it is essential to strike a balance between theory and practice. While theoretical knowledge provides a framework and guidance, practical experience allows us to apply and validate those theories in real-world situations. This integration of theory and practice is crucial for effective learning and professional development.Theory serves as a foundation, offering us concepts, principles, and models that help us understand the underlying mechanisms and relationships within a particular field. It provides a systematic and structured approach to analyzing and solving problems. By acquiring theoretical knowledge, we develop a deeper understanding of the subject matter and gain a broader perspective.However, theory alone is not sufficient. Factual practice brings theory to life, allowing us to bridge the gap between academia and the real world. Through practical experiences, such as internships, case studies, or hands-on projects, we can apply the theories we have learned and witness their practical implications. This firsthand exposure helps us develop practical skills, enhances our problem-solving abilities, and builds confidence in our professional capacities.In many fields, factual practice is essential for career success. Employers often value hands-on experience and the ability to apply theoretical knowledge to real-world challenges. Gaining practical experience through internships, co-op programs, or on-the-job training can give us a competitive edge in the job market and prepare us for the demands of the professional world.To summarize, in the factual practice, we should strive for a synergy between theory and practice. By marrying the two, we can deepen our understanding, enhance our skills, and better prepare ourselves for the challenges and opportunities that await us in our chosen fields.。

红宝书必考词(纯单词版)

红宝书必考词(纯单词版)

unit 1perform optional rate sensible tolerate choose performance organ ratio sensitive accumulate board period organic rational separate accuracy boast periodical organism reach sequence accurate bonus perish organiz(s)ation react serial accuse boom perpetual organiz(s)e realistic series achieve boost perplex enhance reality serious acknowledge verbal perspective enlarge realiz(s)e toast cheer verdict pessimistic enlighten select together chemical verify perform optional rate sensible tolerate choose optimum rare sense tolerance chip version option rarely sensation tolerant choice vesselunit 2acclaim charge dependent feed grant immigrant accommodate charm deposit feedback heap immune accommodation(s) c hase depress feeling heal likely accompany demand emerge fertile health likelihood accomplish democracy emergency goal healthy likewise account democratic eminent goods hesitate self accountant demonstrate emotion govern highlight selfishbias denote fear government highlandbid denial fearful governor highlybill deny feature gradual immediatebillion department federal graduate immensebirth depend federation grand immerseunit 3meditate flexible implication limitation pierce severe meditation fling implicit limited reason shape medium flourish imply origin reasonable share deprive grow import original recent sharp derive grown-up importance originate serve shelter describe growth important petition servant sophisticated description hinder impose phase service sovereign deserve hint impress phenomenon set sow design hitherto impression philosopher setback toll designate impact impressive philosophy setting tone desirable impair improve phrase settle topic desire impart impulse physical settlementflaw implement limit physician severalunit 4choke action fold ground list signature chop activate folk group literally signal circumstance active follow guarantee literary significance cite activity following guard literature significant claim actual force include memo signify clear acute fore inclusive memorial similar border despise forecast income memory simple bore despite foresee incorporate mental simplicity born energetic forge increase mention simplify bother energy grim increasingly other simply acquire enforce grasp incredible otherwise slack acquisition engage grip incur outcomeact engagement gross link signunit 5addict adopt client format guilty soaradd adult cling formation recognition sociable addition brace close former recogniz(s)e socialadditional brain closet formidable recommend socialismaddress branch code formula recover society adequate brand detach formulate recovery sociology adjoin toss detail fortunate recruit solubleadjust total detain fortune sell solutionadministration touch personal guide send solveadmire tough personality guidance senioradmission vice personnel guideline smartadmit vicious form guild smelladapt click formal guilt soakunit 6shadow advocate collapse commercial develop pleadshade aesthetic colleague commission device plotsort affair collect commit devise policysoul affect collection committee ensure politesound affection collective commodity entail politicalsour affiliate collide common indeed politiciansource affirm column communicate independence politicsadvance afford combat communication independent polladvanced breach combine communism index ponderadvantage break command community mereadvice breakdown commend detect merelyadvise breed comment deteriorate plausibleadvisable coincide commerce determine pleaunit 7brisk alienate compete comply encounter specialbrief allocate competition compliment encourage specialistbrittle allow competitive differ end specializ(s)ebrowse alter competent difference endeavo(u)r specialty(-ity) aggravate alternate compile diffuse endorse species aggressive alternative complain emphasis indicate specific agitate comparable complaint emphasize indication specification agreeable comparative complement employ indicative specifyaid compare complete employee outrage speculateaim comparison complex employer outsetalarm compel complicate employment outsidealien compensate complicated enable outwardunit 8console distinct fund transmit primary liberalconsist distinction fundamental transplant prime liberateconsistent distinguish anguish transport primitive license/licenceconstant overlook annoy stride principal innocent constituent overseas annual strike principle innovation constitute fruitful monopoly striking psychiatry environment constitution frustrate monotonous string psychology enterprise constrain fulfil/fulfill mood structure liability entertain construct function transmission stun liable entertainment unit 9pose ambition concept episode militant spur position ambitious conception epoch military spypositive bubble concern indifferent mind stabilitypossess budget concise indignant redeem stablepossession build concrete indignation reduce staffdilute business conclude indispensable reduction stagedim compress conclusion individual referdiminish comprise confer mess referenceamateur compromise conference message spoilamaze conceive confess messenger sponsorambiguous concentrate epidemic method spreadunit 10remote contend divide moral subject associate remove contest dividend morality subjective association removal context division moreover submit amend remain continual document mostly subordinate among(st) remainder continue documentary prior subscribe amount remains continuous execute priority subsequent ample remedy contract executive privacy substance amuse remember contradict exemplify private substantial anchor remind contrary exert privilege substituterender contrast exhaust prove subtlecontemporary diverse exist provide treatcontempt diversion existence provided treatycontent divert exotic prudent trendunit 11stand statute apart condemn hoist native standard stay assassinate condense hold natural standpoint steady assault condition holder naturestart steer assemble conduct household overall startle stem assembly conductor however overcome starve step assert disable huddle overlap state stern component disappear narrative portion statement anonymous compose disappoint narrow possibility statesman answer composition discipline nasty possible statistics anticipate comprehend disclose nation potential statue anxiety comprehension d iscover national pourstatus anxious comprehensive discovery nationalityunit 12holy location presumably strategy architecture conservation honor/honour neglect presume strength area conservative honorable negligible prevent strengthen argue consider horizon prescribe previous strenuous argument considerable horizontal prescription prey transaction arise considerate ingenious presence reliable transfer arouse consume ingredient present reliance transform array consumption initial presently religion transient vital dispute initiate preserve religious translation vivid dissolve initiative preside rely visible void exchange local press straight vision volume excludevisual consequence exclusive locality pressure straightforward v isuallocate prestige strain architect consequentlyunit 13stick confront distribute inferior modify reflect stimulate confuse distort influence predecessor reflectionstir confusion distract influential predict reform stock congress evidence inform preface rejectstore connect evident information preferable rejoice storage connection/connex evil mock preference relate approach conscious evolution mode prejudice relation appropriate dismiss evolve model preliminary relationship approval disorder exaggerate moderate premier relative approve disperse examine modern premise relativityapt displace infer moderniz(s)ation premium relevant conform display inference modest preparationunit 14confine viewpoint appointment estimate necessary practice confirm violence apply ethic necessitate practiseconflict violent appreciate ethnic necessity practitionerconfidence virtual discriminate evaluate negative preach confident virtue discuss industrial negotiate precede confidential apparent disease industrializ(s)e outer precautiontrail appeal disgrace industry outlet precedenttrain appear escape inevitable outline precedingtraining appearance especially miserable outlook precioustrait appliance essay misery output precisetraitor applicable essence mislead poverty precision victim application essential mix power stressview appoint establish mixture practical stretchunit 15elaborate abstract captive cause decline sitelegant ban capture caution decrease siteelement bar career cautious deem situated elementary bare careful cease dedicate situation eliminate barely case celebrate deduce skeleton abolish bargain cast celebrity deduct skeptical absence beam casual ceremony fashion sketch absent become casualty certain fashionableabroad capable catch certainty favo(u)rabsolute capacity category certificate favo(u)rableabsorb capital cater certify favo(u)riteunit 16radiant journey largely make observation qualityradiate judge lateral theme observe qualitativeradical judgement latter theory obsession safeguardideal judicial law theoretical obsolete safetyideology jury magnitude therapy obtain savage identical justice magnify object obvious save identification justify magnificent objective pace saving identify key maintain objection panel scale identity knit maintenance obligation panorama scene journal label major oblige qualification scenery journalist lag majority obscure qualifyunit 17tow temporary ultimate union variable weigh toward(s) tempt underestimate unique variation weight take temptation undergo universal variety weird talent tend underlie universe various weld target tendency underlying unlike vary welfare taste tentative underline unlikely vast whirl technical term understand unusual wage whisper technician terminal understanding vague wander yield technique terminate undertake vain want youth technology testify uneasy valid way zigzag teenager trace unemployment valuable weak zone temper track unexpected value wear zoom temperature tradition unify vanish wearyunit 18abandon call decide efficient fall hamperabide calm decision efficiency fan handicapability campaign decisive effort fancy shieldable candidate decorate fabric fascinate shiftabnormal data economic fabricate gain shoulderbackground database economical face gamble show balance date economics factor gap shower base deal economy fade genebasement dealer educate fail generalbasic dazzle education failure generaliz(s)ebasis debate effect fair habitcalculate decade effective fairly habitatunit 19glamour harsh imitate manifest offset passive generate ignorance imitation manipulate offspring quick generation ignorant lead manner paragraph quit generator ignore leadership margin paralys(z)e quest generous ill leading marginal parallel questionnaire genius illness legal mass part quotegift illusion legislation massive partial spangenre illustrate legitimate massacre participant sparegiant illustration leisure occupation participate schedule gigantic image level occupy particle schemegive imagine lever occur particular science happen imaginary levy occurrence partly scientific harm imagination manage offend partner scientist harmony imaginative management offer passionunit 20embrace upgrade incident behavior defendant fightembed uphold incidentally belief define figure embody upset incline believe definite finance embryo up-to-date academic belong definition financialelite ventilate academy beneficial defy finding elsewhere venture accelerate benefit degree finitethirst widespread accept challenge delay firm thorough win acceptance chance deliberate firstthough wit access change delicate fitthought withdraw accessory channel deliver fitting thoughtful witness begin character delivery globalthreat inaugurate beginning characteris(z)e fiction globe threaten incentive behalf characteristic fieldupdate incidence behave defend fierceunit 21patent raise mean opinion seek urgent pattern rally meaning opportunity seem utiliz(s)epay random means opponent seemingly utter payment range meantime oppose thrift wonder peculiar rank meanwhile opposite thrill worshippeer master measure oppress thrive worthper masterpiece opening scope through worthwhile perceive mate opera score throughout worthy percentage material operate scorn tip writeperfect mathematical operation secure title writerrail mature operational security urbanunit 22project promote respective suck superb atmosphere profit prompt respond sue superficial council profitable proof response suffer superfluous counsel profound reservation responsibility suffice superior drama program/programme reserve responsible sufficient superiority dramatic progressive resist succeed suggest supervise exploit prohibit resistance success suggestion trigger explore prolong resistant successful suicide triumph intellectual prominent resort succession suit assure intelligence promise resource successive suitable assurance intelligent promising respect successor super astonish intelligibleunit 23rescue reporter contribute doom instinct process research reputation contribution double institute procession resent request controversial doubt institution proclaim refresh require controversy expand insurance produce refute requirement control expansion insure product region assess convention expect integral production regular assimilate converge expectation integrate productive regulate assist convey experience integrity productivity regulation assistance domain experiment probe profession replace assistant domestic expert procedure professional reply assume dominant expertise proceedreport assumption dominate expire proceedingunit 24curious extravagant puzzle roll survey swell curiosity extreme reverse root survival swing currency invisible review route survive switch current involve revise routine susceptible systemcut issue revive row suspend systematic(al) average item reward rule suspect logicavoid overturn rich ruler suspicion logicalawake overwhelm rise surname suspiciousaward purchase risk surpass sustainaware pursue rival surplus swarmawkward pursuit role surprise swearunit 25twist vulgar culprit introduction note revenue trivial vulnerable cultivate invest notion supplytry author culture investment public support tumble authority dubious investigate publication suppose turbulent auxiliary due mutual publicity suppress turn avail durable mysterious publish supplement turnover available duration mystery result supremetype critic duty myth resultanttypical critical dynamic noble resumevoluntary criticism extinct norm revealvolunteer criticiz(s)e extinguish normal revelationvote crucial introduce normaliz(s)ation revengeunit 26polish restore attribute expose intend interpret point restrain court exposure intention losepropel restraint courtesy express intense lossproper restrict cover expression intensity low property attach create extend intensive lower proportion attack creative extension interact nerve proposal attain credit extensive intercourse nervous propose attempt crisis extent interest nevertheless proposition attend drive human interiorprospect attention drug humanity internal prospective attitude export humble international。

逆命题和逆否命题 英语

逆命题和逆否命题 英语

逆命题和逆否命题英语Inverse Propositions and Inverse NegationsLogical reasoning is a fundamental aspect of human cognition and communication. One of the key concepts in this domain is the idea of propositions and their logical relationships. Propositions are declarative statements that can be evaluated as either true or false. The study of the logical connections between propositions is a crucial component of formal logic and critical thinking.Among the various types of logical relationships between propositions, the concepts of inverse propositions and inverse negations are particularly important. These concepts are closely related, yet distinct, and understanding their nuances is essential for effective logical reasoning and problem-solving.An inverse proposition is a statement that is the logical opposite of another proposition. In other words, if a proposition is true, its inverse proposition is false, and vice versa. For example, the proposition "All cats are mammals" has the inverse proposition"Some cats are not mammals." The inverse proposition negates the original proposition by introducing a qualifier or condition that contradicts the original statement.Inverse negations, on the other hand, are the logical opposites of the negation of a proposition. In other words, the inverse negation of a proposition is the statement that is the logical opposite of the negation of that proposition. For instance, the proposition "All cats are mammals" has the negation "Not all cats are mammals." The inverse negation of this negation would be "Some cats are mammals."It is important to note that the inverse of a proposition and the inverse negation of a proposition are not the same thing. The inverse of a proposition is a new proposition that directly contradicts the original proposition, while the inverse negation of a proposition is the logical opposite of the negation of the original proposition.The distinction between inverse propositions and inverse negations becomes particularly relevant in the context of formal logic and mathematical reasoning. In these domains, the precise formulation and manipulation of logical statements are crucial for deriving valid conclusions and solving complex problems.For example, in the field of mathematical logic, the concept ofinverse propositions and inverse negations is essential for understanding the behavior of logical connectives, such as the AND, OR, and NOT operators. Mastering these logical relationships can help individuals navigate the intricacies of formal proofs, truth tables, and logical inference rules.Moreover, the understanding of inverse propositions and inverse negations has practical applications in various fields, including computer science, philosophy, and even everyday decision-making. For instance, in computer programming, the ability to recognize and manipulate logical statements is crucial for developing efficient algorithms and software solutions.In the realm of philosophy, the study of inverse propositions and inverse negations is closely linked to the analysis of logical fallacies and the development of sound argumentation strategies. Philosophers often use these concepts to critically examine the logical validity of arguments and to identify potential flaws or inconsistencies.In everyday life, the awareness of inverse propositions and inverse negations can also be beneficial. For instance, when making decisions or evaluating information, being able to recognize the logical relationships between statements can help individuals avoid cognitive biases, make more informed choices, and engage in moreeffective problem-solving.In conclusion, the concepts of inverse propositions and inverse negations are essential components of logical reasoning and critical thinking. By understanding the nuances of these concepts and their applications, individuals can enhance their ability to communicate effectively, analyze information more precisely, and make more informed decisions. As we navigate the complexities of the modern world, the mastery of these logical principles can serve as a powerful tool for navigating the intricacies of human cognition and communication.。

2021年6月大学英语六级考试真题及答案解析 (第2套)

2021年6月大学英语六级考试真题及答案解析  (第2套)

2021年6月大学英语六级考试真题(第2套)Part I Writing (30 minutes)Directions: For this part, you are allowed 30 minutes to write an essay based on the chart below.You should start your essay with a brief description of the chart and comment onChina’s achievements in higher education. You should write at least 150 words but nomore than 200 words.【参考范文】As is clearly illustrated in the bar chart, the gross enrollment ratio in higher education in China has increased dramatically from 3.4% in 1990 to 51.6% in 2019. Apparently, the figures reveal that great achievements have been made in China’s higher education during the past three decades.I can think of no better reasons than the following ones to explain this social phenomenon. First and foremost, the government has implemented a package of policies and raised plenty of funds to make higher education more accessible to students, including those from families in poverty. In addition, the progress is bound up with technological advancement and economic growth. For instance, online courses have enabled students nationwide to enjoy instructive lectures given by prestigious professors. At the same time, both citizens and the whole society are the beneficiaries of the accomplishments in higher education. To be specific, receiving higher education can improve individuals’ competitive edge and contribute to the sustainable development of the whole society.In conclusion, this chart is a perfect index of the remarkable achievements made in China’s higher education. Meanwhile, it is reasonable for us to believe that such a tendency will continue in the forthcoming years and definitely contribute to our country’s prosperity in the long run.【解析】本篇属于图表作文。

三段论学术英语作文

三段论学术英语作文

三段论学术英语作文Paragraph 1:Studying academic English is essential for success in higher education. It allows students to communicate their ideas effectively, understand complex texts, and engage in critical thinking. Without a strong foundation in academic English, students may struggle to excel in their studies and face barriers to accessing higher education opportunities.Paragraph 2:In addition to its practical benefits, academic English also plays a crucial role in shaping students' intellectual development. Through the process of learning academic English, students are exposed to diverse perspectives, challenging ideas, and new ways of thinking. This exposure can broaden their horizons, enhance their creativity, and foster a deeper understanding of the world around them.Paragraph 3:Furthermore, mastering academic English can empower students to participate in global academic communities and contribute to the advancement of knowledge in their fields. By being able to effectively communicate and collaborate with scholars from around the world, students can enrich their own learning experiences and make meaningful contributions to their respective disciplines. This interconnectedness is vital for the progress of academic research and the exchange of ideas on a global scale.。

人文学科比科学更重要的英语作文

人文学科比科学更重要的英语作文

人文学科比科学更重要的英语作文The Relative Importance of Humanities over Science.In the ongoing debate about the relative merits of humanities and science, each side often claims supremacyfor its respective field. However, the argument that humanities are more significant than science is a complex one that deserves careful consideration. This essay aims to explore this assertion by examining the uniquecontributions of humanities, the limitations of science, and the need for a balanced approach in education and society.The Unique Contributions of Humanities.Humanities, encompassing fields like literature, history, philosophy, and art, provide a deep understanding of human thought, culture, and experience. They offer insights into the meaning and purpose of life, the complexities of human nature, and the diverse ways peoplehave understood and responded to the world.Firstly, humanities help us understand our past and present, informing us about the historical context and cultural diversity that shape our world. By studying history, we gain a sense of continuity and discontinuity, understanding how past events have influenced the present and how human society has evolved over time. This understanding is crucial for making informed decisions in the present and preparing for the future.Secondly, humanities foster critical thinking and analytical skills. They encourage us to question assumptions, challenge authority, and think outside the box. This kind of thinking is essential for innovation and problem-solving, as it helps us identify patterns, connections, and solutions that may not be obvious at first glance.Moreover, humanities contribute to our emotional and spiritual well-being. They provide a space for reflection and introspection, helping us understand our own thoughtsand feelings. By exploring themes like love, loss, and meaning, humanities help us navigate the emotional complexities of life and find solace and purpose in our existence.The Limitations of Science.While science has made remarkable progress in understanding the natural world and addressing practical problems, it has its limitations. Firstly, science is a method of investigation and knowledge acquisition, not a comprehensive framework for understanding human experience. It excels at explaining natural phenomena but falls short when dealing with questions of meaning, value, and morality.Secondly, science is often reductionist, seeking to explain complex phenomena through simplified models and theories. This approach can be effective in certaincontexts but can also lead to oversimplification and a neglect of the rich, nuanced realities of human life.Additionally, the application of science can haveunintended consequences. Technological advancements have brought remarkable benefits but also created new problems, such as environmental degradation, social inequality, and ethical dilemmas. These issues often require a humanistic perspective to address effectively.The Need for a Balanced Approach.In light of these considerations, it becomes clear that a balanced approach to education and society is crucial. While science is essential for understanding the natural world and addressing practical issues, humanities are equally important for fostering critical thinking, emotional well-being, and cultural understanding.Education systems should prioritize a balanced curriculum that includes both science and humanities. This approach would cultivate a generation of well-rounded individuals who possess both the technical skills and the humanistic values necessary for addressing the complex challenges of the 21st century.Moreover, society should encourage a culture of dialogue and mutual respect between science and humanities. By bridging the gap between these two fields, we can harness their complementary strengths to create a more informed, empathetic, and sustainable world.In conclusion, while science plays a crucial role in our lives, humanities hold equal importance. They provide a unique understanding of human thought, culture, and experience, fostering critical thinking, emotional well-being, and cultural understanding. By embracing a balanced approach to education and society, we can harness the power of both science and humanities to create a more enlightened and compassionate world.。

中国二十年英语作文

中国二十年英语作文

Over the past two decades, the English language has become increasingly important in China, both as a subject in the education system and as a tool for communication in the globalized world. Heres a reflection on the evolution of English in China over the past 20 years.The Early 2000s: The Dawn of English PopularityIn the early 2000s, English was primarily taught as a compulsory subject in schools, with a focus on grammar and vocabulary. The goal was to prepare students for standardized tests, such as the Gaokao, which determined university admissions. The English taught was often referred to as exam English, with limited practical use in reallife communication.The Mid2000s: The Rise of English Training CentersAs Chinas economy boomed and international business grew, the demand for English proficiency increased. Private English training centers, such as New Oriental and EF, emerged, offering conversational English and business English courses. These centers helped to bridge the gap between academic English and practical English skills.The Late 2000s: English in the WorkplaceBy the late 2000s, English had become a valuable asset in the job market. Companies, especially multinational corporations, sought employees with strong English skills. This period saw a surge in the number of English language learners, with many adults returning to education to improve their language proficiency.The 2010s: The Integration of English in Technology and MediaWith the rise of the internet and social media, English became more accessible to the general public. Platforms like WeChat and Weibo integrated English content, and Englishlanguage movies and TV shows became popular. This exposure to English in daily life helped to improve the overall language skills of the population.The Late 2010s: The Emphasis on English for Global CompetenceRecognizing the importance of English in international relations and global competitiveness, the Chinese government and educational institutions began to emphasize the development of English language skills. Initiatives such as the Double First Class university plan aimed to cultivate students with international视野 vision andlanguage abilities.The 2020s: English as a Tool for Cultural ExchangeIn the 2020s, English in China has evolved from a mere academic subject to a tool for cultural exchange and understanding. With the Belt and Road Initiative and Chinas increasing role on the world stage, English is seen as a bridge for cultural and economic exchanges.Challenges and OpportunitiesDespite the progress, challenges remain. The focus on rote learning and exam preparation has led to a 哑巴英语 mute English phenomenon, where students can pass exams but struggle with spoken English. There is also a need to address the disparity in English education between urban and rural areas.The Future of English in ChinaLooking forward, the integration of technology in English education, such as AIpowered language learning tools, is expected to play a significant role in improving language acquisition. Additionally, there is a growing emphasis on teaching English as a means of fostering global citizenship and cultural appreciation.In conclusion, the journey of English in China over the past 20 years has been one of growth and adaptation. As China continues to engage with the world, the role of English as a language of communication, business, and cultural exchange will only become more pivotal.。

推理英文作文总结

推理英文作文总结

推理英文作文总结英文:Inference is the process of drawing conclusions or making predictions based on evidence and reasoning. It is an important skill in both everyday life and academic pursuits. In order to make accurate inferences, one must be able to analyze and interpret information, identify patterns and relationships, and draw logical conclusions.One example of inference is when you see someone carrying an umbrella on a sunny day, you can infer that they are expecting rain. Another example is when you read a news article about a politician resigning, you can infer that there may have been some scandal or controversy involved.Inferences can be made in various contexts, such as in literature, science, and history. In literature, readers can make inferences about characters' motivations andfeelings based on their actions and dialogue. In science, researchers can make inferences about the behavior of cells or organisms based on their observations and experiments. In history, historians can make inferences about past events based on primary sources and other evidence.However, it is important to note that inferences are not always accurate and can be influenced by biases and assumptions. Therefore, it is important to approach inference with a critical and open mind, and to consider alternative explanations and perspectives.中文:推理是基于证据和推理来得出结论或作出预测的过程。

学术英语对比与比较作文

学术英语对比与比较作文

学术英语对比与比较作文Title: A Comparative Analysis of Traditional and Modern Educational Methods。

Introduction。

Education, as a pivotal force in societal development and personal growth, has continually evolved over centuries. Traditional educational methods, characterized by rote memorization and teacher-centered classrooms, have been predominant for millennia. In contrast, modern educational methods, which emphasize critical thinking and student-centered learning, have gained prominence in recent decades. This essay aims to provide a comprehensive comparison and analysis of these two educational paradigms, considering their effectiveness in fostering intellectual development and preparing students for the challenges of the contemporary world.Thesis Statement。

While traditional educational methods have established the foundational framework of systematic learning, modern educational strategies, with their focus on fostering critical thinking and adaptability, are more apt in preparing students for the dynamic demands of the 21st century.Body Paragraphs。

高一英语学术写作技巧单选题50题

高一英语学术写作技巧单选题50题

高一英语学术写作技巧单选题50题1. In academic writing, it is important to use precise _____.A. wordsB. phrasesC. sentencesD. paragraphs答案:A。

在学术写作中,使用精确的词汇很重要。

选项B“phrases”是短语;选项C“sentences”是句子;选项D“paragraphs”是段落。

相比之下,精确性更多体现在词汇上。

2. Academic papers often require _____ language.A. formalB. informalC. casualD. slang答案:A。

学术论文通常需要正式的语言。

选项B“informal”是非正式的;选项C“casual”是随意的;选项D“slang”是俚语,都不适合学术写作。

3. When writing an academic essay, you should avoid using _____ expressions.A. vividB. colorfulC. vagueD. clear答案:C。

写学术论文时,应避免使用模糊的表达。

选项A“vivid”是生动的;选项B“colorful”是丰富多彩的;选项D“clear”是清晰的,都不是应该避免的。

4. In academic writing, _____ words can make your argument more persuasive.A. weakB. strongC. simpleD. common答案:B。

在学术写作中,有力的词汇能使你的论点更具说服力。

选项A“weak”是软弱的;选项C“simple”是简单的;选项D“common”是常见的,都不如有力的词汇效果好。

5. Academic reports should be written in _____ style.A. narrativeB. descriptiveC. argumentativeD. poetic答案:C。

红宝书考研英语单词(必考词+基础词)串记

红宝书考研英语单词(必考词+基础词)串记

红宝书考研英语单词(必考词+基础词)串记必考词(unit1—unit26)Unit 11.水彩画上被水冲淡了的(dilute)笔触是很模糊的(dim),这大大削弱(diminish)了作品的表现力。

2.自信的(positive)人都会认为拥有(possess)财产(possession)和地位(position)不值得炫耀(pose)。

3.我很惊异(amaze),对专业认识含糊不清的(ambiguous)外行(amateur),竟然是有抱负(ambition)、有雄心的(ambitious)人。

4.建设(build)店铺(business)的预算(budget)泡(bubble)汤了。

5.我认为(conceive)这主意(conception)不错,在涉及(concern)国家安全的问题上,应该放弃妥协、折中(compromise)的观念(concept),集中(concentrate)力量镇压对社会构成(comprise)威胁的恐怖分子。

6.在下结论(conclude)前,先做出简洁的(concise)、具体的(concrete)推论(conclusion)。

7.我承认(confess),我参加了商谈(confer)如何压缩(compress)经费开支的会议(conference)8.这一集(episode)的剧情展现了流行病(epidemic)爆发的时代(epoch)。

9.我和这些愤怒的(indignant)人一样愤概(indignation),因为那个表情冷淡的(indifferent)工头克扣了每个人(individual)必不可少的(indispensable)工钱。

10.使者(messenger)用秘密方法(method)送来消息(message)说,制造混乱(mess)的都是军队的(military)、头脑(mind)简单的、好战的(militant)人。

11.参考(reference)消息谈到(refer),政府应该弥补(redeem)、缩小(reduce)差距、减少(reduction)损失。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A Practical and Precise Inference and Specializerfor Array Bound Checks EliminationCorneliu Popeea Department of Computer Science National University of Singapore corneliu@.sgDana N.XuComputer LaboratoryUniversity of Cambridgenx200@Wei-Ngan ChinDepartment of Computer ScienceNational University of Singaporechinwn@.sgAbstractArrays are intensively used in many software programs,including those in the popular graphics and game programming domains.Al-though the problem of eliminating redundant array bound checks has been studied for a long time,there are few works that attempt to be both aggressively precise and practical.We propose an inference mechanism that achieves both aims by combining a forward rela-tional analysis with a backward precondition derivation.Our infer-ence algorithm works for a core imperative language with assign-ments,and analyses each method once through a summary-based approach.Our inference is precise as it is both path and context sen-sitive.Through a novel technique that can strengthen preconditions, we can selectively reduce the sizes of formulae to support a prac-tical inference algorithm.Moreover,we subject each inferred pro-gram to aflexivariant specialization that can achieve good tradeoff between elimination of array checks and code explosion concerns. We have proven the soundness of our approach and have also im-plemented a prototype inference and specialization system.Initial experiments suggest that such a desired system is viable.1.IntroductionArray bound check optimization has been extensively investi-gated over the last three decades[40,11,19],with renewed inter-ests as recently as[3,45,14,41,30].While the successful elimina-tion of bound checks can bring about measurable efficiency gain, the importance of check optimization goes beyond this direct gain. In safety-oriented languages,such as Java,all bound violation must be faithfully reported under precise exception handling mechanism. Thus,check optimization is even more important for run-time effi-ciency under such constraints.For example,the code motion tech-nique is severely hindered by potential array bound violations.Most array optimization techniques(e.g.[40,11,43])focus on the elimination of totally redundant checks.To achieve this,whole program analysis is carried out to propagate analysis information (e.g.availability)to each program point.Even for techniques that handle partially redundant checks,such as partial redundancy elim-ination(PRE)[4],the focus has been on either moving these checks or restructuring the controlflows,but without exploiting path-[Copyright notice will appear here once’preprint’option is removed.]sensitivity or interprocedural relational analysis.These features are important for supporting precise analyses.In this paper,we propose a practical approach towards array checks optimization that is both precise and efficient.Our approach is based on the derivation of a suitable precondition for each array check across the method boundary,followed by program special-ization to eliminate array checks found to be redundant.We for-malise our technique as a type inference system that is able to pro-cess each method independently,and yet exploits the different con-texts of its multiple callers.Successful elimination of array checks depends on how accurately we are able to infer the states of the program variables.To achieve this,we employ a form of depen-dent type[23,7]that can capture symbolic program states using a relational analysis.For practical reasons,we currently make use of an existing Presburger arithmetic solver[35]that is quite effi-cient.Nevertheless,our proposal allows this solver to be replaced by a more appropriate one,if desired.The key contributions of this paper include:•Forward with Backward Combination:We propose a novel combination of forward plus backward analysis that can be practical and precise.This combination performs the more ex-pensive forwardfix-point analysis only once per method,but proceeds to derive individual safety precondition for each check across procedural boundary.We provide thefirst formalization and implementation of this combination technique for an im-perative language.(Sec2,4and5)•Smaller Preconditions:To obtain a practical analysis,we de-vise a new technique to make formulae smaller by suitable strengthening of preconditions(Sec6).This approach trades (some)precision for speed and has been vindicated by exper-iments with our prototype inference system.•Integration with Specializer:We adopt a summary-based ap-proach that gathers preconditions,postcondition and unsafe checks for each method.While summary-based techniques have already been proposed for a number of program analyses[5,9, 44],their integration with program specializer is hardly investi-gated.We show how aflexivariant specializer could be used to insert runtime test for each array check that has been classified as unsafe(Sec7).•Indirection Arrays:Our approach can analyse the bounds of elements inside an array.This is important for eliminating array checks for a class of programs where indexes are kept inside indirection arrays(Sec8).Past techniques on array bound checks elimination have largely ignored this aspect.•Prototype:To confirm the viability of our approach,we have built a prototype inference and specializer system(Sec9).12007/12/22.OverviewA key feature of our approach is the three-way classification of checks.Given a method definition with a set of parameters V and a set of checks C,our approach will classify each check(c∈C)that occurs at a location with a symbolic program state s,as follows:•c is safe if it is redundant under the program state s at the location of this check.This holds if the following is valid:(s⇒c)•c is partially-safe if it may become redundant under an extra condition.This holds if there exists a satisfiable precondition pre(expressed in terms of variables from only V)such that:(pre∧s⇒c)(1) The precondition can be derived using pre=(∀L·¬s∨c), where L is the set of local variables,denoted by vars(s,c)−V.The function vars returns the free variables used in s and c.•c is unsafe,if false is the only precondition that can be found to satisfy(1).In this case,the analysis will(conservatively) conclude that the check c may fail at runtime.Partially-safe checks are special in that they can be propagated across methods from callees to callers.This mechanism can fur-ther exploit the program states at callers’sites for the elimination of checks.While the above classification is general and may be ap-plicable to any kind of checks,in this paper we shall be focusing exclusively on array-related checks.Let us highlight the above check classification using the foo example at the top of Figure1.In this example,randInt returns a random integer,while abs converts each number into its posi-tive counterpart.The set of parameters V at method boundary is {a,j,n}where a is an array with indices from0to len(a)−1.The foo method contains two array accesses at locations 1and 2.The symbolic program states(sps)at these sites may be affected by the type invariants1,conditionals,imperative updates and by prior puting the states for the method entry 0and the loca-tions 1and 2,we get:sps( 0)=len(a)>0sps( 1)=sps( 0)∧i=j+1∧(0<i<=n)sps( 2)=sps( 0)∧i=j+1∧m>=0Based on the earlier classification of checks,we can establish that the low-bound checks(at 1and 2)are safe,since:sps( 1)⇒(i>=0)and sps( 2)⇒(m>=0)For the high-bound checks(denoted by 1.H and 2.H),we derive (the weakest)preconditions through universal quantification of the local variables,as follows:pre( 1.H)=∀i,m·(¬sps( 1)∨i<len(a))=∀i,m·(¬(len(a)>0∧i=j+1∧0<i<=n)∨i<len(a))=len(a)<=0∨(j<=len(a)-2∧1<=len(a))∨(1<=len(a)<=j+1∧n<=j)pre( 2.H)=∀i,m·(¬sps( 2)∨m<len(a))=∀i,m·(¬(len(a)>0∧i=j+1∧m>=0)∨m<len(a))=len(a)<=0These derived preconditions may be the weakest,but they do not take into account the type invariant and thus are larger than needed. The type invariant len(a)>0can be used to simplify pre( 2.H) to false and pre( 1.H)to(j<=len(a)-2∨n<=j∧j+1>=len(a)). The last formula contains a disjunct(j<=len(a)-2)for satisfying the check,and a second disjunct(n<=j∧j+1>=len(a))for avoiding 1An example of a type invariant is that the size of an array a,denoted by len(a),is positive(a design decision we took for our language).the check(when the conditional test is unsatisfiable).In general, the simplification may drop disjuncts that violate the type invariant(len(a)<=0)or remove conditions already present in the type in-variant(len(a)>0).We perform each simplification of a formulaφ1under type invariantφ2by the operation(gistφ1givenφ2).This gist operation yields a simplified termφ3such thatφ3∧φ2≡φ1∧φ2 and was introduced in[36].While a goal of our analysis is to obtain weaker preconditions for precision,this might impact the scalability of our analysis.To obtain smaller(but stronger)preconditions,we apply a similar sim-plification based on the gist operation,but more aggressive.For ex-ample,simplifying pre( 1.H)with respect to the program state of the check∃i·sps( 1)yields a smaller precondition(j<=len(a)-2) without the disjunct that allows avoiding the check.Our proposal trades off precision for performance and is crucial for overcoming the intractability of solving large Presburger arithmetic formulae.Float foo(Float[]a,Int j,Int n)0:{Float v=0.0;Int i=j+1;if(0<i<=n)then v=( 1:a[i])else();Int m=abs(randInt());v+( 2:a[m])}InferenceFloat foo(Float[Int s]a,Int j j,Int n n)where(j≤s−2)∨(n≤j∧j+1≥s);{ 1.H:(j≤s−2)∨(n≤j∧j+1≥s)};{ 2.H}{···}SpecializationFloat foo(Float[Int s]a,Int j j,Int n n)where(j≤s−2)∨(n≤j∧j+1≥s);(j≤s−2)∨(n≤j∧j+1≥s) 0:{Float v=0.0;Int i=j+1;if(0<i<=n)then v=( 1:a[i])else();Int m=abs(randInt());v+(if(m<len(a))then 2:a[m]else error)}Figure1.Inference and Specialization:An ExampleOne feature of our optimization is its formulation in two stages: type inference followed by specialization.The type inference stage processes methods in reverse topological order of the call graph.It computes post-states at each program point,classifies checks and propagates preconditions as new checks at each method boundary. It also marks all unsafe checks.These information are collected for each method declaration:a postcondition∆,a set of preconditions Φ,a set of unsafe checksΥ,and annotated typesτ0,..,τk.τ0m(τ1v1,...,τk v k)where∆;Φ;Υ{body}For example,after type inference on the foo method,we would ob-tain the method displayed in the middle of the Figure1,where the unchanged method body is replaced by{...}.During the actual inference,we use size variables instead of program variables.For example,size variables s,j and n denote len(a),j and n respec-tively.The inference result is then used by the specialization stage to insert runtime tests to guard unsafe checks and to derive target programs that are well-typed.Well-typed specialised methods are decorated with a postcondition∆and a preconditionφpre:τ0m(τ1v1,...,τk v k)where∆;φpre{body}The preconditionφpre is a conjunction of checks fromΦthat are guaranteed safe at each call site.For example,if pre( 1.H)22007/12/2P::=meth∗meth::=t mn(([ref]t v)∗){e}e::=c|v|if v then e1else e2|v=e|t v=e1;e2|mn(v∗)t::=t|t[Int,...,Int]t::=Void|Int|Bool|FloatFigure2.Source I MP languageis found to be safe when analyzing the call sites of method foo, we can generate the specialised(and well-typed)method at the bottom of Figure1.Note that∆≡φpre holds for this particular example,but in general the two formulae may be different.This is so as postcondition is computed using over-approximation,while precondition is computed using under-approximation.Moreover, postcondition may capture its method’s result(s),but not so for precondition.Well-typed programs are safe in that no array bound errors are ever encountered by any array access during program execution. This safety property is guaranteed by either the program context (for array checks 1.L and 2.L),or the precondition of each method (for array check 1.H)or the inserted runtime test(for 2.H).In the rest of this paper,we shall formalise a type inference system to derive well-typed programs for a core imperative language.3.An Imperative LanguageTo formalise our type inference wefirst introduce a source language I MP(see Figure2),where types,denoted by t and t,do not have annotations.I MP has support for assignments,conditionals,local declarations,method calls,and multidimensional arrays.Typical language constructs,such as multi-declaration block,sequence, calls with complex arguments can be automatically translated to constructs in I MP.In addition,loops can be viewed as syntactic abbreviations for tail-recursive methods,and are supported by our analysis with the help of pass-by-reference parameters.3.1Target LanguageThe target of our inference system is a corresponding imperative language with dependent types where types may be annotated with size variables.For example,a boolean value can be denoted by Bool b where b=0represents false and b=1represents true; an integer value can be denoted by Int n with n to denote its integer value,while Float[Int s]can denote an array offloats with s elements.Input-output relation between size variables from method parameters and result is captured after the where keyword: Int r randInt()where true;...Int r abs(Int a v)where(a<0∧r=−a∨a≥0∧r=a)∧(a =a);...Int r add(Int a x,Int b y)where(r=a+b)∧no X{a,b};...Bool r lessThan(Int a x,Int b y)where(a<b∧r=1∨a≥b∧r=0)∧no X{a,b};...Note that true for randInt signifies that r is unbounded.Also, non-trivial size relations can be supported through disjunctive formulae.The prime notation is used to denote the state of size variables at the end of the method.Parameter values that are unchanged across method calls are captured using the notation no X{a,b}≡(a =a∧b =b)as a shorthand for“no change in state”. This no-change in state occurs mostly for parameters that are passed by value.Pass-by-reference parameters are also supported in our language using the ref keyword.P::=meth∗meth::=τmn(([ref]τv)∗)where∆;Φ;Υ{e}prim::=τmn((τv)∗)where∆;Φ;Ce::=···| :mn(v∗)τ,ˆτ::=τ|τ[Int s1,...,Int s k]τ∈PrimAnnType::=Void|Int s|Bool s|FloatΦ::={(l+:φ)∗}(Labelled Preconditions)Υ::={(l+)∗}(Unsafe Checks)C::={(l+:e)∗}(Labelled Runtime Checks)∈Label+::= | 1.···. n(Label Sequences)φ,∆::=a1=a2|a1≤a2|φ1∧φ2|φ1∨φ2|q s∗a::=c|s|s |c∗a|a1+a2where s denotes a size variableQ::={(q s∗ =φ)∗}Figure3.Inferred I MP I LanguageFigure3summarises a language with dependent type,called I MP I,which is designed to be the target of our inference.Each method declaration captures three information:an input-output re-lation(postcondition)∆,a setΦthat contains a precondition for each partially-safe check,and a set of label sequencesΥ,each se-quence representing the location of an unsafe check.The labels fromΦandΥidentify call sites from the body of the current method.This is enabled in our language since every method call is uniquely labelled.The suffix notation s∗denotes a list of zero or more distinct syntactic terms separated by appropriate separators, while s+represents a list of one or more distinct syntactic terms.For a non-recursive method mn,the triple(∆,Φ,Υ)can be de-rived via inference of the method body(since the triple for each method called in mn are already inferred.)To support recursive methods,we make use of constraint abstractions(adopted from [20]).For each mutual-recursive method,wefirst derive a(recur-sive)constraint abstraction Q of the form q n∗ =φ.These abstrac-tions are used byfix-point computation to provide a sound and pre-cise analysis for recursive methods.An adaptation of thefix-point approximation from[11]is detailed via examples in Section5.Be-sides constraint abstractions,our language of constraints contains conjunctions and disjunctions of linear(in)equalities.We make use of a Presburger solver[35](with support for universal and existen-tial quantifications)to eliminate local variables or simplify formu-lae.Primitive methods(denoted by prim in Figure3)lack a method body and are instead annotated with a postcondition and a set of preconditions to support type inference.A primitive is also anno-tated with a set of runtime tests C for use by the specializer:if some precondition is not satisfied at a primitive call site,its correspond-ing runtime test is to be inserted.Array operations are implemented as calls to primitive methods.For example,1-dimensional array op-erations with element typeτare shown below:32007/12/2τ[Int r]newArr(Int s s,τv)where(0<s∧r=s∧s =s);{S:s>0};{S:s>0}Int r len(τ[Int s]a)where(r=s∧s =s);{};{}τsub(τ[Int s]a,Int i i)where(0≤i<s∧no X{i,s});{L:0≤i,H:i<s};{L:0≤i,H:i<len(a)}Void assign(τ[Int s]a,Int i i,τv)where(0≤i<s∧no X{i,s});{L:0≤i,H:i<s};{L:0≤i,H:i<len(a)}The primitive newArr returns a new array with all elements initial-ized to the value v,len returns the length of the array,sub returnsan array element from the specified index i,while assign updatesthe specified array element with the value v.For example,an arrayaccess a[i]is(automatically)converted to sub(a,i),while an arrayupdate a[i]=v is converted to the primitive call assign(a,i,v). 4.Type Inference RulesOur inference system analyses and propagates state information soas to determine if an array check is safe and if a precondition is tobe propagated to the method boundary.The type judgment for theentire program is P m I P Y P I.It derives a program P I∈I MP Ifrom a program P∈I MP and a set of primitive declarations P m.The type judgement for expressions is specified as follows:V;Γ;∆ e;e1::τ,∆1,Φ,ΥHere V is a set of size variables(called boundary variables)avail-able at the boundary of the method in which the expression e re-sides.Γis a type environment mapping program variables to theirannotated types.The above judgement states that e will be trans-formed into e1during the inference:the target expression e1willcontain types annotated with fresh size-variables and labels thatuniquely identify method calls.Both e and e1have the same un-derlying type.Furthermore,successful evaluation of e(and e1)re-quires the validity of preconditionsΦ,and the inclusion of the run-time testsΥ.Successful evaluation of e also changes the programstate from∆to∆1.For convenience,our inference rules ensure that the size vari-ables occurring in the annotated typeτare unique;ie.,FSV(τ)∩FSV(Γ)=∅where F SV returns the set of free size variables found.Some of the interesting inference rules are specified inFigure4.In these rules,we use s=fresh()and =fresh()togenerate a new size variable and a new label,respectively.Forannotated types,ˆτ=fresh(t)(orˆτ=fresh(τ))returns a newtypeˆτwith the same underlying type as t(orτ),but anno-tated with fresh size variables.The function equate(τ1,τ2)gen-erates equality constraints for the corresponding size variablesof its two arguments,assuming both arguments share the same underlying type.For example,we have equate(Int n,Int m )= (n=m ).The function rename(τ1,τ2)returns a mapping instead, e.g.rename(Int n,Int m )=(n→m ).A conditional constraint is expressed asζ1¡b£ζ2=d f if b thenζ1elseζ2.For the rest of this section,we highlight the important aspects of our inference system via examples.4.1Inferring Imperative UpdateConsider an assignment expression v=v+u,with a pre-state for-mula∆=(m =2+n ∧n =5)andΓ={u::Int m,v::Int n,...}.This example shows how the prime notation is used to capture thelatest values of size variables at each symbolic state[22].It also shows how updates are effected by a sequential composition op-erator,◦X,where X denotes a set of size variables that are being updated.The following depicts the inference step for assignment:Γ(v)=Int nΓ(u)=Int mV;Γ;∆ v+u Y v+u::Int r,∆∧r=n +m ,∅,∅∆2=assign(∆∧r=n +m ,Int n,Int r)V;Γ;∆ v=v+u Y v=v+u::void,∆2,∅,∅The function assign performs the necessary sequential composi-tion:assign(∆,τ,τ1)=def let X=FSV(τ);Y=FSV(τ1)in∃Y.(∆◦X equate(prime(τ),τ1)) For our example,the correct post-state of the assignment can be computed as follows:∆2=∃r·((∆∧r=n +m )◦{n}(n =r))=∃r·((m =2+n ∧n =5∧r=n +m )◦{n}(n =r))=∃r·(∃n0·m =2+n0∧n0=5∧r=n0+m ∧n =r)=(m =7∧n =m +5)More formally,sequential composition is defined as:φ1◦Xφ2=def∃R·ρ1(φ1)∧ρ2(φ2)where X={s1,...,s n}are size variables being updatedR={r1,...,r n}are fresh size variablesρ1={si→r i}ni=1ρ2={s i→r i}ni=14.2Path Sensitive InferenceThe[If]rule attempts to track the size constraint of condition-als with path sensitivity.The two conditional branches are distin-guished by assuming the conditional-test result to be either1or 0,representing the true or the false value,respectively.Given e=if u then v else5andΓ={v::Int n,u::Bool b},the rule de-rives∆3combining via disjunction the inference results of both branches.We replace both r1and r2(the resulting sizes from both branches)by thefinal resulting size r.∆1=∆∧(b =1)∆2=∆∧(b =0)V;Γ;∆1 v Y v::Int r1,∆1∧(r1=n ),∅,∅V;Γ;∆2 5Y5::Int r2,∆2∧(r2=5),∅,∅∆3=∆∧((b =1∧r=n )∨(b =0∧r=5))V;Γ;∆ e Y e::Int r,∆3,∅,∅4.3Precondition for Safety of CheckPrecondition derivation is essential for the detection of safe checks across method boundaries.A check is proved safe when a call con-text implies the call’s preconditions.Otherwise,the preconditions associated with a call are replaced by preconditions associated with its caller.The generated preconditions are expressed in terms of the boundary variables.The[Call]rule formalizes this process.As an example,consider inferring a primitive call sub(z,j) under the type assumptionΓ={v::Int v,z::Float[Int m],j:: Int j}and the pre-state∆=(m =m∧m =10∧j =v +2∧v =v+1∧v >5).Furthermore,let the set of boundary variables V be{v,m} and j be a local variable.The two array-bound checks of the sub primitive,0≤i and i<s,are transformed into the following preconditions:pre1=(∆≈>ρ(0≤i))↓V≡s truepre2=(∆≈>ρ(i<s))↓V≡s(v<7)whereρ={s→m,s →m ,i→j,i →j }.The substitutionρre-places the size variables associated with the formal parameters of42007/12/2[Var ]Γ(v )=ττ1=fresh (τ)φ=equate (prime (τ),τ1)V ;Γ;∆ v Y v ::τ1,∆∧φ,∅,∅[Var −Assign ]V ;Γ;∆ e Y e 1::τ1,∆1,Φ,ΥΓ(v )=τ∆2=assign (∆1,τ,τ1)V ;Γ;∆ v =e Y v =e 1::Void ,∆2,Φ,Υ[If ]Γ(v )=Bool b V ;Γ;∆∧(b =1) e 1Y e 3::τ1,∆1,Φ1,Υ1τ=fresh (τ1)V ;Γ;∆∧(b =0) e 2Y e 4::τ2,∆2,Φ2,Υ2ρi =rename (τi ,τ)∀i ∈{1,2}∆3=ρ1∆1∨ρ2∆2e 5=if v then e 3else e 4V ;Γ;∆ if v then e 1else e 2Y e 5::τ,∆3,Φ1∪Φ2,Υ1∪Υ2[Call ]Γ(v i )=τi ∀i ∈1..n τ=fresh (ˆτ)U =k i =1FSV (τi ) =fresh ()(ˆτm (ˆτ1x 1,...,ˆτn x n )where ∆m ;Φm ;···)∈P ∪P m Φm ={( +1:φ1),..,( +k :φk )}ρ=rename (ˆτ,τ) Σn i =1{rename (ˆτi ,τi )}pre i ≡s (∆≈>ρφi )↓V mkChk (pre i , . +i ,ˆΦi ,Υi )∀i ∈1..k ˆΦ= k i =1ˆΦi Υ= k i =1ΥiV ;Γ;∆ m (v 1..n )Y :m (v 1..n )::τ,∆◦U ρ(∆m ),ˆΦ,Υ[Mtd −Declare ]md =t m (t 1v 1,...,t k v k ){e }τi =fresh (t i )∀i =1..n τ=fresh (t )V = ki =1FSV (τi )W =V ∪FSV (τ)Γ={v 1:τ1,...,v k :τk }∆init =init (Γ)V ;Γ;∆init e Y e 1::τ,∆,Φ,ΥQ ={m W =∆}I md Y τm (τ1v 1,...τk v k )where m W ;Φ;Υ{e 1}|Q[MkChk −1]pre ≡true mkChk (pre, +,∅,∅)[MkChk −2]pre ≡falsemkChk (pre, +,∅,{ +})[MkChk −3]¬(pre ≡true ∨pre ≡false )mkChk (pre, +,{ +:pre },∅)Figure 4.Type Inference Rulessub with those from the actual parameters of the call.The new pre-conditions are obtained by simplifying (≡s )the result of the oper-ations (≈>)and ↓V .The operator ≈>formulates the implication ofan array-bound check by the corresponding calling context.It en-sures that all size variables are expressed in terms of those of the call arguments,and primed variables are used in the post-state of the caller:∆≈>φ=def (∆⇒ρ(φ))where ρ={s 1→s 1,...,s n →s n };{s 1,...,s n }=FSV (φ)The operator ↓V projects a constraint to the boundary variable set V through quantification of (size variables from)the local variables.These variables are universally quantified,so that the resulting precondition is strengthened (weakening via ∃quantifier is unsound in this case):φ↓V =def ∀W ·φwhere W =F SV (φ)−V.After its derivation,each precondition is classified by the rela-tion mkChk (pre ,A,B,C )to determine if the corresponding array bound check can be eliminated safely,be left as runtime check,or decided at a later stage (a partially-safe check).Here,A is a label sequence leading to the specific bound-check,B outputs the check if it is partially-safe,and C outputs the label sequence identifying the check if it should be left at runtime.For the example above,we have mkChk (pre 1, .L ,∅,∅)and mkChk (pre 2, .H ,{ .H :pre 2},∅),where is a new label associated with the call sub (z ,j ).These mkChk clauses indicate that the low-bound check is safe,while the upper-bound check is partially safe.For recursive methods,we first employ a fixed-point computa-tion to derive both the method postcondition and a recursive invari-ant.The invariant captures a size relation to relate the parameters of an arbitrary-nested recursive call with those of the first call.Once the postcondition and the invariant are determined,we can compute the program state at each program point and derive preconditions similarly to the non-recursive case.Details are given next.5.Recursion AnalysisOur type inference rules effectively determine both a postcondition and a set of preconditions for non-recursive methods.For recursive methods,these rules derive a (recursive)constraint abstraction that can be analyzed via fix-point analysis.The analysis steps are:(i)determine a fix-point for the constraint abstraction,and derive the method postcondition,(ii)determine an invariant for the recursive calls,and (iii)derive preconditions for checks inside recursion.5.1Deriving PostconditionThe postcondition can be derived from a recursive constraint via a fix-point approximation procedure pioneered in [11]and adapted for a disjunctive domain in [1,18,39,33].Let us consider a con-straint abstraction of the form q n ∗,r where n ∗denote inputs,while r denotes its output.For simplicity and without loss of gen-erality,let us assume we have a constraint abstraction with two re-cursive invocations of the following form.q n ∗,r =φ0∨φ1[q s ∗,r 1 ,q t ∗,r 2 ]Note that φ1[,]is a formula with two holes containing the two recursive invocations,while φ0is the base case.The fix-point of such an abstraction can be formalised by the following series:q 0 n ∗,r =falseq i +1 n ∗,r =φ0∨φ1[q i s ∗,r 1 ,q i t ∗,r 2 ]52007/12/2For the above fix-point series to converge,we perform approxima-tions via two techniques,known as hulling and widening .Hulling approximates a set of disjuncts φi with a conjunct φsuch that (φi )⇒φ.This process can be refined by hulling selectively a subset of closely-related disjuncts.We use the notion of affinity to characterize how closely related is a pair of disjuncts [33].This selective hulling process is denoted by φi ≡h φ.Conjunctive widening takes a formula φi and drops (by re-placing with true )those constraints φi that are changed compared to the previous step.To apply the widening operator to a disjunctive formula,we first look for pairs of disjuncts (from the current and the previous step)to widen and then apply the conjunctive widening on these pairs [33].Let us denote widening by ≡w .We shall apply each fix-point approximation until we obtain a formula q p n ∗,r such that q p +1 n ∗,r ⇒q p n ∗,r .This test indicates that a post fix-point q p n ∗,r has been reached.Methods with Postconditions:Float sumvec(Float[Int s ]a,Int i i,Int j j)where sumvec s,i,j ,...{if i>j then 0.0else {Int v= 1:sub(a,i);v+ 2:sumvec(a,i+1,j)}}Float sum(Float[Int s ]a)where sum s ,...{Int l= 3:len(a); 4:sumvec(a,0,l-1)}Constraint Abstraction :sumvec s,i,j ≡(i>j )∨(i ≤j ∧0≤i<s ∧sumvec s,i +1,j )Figure 5.Sum Vector ProgramConsider the simple summation program from Figure 5,where the constraint abstraction obtained from our inference rules is also given.To obtain a closed-form postcondition,we apply fix-point analysis starting with false ,the least element of the disjunctive polyhedron domain.Due to the use of widening,such fix-point approximation always terminates .For brevity,we display related constraints like (j −1≤i ∧0≤i ∧i ≤j )using the abbreviated form (j −1,0≤i ≤j ).sumvec 0 s,i,j =falsesumvec 1 s,i,j =(i>j )∨(i ≤j ∧0≤i<s ∧(∃i 1·i 1=i +1∧false ))=(i>j )sumvec 2 s,i,j =(i>j )∨(i ≤j ∧0≤i<s ∧(∃i 1·i 1=i +1∧i 1>j ))=(i>j )∨(0≤i<s ∧i =j )sumvec 3 s,i,j =(i>j )∨(i ≤j ∧0≤i<s ∧(∃i 1·i 1=i +1∧(i 1>j ∨(0≤i 1<s ∧i 1=j ))))=(i>j )∨(0≤i<s −1∧j =i +1)∨(0≤i ≤s ∧i =j )≡h (i>j )∨(j −1,0≤i ≤j<s )sumvec 4 s,i,j =(i>j )∨(i ≤j ∧0≤i<s ∧(∃i 1·i 1=i +1∧(i 1>j ∨(0≤i 1<s −1∧j =i 1+1)∨(0≤i 1≤s ∧i 1=j )))))≡h (i>j )∨(j −2,0≤i ≤j<s )≡w (i>j )∨(0≤i ≤j<s )sumvec 5 s,i,j =(i>j )∨(i ≤j ∧0≤i<s ∧(∃i 1·i 1=i +1∧(i 1>j ∨(0≤i 1≤j<s ))))=(i>j )∨(0≤i ≤j<s )Fix-Point Detected:sumvec 5 s,i,j ⇒sumvec 4 s,i,jWe reach the following fix-point in five iterations:sumvec s,i,j =(i>j )∨(0≤i ≤j<s )5.2Deriving Recursive InvariantWithin each recursive method,we may have checks that must be optimized.To deal with this,we compute another constraint,but this time,for just the input parameters (excluding the results of method).More specifically,we build a one-step size relation to relate the parameters of the next recursive calls with those of the first call.This relation is then analysed via fix-point analysis toderive a multi-steps relation,known as recursive invariant .The latter can relate the parameters of an arbitrary recursive call with those of the first call.One-step relation can be directly extracted from each recursive constraint abstraction.Given the earlier abstraction (of two recur-sive invocations),q n ∗,r =φ0∨φ1[q s ∗,r 1 ,q t ∗,r 2 ].We can ob-tain a one-step relation,named I ,that attempts to relate the input n ∗with that of its recursive call,ˆn ∗,as shown below.I n ∗,ˆn ∗ =φ1[ (s =ˆn)∗,q t ∗,r 2 ]∨φ1[(t =ˆn )∗,q s ∗,r 1 ]With this relation,we can now apply fix-point analysis to obtain:I 1 n ∗,ˆn ∗ =I n ∗,ˆn ∗I i +1 n ∗,ˆn ∗ =I i n ∗,ˆn ∗ ∨(∃z ∗·I i n ∗,z ∗ ∧I z ∗,ˆn ∗ )We derive the following recursive invariant via fix-point analysis:sumvecI s,i,j,ˆs ,ˆi,ˆj =(ˆs =s )∧(ˆj =j )∧(0≤i<ˆi ≤s,j +1)The recursive invariant is important for deriving safety precondi-tions of checks inside recursive methods,as elaborated next.5.3Deriving PreconditionOur inference can derive preconditions for checks inside recursion.Due to recursion,such checks may be encountered multiple times.We propose to separate out the check of the first recursive call from the checks of the rest of the recursive calls.The reason for this is that recursive invariant that we derive is applicable to all recursive calls,except the first.Consequently,the program state for the first check and the program state for the recursive checks are different.More specifically,consider a check c labelled as at program context s in a recursive method m with invariant i .Its two preconditions can be derived as follows:preFst ( )=∀L ·(s ⇒c )where L =vars (s,c )−V preRec ( )=∀L ·(s ∧i ⇒c )where L =vars (s,c,i )−VFor the sumvec example,we would derive two sets of precondi-tions,namely:preFst ( 1.L )=(j<i )∨(0≤i )preFst ( 1.H )=(j<i )∨(i<s )preRec ( 1.L )=truepreRec ( 1.H )=(j<s )∨(s ≤j ∧i ≤−1)∨(s ≤j,i )These preconditions are propagated to the caller of each sumvec call.Note that the precondition for (rest of the)recursive checks for 1.L is totally safe,but the first check of 1.L can be guarded by a condition (j<i )∨(0≤i ).These different scenarios of array checks can be exploited by program specialization,so as to maximise the elimination of redundant checks whilst being mindful of the potential for code explosion.We describe such a specialization process in Section 7.6.Deriving Smaller FormulaeAn important property of program analysis is efficiency,and this is particularly so for an inference system based on Presburger arith-metic.Presburger arithmetic can give highly accurate analysis (with disjunctions and quantifiers)but has double-exponential complex-ity,namely 22cnwhere n is the size of its formulae.A summary-based analysis like ours brings about a smaller number of size vari-ables at each method boundary than a global analysis approach.With this decrease,the main proviso for efficiency is to ensure that the pre and postconditions are kept small in size.A major reason for large formulae is the presence of disjuncts related to the specification aggregation problem observed in [25].To counter this effect,a derived postcondition can be weakened62007/12/2。

相关文档
最新文档