




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Eclipse IDE 过程数据采集技术,Shi Lei Software Engineering Institute, Peking University 2009.9,提纲,问题的提出 过程数据采集方法 相关解决方案分析 我们的工作,问题的提出,提高软件开发的效率、缩短工期、提高软件产品的质量是软件工程领域的永恒话题 收集、分析和挖掘程序员在软件开发过程中产生的一些数据,可以从很多方面为提高软件生产率和软件质量提供帮助 记录开发人员的日常操作,为其提供一些自动化帮助 挖掘出好的行为模式,为过程改进提供指导 作为证明开发过程严格可靠的证据 ,过程数据采集方法,现场(Onside)过程数据采集 优点:灵活、直接 缺点:开销巨大、难于采集很多人数据 访谈和问卷 优点:简单 缺点:难收集细节数据 非侵扰性(Non-invasive)自动化过程数据采集 优点:收集大量数据成本低、可收集细节数据 缺点:有些类型的活动无法监测,过程数据采集方法,数据采集方法的选择的考虑 经验复用 高层的 vs. 细节的 直接指导(经验的可验证性) 与以往研究工作的结合和技术上易实现 因此,我们把“Non-invasive自动化过程数据采集”作为研究对象。特别是随着Eclipse IDE的流行,我们关注Eclipse中工作区数据采集技术,相关解决方案分析,Hackystat 概述 Hackystat是由夏威夷大学开发的一个开源的收集、分析软件开发过程和产品数据的框架 目的 项目数据统计和展示(如改变方法数、活跃时间等) 结构 Sensor-Server结构,支持多开发环境(包括Eclipse、Emacs、Office等),其中Eclipse中以插件收集数据 数据特征 存储在服务器端数据库(可能有数据丢失,不关心),非匿名,事件可以有多种粒度,附加数据Map,相关解决方案分析,Hackystat 数据特征(续): SDT是最高层Type,只与使用的Sensor有关 不记录项目名,项目在服务器端创建,根据资源地址配置,相关解决方案分析,PROM 与Hackystat类似,细节待继续调研,相关解决方案分析,Mylyn(Malar) 概述 Mylyn是一个基于Eclipse的辅助工具,为开发人员管理任务上下文,以使得开发人员能够将注意力集中在和任务项目中相关的部分上,以提高开发效率 目的 开发活动上下文管理,兼具任务管理功能 结构 Sensor-Server结构,仅支持Eclipse,以插件收集数据 数据特征 存储在服务器端和客户端(以XML存储),匿名,事件以文件为粒度,存储许多中间数据,为上下文管理提供方便,相关解决方案分析,Mylyn 数据特征(续) 对于扩展属性的支持能力好 对于同类事件有所合并(见第一条日志),相关解决方案分析,Eclipse Usage Data Collection 概述 是一个监听Eclipse工作区中用户使用信息的插件,主要目的是跟踪Eclipse产品的技术情况 目的 插件技术情况汇报 结构 Sensor-Server结构,仅支持Eclipse 数据特征 存储在服务器端和客户端,仅记录插件加载、打开和关闭事件,特别关注插件版本,相关解决方案分析,各工作的比较 目的 Mylyn通过维护个人工作语境提高个体生产率 Hackystat和PROM通过分析过程数据来监控过程状态 Eclipse Usage Data Collection只关注插件使用情况,但为事件监听提供了“插件装载时”施加监听的思路 体系结构 除了Mylyn以外都是Sensor-Server结构 数据特点 除Eclipse Usage Data Collection以外,都支持扩展数据项。其中Hackystat和PROM把扩展数据项以键值对的形式存储为单一字符串,我们的工作,动机 以数据支持软件过程的研究 EUDC的目的和我们的目的相去甚远 Mylyn不支持多人数据,只记录编辑查看文件,不记录其他活动 HackyStat和PROM 对我们希望重点监听的Debug 活动监听不够细 有一些不方便之处(如Hackystat以文件路径名规则来定义项目) 不容易灵活编写我们需要的扩展功能。,我们的工作,值得借鉴的设计决策 区分事件作用的位置粒度(Hackystat) 扩展属性(Hackystat、Mylyn) 值得借鉴的实现技术 将数据采集作为Eclipse插件 在要监听的事件上施加监听器 对监听事件做类型转换 统一的数据记录接口 通过首选项配置向服务器提交数据,我们的工作,框架概览,Code Editing Sensor,Data Repository,Debug Sensor,Code Reading Sensor,Eclipse IDE,Other Sensors,Process Data Mining,Code Change Event,Debug Event,Code Reading Event,Other Event,Collected Process Data,Process Monitoring,Data Statics,Process Data Collection,Process Data Use,我们的工作,收集的数据 非匿名,事件以方法为粒度,任务类型预定义,本地及服务器端同时存储,特别关注Debug相关活动,我们的工作,代码修改活动监听 修改的位置(方法级)、修改的增量 Debug活动监听 断点设置、调试动作 代码阅读活动监听 阅读位置(方法级) 其他活动监听 CVS、JUnit,我们的工作,Eclipse 事件监听一般过程 What: 决定要监听什么事件,并找到该事件在Eclipse中的对应实现 Where: 根据事件,找到在哪里施加一个什么样的监听器可以监听这个事件 How: 编写一个监听器, 实现指定的监听器接口, 对于其中关心的事件, 编写处理方法,收集 需要的信息。,我们的工作,开发中的一些解决方法 代码修改活动监听 保存一份修改之前的代码以供比对 将修改前后的代码按语句分割,各放入一个集合中,通过集合比较得到代码修改的增量 模仿CVS的diff将这种增量记录下来 代码阅读活动监听 利用程序员在阅读代码时鼠标停留在程序中制定方法中出发的OutLine视图的选择事件来确定程序员正在阅读的代码位置,我们的工作,开发中的一些解决方法 代码阅读活动监听 Ty
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北省蠡县2025年上半年公开招聘城市协管员试题含答案分析
- 河北省广宗县2025年上半年公开招聘村务工作者试题含答案分析
- 2025年地震监测测绘合同书模板
- 2025版食堂承包合同补充协议范本(含节假日特殊服务)
- 2025版事业单位教职工合同制聘用规范范本
- 2025年度生态旅游用地地基买卖合同范本
- 2025年度成都二手房交易税费计算及缴纳指导合同
- 2025年度电子劳动合同智能语音服务合同
- 2025年度城市绿化养护与植物保护合同范本
- 2025房地产剩余价值抵押与养老产业投资合同
- 园区招聘活动方案
- 罐式专用运输管理制度
- 产科危急重症管理制度
- 2025届上海市金山区高三下学期二模英语试题(解析版)
- 【生物 安徽版】2025年普通高等学校招生选择性考试(原卷版)
- 2025年《数字孪生与虚拟调试技术应用》课程标准
- T/CCS 033-2023煤矿智能化水处理系统建设技术规范
- GoodsFox-2025年全球电商营销趋势报告
- 2025年人造粉云母制品行业深度研究报告
- 医工交叉培养提升医疗人才的综合能力
- 以诺书999中英对照
评论
0/150
提交评论