2015 IEEE/ACM 37th IEEE International Conference on Software Engineering Assert Use in GitHub Projects 周星宇.

Slides:



Advertisements
Similar presentations
迪士尼公主裙衫变化记. 《白雪公主和七个小孩人》 《白雪公主和七个小矮人》,是世界电影史上第一部长动 画片,也是迪士尼的第一部。《白雪公主》不仅为迪斯尼 带来了第一尊奥斯卡小人,更是拯救迪斯尼于水火的贵 人 —— 在经济大萧条的 1937 年的美国,《白雪公主》为迪 斯尼赚到了 850 万美元,这约等于现在的数亿美元!
Advertisements

六大類食物 五穀根莖類 六大類食物 油脂類 蛋魚肉豆類 奶類 蔬菜類 水果類. 五穀根莖類 : 提供熱量 : 部份蛋白質,維生素,礦物質,及膳食纖維 包含麵 ( 及麵包饅頭 ) ,飯類,蕃薯等食物 也就是一般所稱的 " 主食 " ( 蘿蔔不是這一類,是屬於蔬菜類喔! ) 飲食建議吃三到六碗 並推薦攝取全穀類食品.
揮別電腦族疲勞症候群 主講人 : 陳潮宗 中醫師. 常有症狀一 起因&症狀: 起因&症狀: 坐姿不正最易引起腰酸背痛、 過度看螢幕則眼睛疲勞酸痛。 治療重點: 治療重點:補固腰腎、明目保睛。
引言 高血壓自我健康管理包含飲食、 運動、 及健康生活型態三大方向。 飲食 是改善高血壓的重要部分, 並提 供飲食方式來改善高血壓。
人事室專題計畫業務報告 人事室 謝明峯 轉 一、專任助理注意事項 計畫案如有聘任專任助理者, 請依據「南 華大學專案助理報到程序單」內容, 將資 料繳交至人事室 ( 請於聘任到職日前繳交, 以免影響到本身權利 ) 。 離職儲金或勞工退休金 依勞工退休金條例相關規定,
2007 年 6 月 楚雄师范学院计科系 离 散 数 学 第三章 逻辑代数 ( 上 ) 命题演算.
山伯與英台在健康書院修業完 成後,一行人逗陣開開心心的 回自己的家鄉 …… 於是開啟了另一段 ~ 新梁祝的故事 ~ 在下 梁山伯 小女子 祝英台 我是 阿成 我是 阿香.
第八章 膳食與營養 第一節 均衡營養與膳食 年 7 月公布新版「每日飲食指南」, 依食物營養特性,分為六大類: 全榖根莖類 蔬菜類水果類 低脂乳品類 油脂與堅果種子類 豆魚肉蛋類 食全十美.
中醫臨床常見養生藥膳 臺 北 市 立 聯 合 醫 院中醫院區 院長 鄭振鴻. 壹、前言 在臺灣地處亞熱帶的氣候,冬季溫暖,夏 季炎熱,雨量多的特性。吃補的概念源自 中國大陸,但生活習性與食物亦有其地域 性,因此針對臺灣常用藥膳的食物與藥物 的性能作用,解析其效用、功能,了解食 物與人的關係,利用食物特性,藥物的效.
青春期 女生可以早在八、九歲, 或晚到十三、四歲才進入 青春期。 男生早的在十、十一歲, 晚到十四、五歲,甚至更 遲才進入青春期。
第八課 路 *課前預習 一 二 三 *題解 *作者介紹 *課文內容 一 、 、 、 *修辭回顧
請愛惜自己 衛生署日前公佈了去年國人的十大 死因統計,惡性腫瘤(癌症)又第 二十度蟬聯冠軍,而且是每四名死 亡人口中,就有一人「因癌而」,
E時代盛宴 健康123年菜發表會 新春新氣象,處於資訊蓬勃E時代的您,是否已構思好如何為自己及家人準備一桌健康、豐盛的年菜?隨著國人健康意識的提升,對年菜訴求也有別於傳統年菜四大特點-高油、高鹽、高糖、低纖,加上其繁瑣的製備過程,對講求速度及效率的E時代族群而言,已不符現今年菜簡單製備、健康需求性。在這距離農曆春節只剩短短二個星期,豐原醫院營養室關心您的健康、滿足您的胃蕾,推出「E時代盛宴-健康123-年菜發表會」,以「一高、二少、三低」的健康原則,利用家中減少烹調油量的鍋具,如:烤箱、電鍋、不沾鍋等,製
生活常規.
壹 展会营销方式 在休闲娱乐产业中的分析. 壹 展会营销方式 在休闲娱乐产业中的分析 对于行业、企业、产品的作用 会展营销 的作用 会展营销 集行业资源要素、灵活多变的活动手段、面对面的展览展示等优点,已经发展成为所有行业开展营销工作的首选手段。 1、市场调研功能 5、注意力经济效应 2、产品创新功能.
行政执法人员 综合法律知识培训 二OO六年八月.
雅樂舞基本動作與身體探索 陳玉秀老師主授 【本著作除另有註明外,採取創用CC「姓名標示-非商業性-相同方式分享」台灣3.0版授權釋出】
嘴破怎麼辦? 嘴角或嘴唇內常常破一小傷口的人, 吃東西時真是痛苦萬分; 有的人試著補充維他命C及B群,
性教育教學模組設計 主題:身體自主權 台中市忠明國小 巫偉鈴.
第2框 文化创新的途径 考点:理解文化创新的重要途径.
整体销售方案 中山市美好物业代理有限公司
法務部財產申報查核平臺 規劃說明.
安全自护我能行 ——八年(1)班主题班会.
肺臟的藥膳介紹 台中慈濟醫院 中醫部 陳建仲.
位置的表示方法.
麵包的秘密 作者:奧亨利.
合理水價之探討 台灣省自來水公司前財務處經理 王禮忠 台灣省自來水公司財務處組長 賴祐.
臺南市104學年度 國民中小學新進教師研習課程 廉政宣導與案例研習 臺南市政府教育局政風室 科員 黃彥雄.
臺中市頭家國小 生理衛生講座 青春期的奧秘 ‧說到青春期,你會想到? ‧班級表現最好的,有獎徵答有優先權。 葉孟娟老師、黃文玲老師.
水 生命之源 威海文登中心医院 王倩倩.
技職教育之人才培育 -以育達商業技術學院為例 王育文 戴美華 育達商業技術學院 吉林大學企業管理系 副校長 博士生
每周物流资讯 苏州得尔达国际物流有限公司 第四十三期.
認識大腸直腸癌 大腸直腸外科 李元魁醫師.
龙海公寓· 多城一家O2O项目 商业计划书 2015年7月.
兔 子.
临沂市华泰工艺美术有限公司 人事管理制度培训.
僑務委員會法規委員會 專門委員兼執行秘書徐佑伶
請愛惜自己 衛生署日前公佈了去年國人的十大 死因統計,惡性腫瘤(癌症)又第 二十度蟬聯冠軍,而且是每四名死 亡人口中,就有一人「因癌而」,
節能減碳—兒童廢物利用 遊戲闖關活動 設計者—賴姿良 陳俐諭 陳松吉.
法務部行政執行署彰化分署 行政執行官李垂章
扬州大学建筑科学与工程学院 青年共产主义学校 第十期暨主要学生干部培训班 二OO八年十二月.
牙齒保健常識 胖福2050/12.
香港普通話研習社科技創意小學 周順強老師.
班主任素质提升要走自主发展之路 广 东 技 术 师 范 学 院 外国语学院 英语(翻译)12级1班 李秀云.
第1课 欧洲的君主专制 香山中学 聂渭清.
引领民族复兴的战略布局 —— 关于“四个全面”若干问题之解读 福建省委党校 福建行政学院 曹敏华教授.
農委會及其他計畫 執行應注意事項 第四組 涂怡禎 日期:104年10月5、6日.
膀胱過動症 & 間質性膀胱炎 台中榮總/埔里分院 蔡青倍.
法務部行政執行署彰化分署 行政執行官李垂章
1. 民主社會裡,公民的參與有其重要性,而透過政治參與無法達成下列哪一項目的?
嘴破怎麼辦? 嘴角或嘴唇內常常破一小傷口的人, 吃東西時真是痛苦萬分; 有的人試著補充維他命C及B群, 有的人塗抹進口藥膏,
小組成員:洪偉凱 簡子昀 李佳旻 陳泓憲.
延伸課程(專題研習)科美好生活之成長的我
班級:系統三甲 學號:4A 姓名:張譽耀 學號:4A 姓名:梁旅維
微笑的天空 2008.12.1(星期一)農曆戌子年十一月四日的傍晚天上的金星、木星在上弦月左右相互輝映,形成「微笑的天空 」天文奇景。 「金星、木星伴月」,在空軍官校停機坪的上空微笑著面對著校園裡所有仰望天空的筧橋學子,真是令人難忘!因此,決定將網路詩集的初刊定名為「微笑的天空 」。
农作物病虫害图解 阜宁县农业干部学校 二OO九年四月.
做最好的自己 ——七(6)班主题班会.
克拉玛依职业技术学院klmyzyjsxy
報告人: 財政部採購稽核小組稽核委員 台灣菸酒股份有限公司王自來
珍惜时间 提高效率 初二1班
大拇指游戏的类似经历 1、作息时间? 2、 考试成绩? 板书,表情典型性 3、心情?.
Github已有工作调研 邹卫琴 南京大学 , 南京.
环境配置及使用.
油封產業聚落產業交流會 精進油封產業技術交流 研究發展暨產學合作處 張庭瑞 中華民國 98年 12月 29日.
98年度兒童課後照顧學程 修課名單確認暨課程說明會 2009/09/15(二) 08:40~09:20.
从“聚焦课堂”到  “关注教育教学全过程” 浙江省教育厅教研室 张 丰 二OO八年十二月.
臺北市私立大同高中105年 地震疏散演練 上午9時21分, 實施防災演練, 9月13日0730實施預演.
明湖國小 文書講習 時間: 地點:總務處.
厉害了,我的国! 15会计2班团支部 2018年4月20日.
轉換成二進位、八進位及十六進位 = ( ) = ( ) = ( )16.
Presentation transcript:

2015 IEEE/ACM 37th IEEE International Conference on Software Engineering Assert Use in GitHub Projects 周星宇

Introduction 简单回顾了断言出现的历史。 断言的用途 使用断言的合理性 实证分析 运行时检查 提升易读性 自动验证 开发者更少犯错 更快隔离错误 实证分析 100个项目,69个使用断言,4.6%的方法包含断言 断言和bug密度的相关性 Call graph 应用领域

Research goal 研究断言在实践中的使用情况,尤其是和断言相关过程的输出结 果。 RQ1:断言与缺陷发现的相关性 RQ3:call graph中函数的网络位置与断言位置的相关性 RQ4:应用领域和断言的相关性

RQ1:断言与缺陷发现的相关性 基于Wiki-Python中的论断 断言以捕获bug为目标 程序员用于判断系统的内部状态的系统化方法 断言适用于发现错误的假设、接口的滥用 断言作为行内文档提升易读性

RQ2:断言与软件工程协作方面的相关性 参与度、经验、committer数量 协作是一个历史性研究课题 现代版本控制系统使得研究成本可接受

RQ3: call graph中函数的位置与断言所在位置的相关性 断言位置在主观上容易受软件构造和工作元素的影响 软件有很多属性和软件元素,大小、复杂度、内聚、耦合 Call graph是一个用于捕获程序中模块依赖关系的有效抽象方法 多态、继承等OO属性可能导致call graph不能正确运行->C项目 网络科学有大量代数方法从网络中心点的角色中获取数值化的度 量

RQ4:应用领域和断言的相关性 研究小组把收集的项目划分为普遍但不相关的类 从主观因素考虑,不同类别代码差异大,断言使用可能很不一样 该研究小组之前的研究中未发现应用领域和代码质量存在相关性

Related Work 断言使用情况 使用断言对软件质量的影响 Chalin,200-80%,85Eiffel Projects。 Jone,21 Projects,缩放,不易更改,前后置条件 自动生成的断言不能完全替代人工编写断言 本文扩展研究范围C/C++,过滤掉过高比例使用断言的项目,不针对只包含断言 的提交 使用断言对软件质量的影响 语法变异->代码范围 JML,Java断言库 内部系统无效状态 本文更细粒度专注于bug 规模更大

方法论-研究内容 剔除使用断言少于10处以及高于30000处的项目

方法论-数据收集 git log –U1 –w 无关代码 测试文件 Error、fix等关键字定义修复bug的提交 Assert关键字用于断言统计,分类器设计 抽取100个随机片段,验证分类器 统计数据分类-方法/开发者 call graph LLVM’s clang tool 读取函数名 Cscope database记录依赖关系 -U1下载commit补丁,-w输出新增代码的方法名 Gcc:gcc_assert/debug_assert

方法论-统计学方法 回归模型 线性回归 阈值回归-负二项式回归 逻辑回归 方差分析

RQ1:断言与缺陷发现的相关性 第一个断言为阈值,建立回归模型,进行逻辑回归 之后的阈值/计数调研哪些commit历史中至少有一个bug fix和新增 断言的方法 基于断言数计算缺陷数 准泊松分布

RQ1:断言与缺陷发现的相关性 结论: 数量模型影响不显著 以Linux和Mysql两个项目为例

RQ2:断言与软件工程协作方面的相关性 绘制箱图 将ownership验证应用于method级。 Experience统计开发者对每个方法贡献次数的中位数。

RQ3: call graph中函数的网络位置与断言位置的相关性 探索性研究 评估一个函数的网络中心是否和断言位置相关 基于网络中心度量和断言位置假设 出度、入度、中介中间性、枢纽值、权威性 权威值和枢纽值相关性在不同项目集中各不相同 开发者倾向于在枢纽值高的函数中加入断言。

RQ4:应用领域和断言的相关性 Applications、Code Analyzer、Database、Framework、Library和 Middleware六大类 以Applications为参照 限制代码行、开发者年龄和人数 在不同领域断言的使用没有明显关系

Threats Bug判定-使用commit中的信息,而不是bug数据库,希望聚焦于 由交互式编程引起的bug fix commit。 调用图-使用Cscope,不是绝对可靠 断言判定-基于字符串匹配,用户自定义的断言无法判定。 一般性因素-开发者在开源和商业项目中使用断言的方式不同,商 业系统一般有硬性规定,而本论文也不能给开源项目下定论,关 于领域的分类不客观。

Conclusions 断言对自动验证有很大价值,但是大部分开发者在实践中很少使 用,断言主要被用于快速检测和报告无效的系统状态。在这种条 件下,本文认为添加断言和缺陷的减少有相关性。 断言有助于提升代码质量,开发者对自己参与度高的方法更容易 添加断言。 文章支持了关于断言的民间观点:断言对软件质量存在有益影响, 在协作开发中有益。

Exception 希望验证断言是否能够更容易发现和修复真实的bug,而不是简 单的在研究中重新bug。 能在更深的层次上分类断言,在相关位置确定和创建有效的断言

谢谢