首页> 中国专利> 一种移动应用版本更新的图形化说明生成方法及系统

一种移动应用版本更新的图形化说明生成方法及系统

摘要

本发明实施例公开了一种移动应用版本更新的图形化说明生成方法及系统,其中,该方法包括:对移动应用修改前后版本更新的类进行聚类,获得聚类结果;根据所述聚类结果定位修改所述移动应用对应的用户界面;根据修改后的用户界面生成更新描述的图形化说明。在本发明实施例中,通过生成图形化更新描述,可以为用户展现软件更新对应的用户界面,可以帮助用户更为清晰直观地了解软件的变化,为用户提供更好的服务,明显改善用户体验。

著录项

  • 公开/公告号CN104850311A

    专利类型发明专利

  • 公开/公告日2015-08-19

    原文格式PDF

  • 申请/专利权人 中山大学;

    申请/专利号CN201510276003.2

  • 发明设计人 周凡;林格;邹啟文;

    申请日2015-05-26

  • 分类号

  • 代理机构

  • 代理人

  • 地址 510006 广东省广州市番禺区大学城中山大学东校区教学实验中心C401

  • 入库时间 2023-12-18 10:31:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-05-01

    授权

    授权

  • 2015-09-16

    实质审查的生效 IPC(主分类):G06F3/0481 申请日:20150526

    实质审查的生效

  • 2015-08-19

    公开

    公开

说明书

技术领域

本发明涉及移动应用展示技术领域,尤其涉及一种移动应用版本更新 的图形化说明生成方法及系统。

背景技术

近年来,随着信息技术的高速发展和移动终端的快速普及,移动应用 产业取得了突飞猛进的发展。面对用户层出不穷的需求,当前的应用软件 一直处于持续更新的状态,各种移动软件已成功应用于生活的各个领域, 各种便捷的应用在用户的手指点击下变为现实,比如购物、打车、地图等。 软件产业的兴起为用户的生活带来了新的变革,然而多样化的移动应用以 及频繁更新的软件版本,为用户选择合适的软件提出了新的挑战。

对于频繁更新的移动应用,用户希望能在更新应用之前直观地了解相 应的修改并决定是否要进行更新,查看更新日志是较好的选择。然而,软 件更新描述往往包含技术相关的叙述,比如修改界面的控件(list等),调 整配置信息等,这对于不熟悉软件开发的用户是陌生而晦涩的。另外,更 新描述还会包括一些模糊的描述,如bug修复、性能提升等,用户更希望 直观的查看相应的修改界面。如手机端的12306软件,近期的版本对验证 码的输入样式做了更改,由传统的字符输入改为选出给定关键字对应的图 片,显然直接展示修改前后的对应验证码界面比用文本描述更为清晰直观。

另外,通过对谷歌市场(google play store)306个应用程序(Application, app),1007个修改记录的调研,发现接近45%的更新与用户界面相关,这 些与界面布局或界面功能相关的修改信息正是用户感兴趣的。针对当前的 更新描述不够清晰直观的现状,生成更为直观的图形化修改说明来帮助普 通用户了解app更新状态是非常必要的。

现在谷歌市场等app应用程序商店提供的都是新版本修改的文本描述, 没有针对具体的修改展现对应的用户界面。而新版本修改的文本描述可以 比较准确的叙述修改的信息,帮助一定经验的用户了解版本修改详情。然 而文本描述不够直观,而且部分更新描述包含技术实现相关的信息,普通 用户很难理解,体验感不好。

发明内容

本发明的目的在于克服现有技术的不足,本发明提供了一种移动应用 版本更新的图形化说明生成方法及系统,可以为用户展现软件更新对应的 用户界面,可以帮助用户更为清晰直观地了解软件的变化,为用户提供更 好的服务,明显改善用户体验。

为了解决上述问题,本发明提出了一种移动应用版本更新的图形化说 明生成方法,所述方法包括:

对移动应用修改前后版本更新的类进行聚类,获得聚类结果;

根据所述聚类结果定位修改所述移动应用对应的用户界面;

根据修改后的用户界面生成更新描述的图形化说明。

优选地,所述根据所述聚类结果定位修改所述移动应用对应的用户界 面的步骤,包括:

在所述聚类结果中提取类名,并对类名做基本的处理;

以修改类所属的源代码文档作为输入,对源代码进行预处理;

对经过预处理的文档集合进行建模,生成主题模型;

在所述主题模型中匹配查询对应的主题,匹配对应的源代码类,对主 题中的类按照相关程度进行排序得到类的概率逐步减小的文档主题生成模 型LDA列表;

通过类的结构依赖分析在结构耦合层次上找出与修改的类相关的类列 表,构建依赖图;

根据所述类列表对所述LDA列表中的类按照相关程度重新排序;

识别最靠前的交互界面。

优选地,所述在所述聚类结果中提取类名,并对类名做基本的处理的 步骤,包括:

对修改中的某个类作为输入,通过源代码静态分析方式提取类名;

对所述类名进行基本处理。

优选地,所述对所述类名进行基本处理的步骤,包括:对所述类名作 切分单词处理,将处理后的多个词作为关键字进行LDA查询。

相应地,本发明实施例还提供一种移动应用版本更新的图形化说明生 成系统,所述系统包括:

聚类模块,用于对移动应用修改前后版本更新的类进行聚类,获得聚 类结果;

修改模块,用于根据所述聚类模块所获得的聚类结果定位修改所述移 动应用对应的用户界面;

生成模块,用于根据修改后的用户界面生成更新描述的图形化说明。

优选地,所述修改模块包括:

基本处理单元,用于在所述聚类结果中提取类名,并对类名做基本的 处理;

预处理单元,用于以修改类所属的源代码文档作为输入,对源代码进 行预处理;

主题模型生成单元,用于对经过预处理的文档集合进行建模,生成主 题模型;

查询单元,用于在所述主题模型中匹配查询对应的主题,匹配对应的 源代码类,对主题中的类按照相关程度进行排序得到类的概率逐步减小的 文档主题生成模型LDA列表;

构建单元,用于通过类的结构依赖分析在结构耦合层次上找出与修改 的类相关的类列表,构建依赖图;

排序单元,用于根据所述类列表对所述LDA列表中的类按照相关程度 重新排序;

识别单元,用于识别最靠前的交互界面。

优选地,所述基本处理单元还用于对修改中的某个类作为输入,通过 源代码静态分析方式提取类名;并对所述类名进行基本处理。

优选地,所述基本处理单元还用于对所述类名作切分单词处理,将处 理后的多个词作为关键字进行LDA查询。

在本发明实施例中,通过生成图形化更新描述,可以为用户展现软件 更新对应的用户界面,可以帮助用户更为清晰直观地了解软件的变化,为 用户提供更好的服务,明显改善用户体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对 实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地, 下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员 来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附 图。

图1是本发明实施例的移动应用版本更新的图形化说明生成方法的流 程示意图;

图2是本发明实施例中更新类的聚类结果示意图;

图3是本发明实施例中定位修改移动应用对应的用户界面的过程示意 图;

图4是本发明实施例中生成更新对应的图形化说明的流程示意图;

图5是本发明实施例的移动应用版本更新的图形化说明生成系统的结 构组成示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进 行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没 有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的 范围。

图1是本发明实施例的移动应用版本更新的图形化说明生成方法的流 程示意图,如图1所示,该方法包括:

S101,对移动应用修改前后版本更新的类进行聚类,获得聚类结果;

S102,根据聚类结果定位修改移动应用对应的用户界面;

S103,根据修改后的用户界面生成更新描述的图形化说明。

在S101中,本发明基于源代码比较处理方式,即对于给定的两个源代 码版本,分析版本之间的修改并找出每个修改对应的用户界面。然而,源 代码版本之间的修改可能包含多重目的,这里以修改前后的源代码版本作 为输入,采用机器学习的方法将有同样修改目的的类聚集到一个集合中, 即聚类。图2是某两个源代码版本更新类的聚类结果,其中包括多个修改, 每个修改表示与该修改相关的源代码类的集合。

在移动应用工程中,一个用户界面对应一个activity组件(移动应用中 的基本组件),即一种源代码类,而且每个activity都会在配置文件中注册。 因此,对于步骤1中得到的各个修改,该步骤主要是找出修改是与哪个 activity相关的。

通过S102中定位到的修改对应的用户界面(activity),用命令定向修 改前后版本中的源代码类activity,最后按照一定的规则来生成修改对应的 图形化说明。

在S102中,利用源代码的语义和结构依赖的特点识别出与修改对应的 用户界面。每个修改是若干个相关类的集合,分别以每个类作为起点,结 合信息检索模型LDA和源代码类的依赖关系,生成一个与修改的类相关的 类的排序列表<修改的类,<类1,类2,...,类n>>,其中每个类都有一个表示 与修改类相关程度的概率值,通过排序列表找出最靠前的activity作为该修 改类对应的用户界面。最后,分析修改集合中所有类对应的activity,命中 次数最多的即为该修改对应的用户界面。

下面结合图3说明识别修改中的一个类对应的activity的具体过程。

如图3所示,S102包括:

S1021,在聚类结果中提取类名,并对类名做基本的处理;其中,对修 改中的某个类作为输入,通过源代码静态分析方式提取类名;对类名进行 基本处理。

S1022,以修改类所属的源代码文档作为输入,对源代码进行预处理; 这里主要根据编程习惯,标识符(类名,方法名,变量名)和注释都包含 功能实现相关的信息,利用这些潜在的重要信息可以挖掘相关的类。然而 不同于自然语言文档,面向对象程序是结构性的,且很多单词都没有功能 性的意义。因此,在主题模型生成前对源代码进行预处理是关键的。该步 骤以修改类所属的源代码文档作为输入,对源代码进行预处理,主要包括 信息提取、单词切分、提取词干、去停用词,以及针对app源码规模小的 特点提出的基于结构信息和词频-逆向文档频率(tf-idf)的词权重的方法来 过滤噪音词。

S1023,对经过预处理的文档集合进行建模,生成主题模型;这里利用 信息检索中常用的文本模型LDA对S1022中经过预处理的文档(由无先后 顺序的单词组成)集合进行建模,各个文档被建模成主题的集合(每个文 档有对应于相应主题的概率),而主题被建模成单词的集合(每个单词有反 映该主题的概率)。

S1024,在主题模型中匹配查询对应的主题,匹配对应的源代码类,对 主题中的类按照相关程度进行排序得到类的概率逐步减小的文档主题生成 模型LDA列表;这里以S1021中提取的关键字作为查询,在S1023中得到 的主题模型中去匹配该查询对应的主题进而匹配到对应的源代码类。

S1025,通过类的结构依赖分析在结构耦合层次上找出与修改的类相关 的类列表,构建依赖图;以S1021中选择的类作为起点,通过静态代码分 析技术构建依赖图。其实质是一棵树,根节点是初始类,每个类的孩子节 点是与该类有相互依赖的类,在构造树的过程中如果某个类的孩子节点已 经存在于树中,则该孩子节点不再重复加入。最后按照树的深度将该树存 储为有先后顺序的DG列表,列表中的每一项为一个类以及其对应的父类。

S1026,根据类列表对LDA列表中的类按照相关程度重新排序;结合 S1025得到的DG列表对S1024得到的LDA列表中的类重新排序,首先排 除掉在DG列表中不可达的类,然后根据父子节点的概率对其相互调整, 其中父子关系可在DG列表中得到。若子节点的概率比父节点的概率大, 那么父节点很可能是连接到子节点的接口,理论上这时候父节点也很重要, 因此可把父节点的概率值调整为其子节点的最大概率值。另外,如果一个 父节点概率值很大,说明这个父节点在功能层次很相关,那么与其紧密依 赖的子节点应该也不会有太低的概率值,如果子节点的概率值很小,将子 节点的概率值调整为父节点的概率/子节点的个数,最后再把调整好的类的 列表按照相关程度重新排序。

S1027,识别最靠前的交互界面(activity)。每个移动应用工程有个注 册activity的配置文件,可以获取整个移动应用的用户界面对应的activity。 对S1026重新排序生成的相关类的列表从前到后进行筛选,找出第一个 activity作为该类对应的用户界面。

在S102中,可以获得修改中的类对应的用户界面,对修改中所有类进 行相同操作,最后找到各个类对应的activity进而找出命中次数最多的作为 该修改对应的activity。

下面结合图4对如何生成更新对应的图形化说明。

对于每一个修改,运行移动应用两个版本的代码,通过命令定向activity 查看前后两个源代码版本中修改对应的activity是否存在。如果都存在,再 利用图片对应位置像素的比较来判断这两个界面是否一样,如果只是修改 该界面背后的功能而不对界面布局进行修改,只显示该界面告诉用户该界 面发生了功能修改,否则将前后两个版本生成的对应用户界面都显示用以 给用户产生直观的对比。如果修改前版本中的activity不存在,则生成修改 后版本中该修改对应的用户界面,并配上文字“增加界面”,给用户一个直 观感受,如果用户不想用这个新界面对应的功能,可以选择不更新。如果 修改后版本中的activity不存在,则生成修改前版本中该修改对应的用户界 面,并配上文字“删除界面”,告诉用户该界面对应功能被删除,如果用户 仍想继续使用这个界面对应的功能,可以选择不更新。

相应地,本发明实施例还提供一种移动应用版本更新的图形化说明生 成系统,如图5所示,该系统包括:

聚类模块51,用于对移动应用修改前后版本更新的类进行聚类,获得 聚类结果;

修改模块52,用于根据聚类模块51所获得的聚类结果定位修改移动应 用对应的用户界面;

生成模块53,用于根据修改后的用户界面生成更新描述的图形化说明。

其中,修改模块52包括:

基本处理单元,用于在聚类结果中提取类名,并对类名做基本的处理;

预处理单元,用于以修改类所属的源代码文档作为输入,对源代码进 行预处理;

主题模型生成单元,用于对经过预处理的文档集合进行建模,生成主 题模型;

查询单元,用于在主题模型中匹配查询对应的主题,匹配对应的源代 码类,对主题中的类按照相关程度进行排序得到类的概率逐步减小的文档 主题生成模型LDA列表;

构建单元,用于通过类的结构依赖分析在结构耦合层次上找出与修改 的类相关的类列表,构建依赖图;

排序单元,用于根据类列表对LDA列表中的类按照相关程度重新排序;

识别单元,用于识别最靠前的交互界面。

基本处理单元还用于对修改中的某个类作为输入,通过源代码静态分 析方式提取类名;并对类名进行基本处理。进一步地,对类名作切分单词 处理,将处理后的多个词作为关键字进行LDA查询。

具体地,本发明实施例的系统相关功能模块的工作原理可参见方法实 施例的相关描述,这里不再赘述。

在本发明实施例中,通过生成图形化更新描述,可以为用户展现软件 更新对应的用户界面,可以帮助用户更为清晰直观地了解软件的变化,为 用户提供更好的服务,明显改善用户体验。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分 步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算 机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only  Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘 等。

另外,以上对本发明实施例所提供的移动应用版本更新的图形化说明 生成方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理 及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方 法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想, 在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容 不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号