2019, 30(10):2925-2926. DOI: 10.13328/j.cnki.jos.005787 CSTR:
摘要:
2019, 30(10):2927-2941. DOI: 10.13328/j.cnki.jos.005778 CSTR:
摘要:近年来,包含动态任务的交互式系统得到了广泛的应用.基于现有对用户与动态任务交互的研究,提出一个面向动态任务的定量化可计算的交互模型ICOMDT,用于解释用户与动态任务的交互行为,并实现用户意图预测.更具体地,将ICOMDT应用于运动目标选择任务,设计了两个实验以验证模型的有效性.实验1收集用户数据对模型进行拟合并预测用户选择的错误率,实验结果表明,能够很好地拟合且预测值也与真实值接近;实验2将模型对用户意图的理解拓展为一种辅助运动目标选择技术ICOMPointer,通过在具体的游戏场景中与Windows原本的选择技术及两种现有的增强目标选择技术对比,发现使用ICOMPointer选中目标的平均完成时间更短,完成速度更快.ICOMDT模型的提出对计算机理解用户意图,提高用户与动态任务的交互效率有着重要意义.
2019, 30(10):2942-2953. DOI: 10.13328/j.cnki.jos.005781 CSTR:
摘要:在多屏幕环境中,实现跨屏幕内容分享的现有技术忽视了对空中手势的利用.为验证空中手势,实现并部署了一套跨屏幕界面共享系统,支持使用空中手势完成屏幕间界面内容的实时分享.根据一项让用户设计手势的调研,实现了"抓-拖拽"和"抓-拉-放"两种空中手势.通过对两种手势进行用户实验发现:用空中手势完成跨屏幕内容分享是新颖、有用、易于掌握的.总体上,"抓-拖拽"手势用户感受更好,但"抓-拉-放"手势对于复杂情景的通用性更好;前者更适合近屏场景,推荐在屏幕相邻且间距不大、操作距离近时使用;后者更适合远屏场景,推荐在目标屏幕间有间隔屏幕或相距较远时使用.因此,将两种手势相结合使用更为合理.
2019, 30(10):2954-2963. DOI: 10.13328/j.cnki.jos.005779 CSTR:
摘要:疲劳驾驶是引发交通事故的一个主要原因,对驾驶员疲劳驾驶做出准确、有效的检测和预防,具有重要的社会意义.在研究比较了前人工作的基础上,设计了一种基于机器视觉,图像处理的驾驶员疲劳检测机制.首先将传来的连续帧图像(视频)利用Adaboost算法进行人脸检测,根据人脸"三庭五眼"的分布特征分割出大致的人眼区域.在人眼定位过程中,采用OSTU阈值分割,非线性点运算和积分投影等预处理消除眉毛,并利用模糊综合评价算法对眼睛矩形区域的长宽比、拟合椭圆面积、瞳孔黑色素所占比例这3个影响因子进行分析,判别出眼睛的睁开闭合状态.最后根据PERCLOS原理对驾驶员的疲劳状态做出检测.实验结果表明,所提算法能够准确地判别出眼睛的睁闭状态及对驾驶员的疲劳状态的检测,具有较高的准确性和实用性.
谭宇彤 , 周旭峰 , 孔令芝 , 王醒策 , 武仲科 , 税午阳 , 付艳 , 周明全 , Vladimir KORKHOV , Luciano Paschoal GASPARY
2019, 30(10):2964-2985. DOI: 10.13328/j.cnki.jos.005786 CSTR:
摘要:泉州提线木偶属于首批中国非物质文化遗产,是中华传统文化的实现形式之一.然而,由于木偶体积庞大,携带与操作不便,直接限制了其受众群体.为了实现提线木偶的有效传承与保护,设计了基于手势识别的虚拟现实提线木偶动画方案,构建了基于MYO臂环肌电信号的人体生理信号控制动画原型系统,应用两个用户实验验证了算法的高精确性与易操控性.首先,通过低通滤波与平滑实现多通道肌电信号数据的信号处理.其次,提取八通道时域特征与时频域特征,并通过线性判别器将其降维为六维特征向量,实现特征间关联性消除与算法鲁棒性增强.最后,构造多分类支撑向量机实现特征向量,确定手势识别结果.实验验证算法离线动作平均识别准确率为95.59%,实时动作平均识别准确率达到90.75%,在1.1s左右完成手势识别.面向提线木偶任务,构造了两个用户体验任务,普通用户人群中,木偶动作识别率较高,用户使用意愿、易学性等方面,系统性能亦显著高于真实木偶操控;专业用户在承认系统可用性的同时,具有较高的接受度.用户任务表明该设计满足了手势识别实时性和准确性的要求,具有良好的交互性和趣味性.相关研究可以广泛地应用于计算机动画等类似的系统,对于体验和保护提线木偶具有现实意义.
陶建华 , 杨明浩 , 王志良 , 班晓娟 , 解仑 , 汪云海 , 曾琼 , 王飞 , 王红迁 , 刘斌 , 韩志帅 , 潘航 , 陈文拯
2019, 30(10):2986-3004. DOI: 10.13328/j.cnki.jos.005785 CSTR:
摘要:无菌和非接触环境是医疗手术室的基本要求,这使得计算机操作室和手术室需要在物理上隔离.同时,因为手术进行中,主治医生如果需要查看病灶图像,通常授意护士或者手术助理到计算机操作室操作病灶图像,由于手术室和计算机操作室间的隔离,以及主治医生和助理间可能存在的意图理解不准确,容易导致护士或者手术助理在手术室和计算机操作室往返多次,这增加了患者手术时间延长、失血增多、脏器暴露时间长等风险,尽量减少手术中定位到病灶图像的时间对于医生和病人都很重要.针对上述需求,借助遮挡环境下的深度图像人体骨架提取、手势跟踪与理解、手术室环境远场语音识别,多模态信息处理与融合技术,构建无菌条件下的非接触式多通道自然交互手术环境.该环境使得主治医生在手术中可通过语音命令、手势及上述交互方式相结合的方式快速定位到需要观察的病灶成像.在接近真实环境的实验环境中,建立的无菌条件的非接触式多通道自然交互手术环境在保证精度的情况下,可显著缩短病灶图像定位时间.无菌环境智能交互医疗手术室为未来下一代高效的手术提供了技术与方法验证.
程时伟 , 周桃春 , 唐智川 , 范菁 , 孙凌云 , 朱安杰
2019, 30(10):3005-3016. DOI: 10.13328/j.cnki.jos.005782 CSTR:
摘要:基于脑电的脑机交互能帮助肢体运动障碍患者进行日常生活和康复训练,但是,由于脑电信号存在信噪比较低、个体差异性大等问题,导致脑电特征的提取与分类还需要进一步提高准确性和效率.因此,在减少脑电采集通道数目、增加分类数目的前提下,基于卷积神经网络对运动想象中的脑电信号进行分类.首先,基于已有方法进行探索实验,建立由3层卷积层、3层池化层和2层全连接层构成的卷积神经网络;然后针对想象左手、右手、脚的运动和静息态设计与开展了实验,获取了相关脑电数据;之后,利用脑电数据训练出基于卷积神经网络的分类模型,测试结果表明,该模型平均分类识别率达到了82.81%,且高于已有的相关分类算法;最后,将已建立的分类模型应用于运动想象信号的在线分类,设计与开发了脑机交互应用原型系统,驱动人-机器人之间的实时交互,帮助用户利用运动想象控制仿人机器人的抬手、前进等运动状态.进一步的测试结果表明,机器人对用户控制命令的平均识别率达到了80.31%,从而验证了所提方法可以对运动想象脑电数据进行较为精确的实时分类,可以促进脑机接口技术在人-机器人交互中的应用.
2019, 30(10):3026-3036. DOI: 10.13328/j.cnki.jos.005783 CSTR:
摘要:提供了一个无标记点的身体与面部运动同步捕获的方法.利用经过时间同步和空间标定的长焦彩色相机和Kinect相机来进行同步捕获.利用在环境中加入闪光来进行时间同步,使用张氏标定法进行空间标定,从而组成一组时间同步且空间对齐的混合相机(hybrid camera).然后利用Kinect fusion扫描用户的人体模型并嵌入骨骼.最后利用时间和空间都对齐好的两个相机来进行同步采集.首先从深度图像中得到人脸的平移参考值,然后在平移参考值的帮助下根据彩色图像的2D特征点重建人脸.随后,把彩色图像中得到的头部姿态传递给身体捕获结果.结果对比实验和用户调研实验均表明所提出的运动捕获的结果要好于单个的运动捕获结果.
2019, 30(10):3037-3053. DOI: 10.13328/j.cnki.jos.005784 CSTR:
摘要:随着数字图像处理技术的发展,以及计算机支持的协同工作研究的深入,眼动跟踪开始应用于多用户协同交互.但是已有的眼动跟踪技术主要针对单个用户,多用户眼动跟踪计算架构不成熟、标定过程复杂,眼动跟踪数据的记录、传输以及可视化共享机制都有待深入研究.为此,建立了基于梯度优化的协同标定模型,简化多用户的眼动跟踪标定过程;然后提出面向多用户的眼动跟踪计算架构,优化眼动跟踪数据的传输和管理.进一步地,探索眼动跟踪数据的可视化形式在协同交互环境下对用户视觉注意行为的影响,具体设计了圆点、散点、轨迹这3种可视化形式,并验证了圆点形式能够有效地提高多用户协同搜索任务的完成效率.在此基础上,设计与开发了基于眼动跟踪的代码协同审查系统,实现了代码审查过程中多用户眼动跟踪数据的同步记录、分发,以及基于实时注视点、代码行边框和背景灰度、代码行之间连线的可视化共享.用户实验结果表明,代码错误的平均搜索时间比没有眼动跟踪数据可视化分享时减少了20.1%,显著提高了协同工作效率,验证了该方法的有效性.
2019, 30(10):3054-3055. DOI: 10.13328/j.cnki.jos.005798 CSTR:
摘要:
2019, 30(10):3056-3070. DOI: 10.13328/j.cnki.jos.005788 CSTR:
摘要:DevOps作为一次软件工程领域的变革,近10年迅速发展的原因是多方面的.关注了中国DevOps的发展历程中自动化工具带来的实际影响以及自动化工具产生的一系列问题.使用系统化文献评价获取了目前DevOps实践中被研究者分析最多的自动化支持工具,从50篇文献中识别出包括Docker、Chef、Jenkins和Puppet等69个自动化工具;然后通过灰色文献评价从一些中文博客文章中分析出自动化工具在中国DevOps实践中出现的3个层次的问题;最后通过民族志访谈方法分析了在中国环境下各方对待3个层次问题的看法和建议,得出自动化工具对中国DevOps实践的两个影响:(1)自动化工具在DevOps实践的前期作用明显,可以认为DevOps实践就是使用自动化工具;(2)软件组织实现DevOps转型以后需要减少对自动化工具的依赖,形成自己的DevOps文化.对于自动化工具在中国DevOps实践中产生的问题,整合访谈内容后形成了解决问题的3个建议,并给出了一个转型范例.
2019, 30(10):3071-3089. DOI: 10.13328/j.cnki.jos.005789 CSTR:
摘要:软件测试是保障软件质量的常用方法,如何获得高覆盖率是测试中十分重要且具有挑战性的研究问题.模糊测试与符号执行作为两大主流测试技术已被广泛研究并应用到学术界与工业界中,这两种技术都具有一定的优缺点:模糊测试随机变异生成测试用例并动态执行程序,可以执行并覆盖到较深的分支,但其很难通过变异的方法生成覆盖到复杂条件分支的测试用例.而符号执行依赖约束求解器,可以生成覆盖复杂条件分支的测试用例,但在符号化执行过程中往往会出现状态爆炸问题,因此很难覆盖到较深的分支.有工作已经证明,将符号执行与模糊测试相结合可以获得比单独使用模糊测试或者符号执行更好的效果.分析符号执行与模糊测试的优缺点,提出了一种基于分支覆盖将两种方法结合的混合测试方法——Afleer,结合双方优点从而可以生成具有更高分支覆盖率的测试用例.具体来说,模糊测试(例如AFL)为程序快速生成大量可以覆盖较深分支的测试用例,符号执行(例如KLEE)基于模糊测试的覆盖信息进行搜索,仅为未覆盖到的分支生成测试用例.为了验证Afleer的有效性,选取标准程序集LAVA-M以及实际项目oSIP作为评测对象,以漏洞检测能力以及覆盖能力作为评测指标.实验结果表明:(1)在漏洞检测能力上,Afleer总共可以发现755个漏洞,而AFL仅发现1个;(2)在覆盖能力上,Afleer在标准程序集上以及实际项目中都有不同程度的提升.其中,在oSIP中,Afleer比AFL在分支覆盖率上提高2.4倍,在路径覆盖率上提升6.1倍.除此之外,Afleer在oSIP中还检测出一个新的漏洞.
2019, 30(10):3090-3114. DOI: 10.13328/j.cnki.jos.005790 CSTR:
摘要:随着软件规模的扩大和复杂度的不断提高,软件的质量问题成为关注的焦点,软件缺陷是软件质量的对立面,威胁着软件质量,如何在软件开发的早期挖掘出缺陷模块成为一个亟需解决的问题.软件缺陷预测通过挖掘软件历史仓库,设计出与缺陷相关的内在度量元,然后借助机器学习等方法来提前发现与锁定缺陷模块,从而合理地分配有限的资源.因此,软件缺陷预测是软件质量保证的重要途径之一,近年来已成为软件工程中一个非常重要的研究课题.汇总近8年(2010年~2017年)国内外的缺陷预测技术的研究成果,并以缺陷预测的形式为主线进行分析,首先介绍了软件缺陷预测模型的框架;然后从软件缺陷数据集、构建模型的方法及评价指标这3个方面对已有的研究工作进行分类归纳和比较;最后探讨了软件缺陷预测的未来可能的研究方向、机遇和挑战.
2019, 30(10):3115-3126. DOI: 10.13328/j.cnki.jos.005791 CSTR:
摘要:非功能需求描述系统质量相关的属性,是软件设计决策的重要依据和评估标准.与功能需求的描述相比,非功能需求描述通常比较分散,且往往是隐含的.当采集到的需求原始描述内容较多时,逐一进行人工判别和整理需要耗费大量的时间和精力.针对中文自然语言描述的需求文本,提出了自动化的非功能需求识别和分类方法.其中,识别过程旨在从文本中提取出可能包含非功能需求的语句,尽可能地缩小人工检查的范围.分类过程则进一步将包含非功能需求的语句划分到性能、可靠性、可用性、安全性、可维护性这五大类非功能需求类型之中.分类训练和实验测试基于课题组工作项目整理的实验数据集进行,最终,基于一个工业界的实际应用案例数据,验证了方法的有效性.
2019, 30(10):3127-3147. DOI: 10.13328/j.cnki.jos.005792 CSTR:
摘要:随着DevOps在各大软件企业中的广泛实施,加速了系统软件类产品的版本交付和部署.中兴通讯在实施过程中,发现产品重要的组成部分——产品文档,还采用传统研发方式,缺乏配套流程和工具,导致产品文档交付的节奏无法与软件版本匹配,严重影响了产品完整交付的及时性.文档DevOps是一种针对产品文档持续交付的模式.通过分析开源和DITA的文档交付解决方案,同时结合系统软件的研发特点,总结出一套适合系统软件的文档交付综合解决方案,它借助DevOps理念,基于业界的DevOps工具链,构建了"文档DevOps平台"(以下简称iDoc平台),实现面向用户各类文档交付的解决方案,其典型特征有:与软件迭代流程融合,信息单元同源引用,多格式内容源的管理,持续集成的质量守护.在实际企业中通过文档DevOps实现了产品文档与软件版本的同步交付,极大地促进了文档的准确性、完整性和交付效率的提升.iDoc平台已在50多个软件产品中得到成功应用.文档DevOps解决的问题具有普遍性,有助于在更大范围内帮助其他系统软件实现敏捷价值交付,并且,文档DevOps还是对DevOps的一个补充,扩展了业界的DevOps的适用范围:交付对象涵盖了产品文档,流程延伸到市场规划,协同人员覆盖面更广.
2019, 30(10):3148-3167. DOI: 10.13328/j.cnki.jos.005793 CSTR:
摘要:随着智能机以及平板电脑的普及,安卓应用逐渐成为日常生活中不可或缺的重要元素之一,其复杂度也呈几何倍数增长.安卓平台存在的多设备类型、多操作系统版本问题,使得应用的设计和开发更为复杂.在这一现状下,提倡在安卓应用开发中使用模型来描述其开发需求与设计,以帮助开发人员更好地将注意力集中于应用,加深对开发意图的理解,更好地进行后续的开发工作.然而,当前对安卓应用的建模都采用了传统模型,无法满足安卓应用事件驱动和注重图形用户界面的特点.为此,将注重前端展示以及事件交互的交互流建模语言(IFML)应用于安卓应用的建模,描述应用中的GUI结构以及其中工作流的传递,从而指导应用的开发工作.考虑到安卓平台的特点,对IFML进行了相应的面向安卓的扩展,提高了其可用性与对安卓应用的适用性,并对IFML模型进行了形式化定义,使得IFML模型能以丰富而又精确的语义来刻画开发者对于安卓应用的设计,并在应用的实现和演化中不断发挥指导作用.另外,进一步探索了IFML模型在应用测试这一场景中的作用.基于模型的测试方法能够检验设计和实现的一致性,还能在应用的演化过程中避免测试用例的重复编写.在案例研究中,针对5个安卓应用进行了IFML建模与测试.实验结果表明,扩展后的IFML在安卓应用的建模上可行、有效,所建立的IFML模型可直接用于测试工作,用于检测应用实现与设计是否保持一致,从而保证应用的开发质量.
2019, 30(10):3168-3185. DOI: 10.13328/j.cnki.jos.005794 CSTR:
摘要:随着APP软件应用的普及,针对APP软件的用户评论数量急剧增加,基于用户评论挖掘有价值的软件使用反馈,可以帮助开发人员有针对性地维护和改进APP软件.针对不同类型的APP软件使用反馈,提出了评价对象和评价观点抽取规则,给出了评论模式和评论种子的定义;应用评论种子挖掘与之相同或相似的体现相同使用反馈类型的用户评论,基于人工标注的少量初始评论种子持续构建候选评论模式库;应用半监督自学习的方式,基于候选评论模式库动态扩充评论种子库;通过循环挖掘的方式,动态扩大挖掘体现不同使用反馈类型的APP软件用户评论的范围.实验结果表明,所提方法可以有效地挖掘体现使用反馈的APP软件用户评论,平均挖掘率达到77.82%.
王春晖 , 金芝 , 赵海燕 , 刘璘 , 张伟 , 崔牧原
2019, 30(10):3186-3205. DOI: 10.13328/j.cnki.jos.005795 CSTR:
摘要:敏捷软件开发中常用用户故事表达需求:用户故事讲述了具体的用户角色希望软件完成的功能.系统新版本的需求常常来自多个用户故事的整合.随着版本的迭代,不断会有新的用户故事出现.用户故事的迭代式管理和整合是敏捷开发成功的关键.为帮助开发者掌握项目的用户故事需求,提出人机协作的用户故事理解、整合和管理方法,支持需求的迭代更新.具体而言,提出用户故事元模型和带场景细粒度描述的用户故事表示,从故事描述、功能特征属性以及场景3个维度表达用户故事.便于开发者理解用户故事所表达的功能需求.提出基于元模型的用户故事理解,以及用户故事表达元素的自动提取方法.提出人机协同式用户故事整合方法,使用功能场景图辅助开发者确定用户故事间的关联关系.提出基于功能场景图的用户故事迭代更新方法.案例研究展示了方法的可行性.
2019, 30(10):3206-3226. DOI: 10.13328/j.cnki.jos.005796 CSTR:
摘要:DevOps已提出近十年,其作为敏捷方法在完整的软件生命周期上的延伸,旨在从文化、自动化、标准化、架构以及工具支持等方面,打破开发与运维之间的壁垒,重塑软件过程,以实现在保证高质量的前提下,缩短从代码提交到产品上线之间的周期.在竞争日益激烈的市场环境下,用户对于产品服务的稳定性以及更新频率和效率的要求不断提高,DevOps在学术界和工业界的关注程度因此也不断提高.Puppet Labs在2013年开始了全球DevOps现状的问卷调查,迄今已发布了5份报告.国内DevOps的发展相对滞后,对于国内DevOps现状的研究在工业界和学术界均处于空白.2016年和2018年分别进行了两次关于DevOps国内现状的问卷调查以填补这一空白,两次调查的受访人数分别为74和66人.基于两次调查结果,从DevOps涵盖的IT性能表现、组织文化及相关实践、开发与运维实践、工具支持、领导力、工作比例、员工敬业度及满意度这8个方面,综合分析了DevOps在国内的发展现状与趋势,并与Puppet Labs报告的全球现状进行了对比.总体而言,国内DevOps虽呈现了稳步发展的态势,但与国际水平相比尚存在明显差距,目前能达到国际高水平IT性能的受访团队仅6%.通过对比,总结了17条发现,经过综合分析,获得了3个主要结论:(1)员工素质和人才紧缺是国内DevOps滞后、过程成熟度不高的症结;(2)DevOps化越成熟,员工敬业度和满意度越高;(3)Scrum敏捷开发和基于主干开发是最普遍采纳的实践.基于分析结果,在未来实践与研究上给出了多项建议.
2019, 30(10):3227-3241. DOI: 10.13328/j.cnki.jos.005797 CSTR:
摘要:近年来,DevOps日渐火热,作为支撑技术的微服务架构由于其敏捷性、灵活性和可扩展性已成为软件行业关注的热点.然而,微服务粒度的界定是微服务领域的一项难题,至今仍缺乏行之有效的评估微服务粒度的标准.针对这一问题,结合几种微服务划分原则提出了4项评估指标,用于量化地衡量微服务划分的合理性,并基于此提出了一种基于限界上下文的微服务粒度评估模型.同时,实现了工具原型可自动化地计算评估结果.案例研究部分将模型的评估结果与架构设计人员的心理预期进行比较,结果表明,所提出的评估模型可以较好地评估微服务粒度.