1974年1月创刊(月刊)
主管/主办:重庆西南信息有限公司
ISSN 1002-137X
CN 50-1075/TP
CODEN JKIEBK
编辑中心
    2016 年全国软件与应用学术会议 栏目所有文章列表
    (按年度、期号倒序)
        一年内发表的文章 |  两年内 |  三年内 |  全部
    Please wait a minute...
    1. 自适应软件的策略自动生成与演化
    林华山,刘洋,焦文品
    计算机科学    2017, 44 (11): 9-14.   https://doi.org/10.11896/j.issn.1002-137X.2017.11.002
    摘要 (68)   PDF (885KB) (148)  
    随着软件功能的日益强大和运行环境的日益复杂,软件要求能够及时感知环境和需求的变化,并做出相应的反应。自适应系统是一种能够通过感知环境和运用自身知识决策自身行为的软件框架。策略集是自适应系统的核心知识,但是现有自适应研究都缺少对策略的生成、维护、演化等的关注。借鉴决策树算法,提出一种使用策略树来自动生成、演化和维护策略集的方法,使得自适应软件能够更好地使用知识,排除人为制定策略对自适应软件效果的影响;同时,以RubiS网站为基础,通过仿真实验验证了方法的可行性。
    参考文献 | 相关文章 | 多维度评价
    被引次数: Baidu(1)
    2. 软件集成开发环境的技术债务管理研究
    刘亚珺,李兵,李增扬,梁鹏,吴闽泉
    计算机科学    2017, 44 (11): 15-21.   https://doi.org/10.11896/j.issn.1002-137X.2017.11.003
    摘要 (101)   PDF (1291KB) (182)  
    软件技术债务是运用经济学中“债务”的概念来描述软件开发中因项目短期利益而实施的技术折中。但从长期来看,技术债务会影响软件的质量、成本和开发效率,因此有必要对其进行有效管理。现有的技术债务管理工具数量少且存在各种局限性,难以实现有效的管理。主流的软件集成开发环境功能强大且应用广泛,可以为技术债务管理服务。以具有代表性的集成开发环境Visual Studio 2015企业版为研究对象,通过C#实例发现其管理4类与代码直接相关的技术债务的能力,并将其与4种专门的技术债务管理工具进行对比,为开发团队的日常实践提供技术债务管理支持。结果表明,Visual Studio能够提供更好的技术债务管理功能,并能应用多种方法对项目中存在的各类技术债务进行不同程度的管理。
    参考文献 | 相关文章 | 多维度评价
    3. 一种基于动态插桩的JavaScript反事实执行方法
    龚伟刚,游伟,李赞,石文昌,梁彬
    计算机科学    2017, 44 (11): 22-26.   https://doi.org/10.11896/j.issn.1002-137X.2017.11.004
    摘要 (138)   PDF (792KB) (164)  
    目前,静态分析技术已被广泛用于JavaScript程序的安全性分析。但是由于JavaScript支持通过eval等方法在运行时动态生成代码,仅靠静态分析难以取得动态生成代码。一种可行的解决方法是通过动态运行目标程序取得动态生成代码,再对其进行静态分析。然而,动态运行目标程序只能覆盖有限的执行路径,会遗漏其他执行路径中的动态生成代码。针对这一问题,基于动态插桩实现了一个反事实执行方法。该方法通过修改JavaScript引擎,在其语法解析阶段动态插入反事实执行体,使条件不成立的分支路径和当前执行路径均能够得到执行。通过该插桩方式,即使嵌套调用eval等方法,也能在其动态生成代码中完成插桩。同时,还实现了一种按需undo方法,以消除反事实执行体中赋值操作带来的影响,且能够避免冗余操作。实验结果表明,实现的方法能够有效地扩大动态分析中执行路径的覆盖面。
    参考文献 | 相关文章 | 多维度评价
    4. 基于测试例生成的Android应用数据竞争验证方法
    佘艺,唐弘胤,吴国全,陈伟,魏峻,黄涛
    计算机科学    2017, 44 (11): 27-32.   https://doi.org/10.11896/j.issn.1002-137X.2017.11.005
    摘要 (108)   PDF (908KB) (166)  
    Android应用是一种事件驱动的并发程序。后台线程与异步事件执行顺序的不确定,导致数据竞争在Android应用中普遍存在。现有的针对Android应用的竞争检测工具会产生大量误报,且不能确定地重现竞争。针对以上问题,在现有的竞争检测结果的基础上,提出了一种基于测试用例生成的Android应用数据竞争验证方法。该方法首先构建应用的状态转化图,并基于状态转化图和现有竞争检测工具的检测结果自动生成包含潜在数据竞争的测试用例,然后在测试用例执行的过程中通过控制事件分发和线程的执行顺序来暴露竞争,观察竞争是否会引起程序异常。实验结果表明,该方法能有效地重现数据竞争引起的并发错误,并指出检测结果中的误报。
    参考文献 | 相关文章 | 多维度评价
    5. 一种面向云构软件的云操作系统
    王伟,胡长武,郭栋,张静轩,常进达,张礼庆
    计算机科学    2017, 44 (11): 33-40.   https://doi.org/10.11896/j.issn.1002-137X.2017.11.006
    摘要 (152)   PDF (1310KB) (238)  
    云计算和互联网的兴起不仅带来了数据中心的变化,也带来了软件的开发、部署、运维和使用上的变革。随着当前云计算和网络环境的不断完善,传统软件如何更好地利用云计算平台并服务于终端用户是计算机软件领域的研究热点,具有广泛的现实意义。近年来,随着实时互联网、微服务、云端渲染、容器等技术和理念发展的不断深入,软件(Software)形态将进一步朝着云件(Cloudware)形态的方向发展。文中主要探究了在云计算和互联网环境下“云件”这一新型软件范型,并针对该软件范型提出了一种新型的云操作系统:GalaxyOS。GalaxyOS可以在不修改传统软件的情况下直接将软件部署到云端运行,并通过浏览器实时投射到终端用户,实现传统软件的新型服务模式。通过采用微服务架构设计,使得该云操作系统具有较好的可扩展、容灾性和灵活配置等特性。通过对实际的GalaxyOS原型系统的实现和交互时延及资源占用进行实验,验证了所提方法在用户体验上的有效性。
    参考文献 | 相关文章 | 多维度评价
    被引次数: Baidu(3)
    6. 基于Mozilla的安全性漏洞再修复经验研究
    张凯,孙小兵,彭鑫,赵文耘
    计算机科学    2017, 44 (11): 41-49.   https://doi.org/10.11896/j.issn.1002-137X.2017.11.007
    摘要 (113)   PDF (1378KB) (159)  
    相较于其他类型的漏洞,安全性漏洞更容易发生再修复,这使得安全性漏洞需要更多的开发资源,从而增加了这些安全性漏洞修复的成本。因此,减少安全性漏洞再修复的发生的重要性不言而喻。对安全性漏洞再修复的经验研究有助于减少再修复的发生。首先,通过对Mozilla工程中一些发生再修复的安全性漏洞的安全性漏洞类型、发生再修复的原因、再修复的次数、修改的提交数、修改的文件数、修改的代码行数的增减、初始修复和再修复的对比等数据进行分析,发现了安全性漏洞发生再修复是普遍存在的,且与漏洞发生原因的识别的复杂程度和漏洞修复的复杂程度这两个因素有关;其次,初始修复涉及的文件、代码的集中程度是影响再修复的原因之一,而使用更复杂、更有效的修复过程可有效避免再修复的发生;最后,总结了几种安全性漏洞发生再修复的原因,使开发人员有效地识别不同类型的安全性漏洞再修复。
    参考文献 | 相关文章 | 多维度评价
    7. 砂岩显微图像分析方法及其工具实现
    郝慧珍,姜枫,李娜,顾庆
    计算机科学    2017, 44 (11): 50-55.   https://doi.org/10.11896/j.issn.1002-137X.2017.11.008
    摘要 (84)   PDF (1039KB) (375)  
    图像分析是研究砂岩薄片的重要手段。研究适用于砂岩薄片的图像分析的方法并进行工具实现,在岩石学研究、油气勘探等方面具有重要意义。文中设计开发了砂岩显微图像分析软件系统。首先,提出基于超像素分割和聚类的图像分割方法来分割砂岩薄片显微图像,形成只具有单一矿物成分的超像素;然后,以矿物显微图像作为训练数据,提取颜色和局部等特征参数来训练分类器分类超像素;最后,合并相邻超像素从而形成完整的矿物颗粒,并标定其类别成分。在对方法进行研究的基础上,进行软件设计实现,对砂岩薄片显微图像中的矿物组分和组构特征进行分析。对一些采自西藏的典型砂岩薄片显微图像的分析表明,该方法具有良好的实用价值,但还需要进一步完善和优化。
    参考文献 | 相关文章 | 多维度评价
    8. 一种面向SaaS多租户的多层模型
    李响,李彤,谢仲文,何云,成蕾,韩煦
    计算机科学    2017, 44 (11): 56-63.   https://doi.org/10.11896/j.issn.1002-137X.2017.11.009
    摘要 (149)   PDF (1134KB) (227)  
    SaaS(Software as a Service)伴随云计算而出现,它与传统软件的区别较大。根据SaaS软件的特点,提出支持SaaS软件成熟度的SaaS软件分层元模型,使用形式化方法对每一层进行建模描述。受面向对象Petri网(Object-Oriented Petri Nets,OOPN)和有色Petri网(Colored Petri Nets,CPN)思想的启发,提出面向服务网结构SOP(Service-Oriented Petri Nets)和CSOP(Colored Service-Oriented Petri Nets)。一方面,使用封装的库所元素代表服务,体现了服务对外不可见,且内部结构影响系统运行。另一方面,不同的颜色集代表不同租户请求,突出了SaaS多租户的特点。这不仅为复杂的SaaS软件建模提供了方法,还能够折叠系统变迁,压缩状态空间。最后,以一个 客户关系管理 (Customer Relationship Management,CRM)SaaS软件系统为例,验证了文中工作的可行性。
    参考文献 | 相关文章 | 多维度评价
    被引次数: Baidu(8)
    9. 基于语义补丁的Linux驱动程序后向移植技术
    朱丽华,文艳军,董威
    计算机科学    2017, 44 (11): 64-68.   https://doi.org/10.11896/j.issn.1002-137X.2017.11.010
    摘要 (100)   PDF (824KB) (213)  
    使用语义补丁技术对Linux的网卡驱动程序的后向移植方法进行研究。通过分析多个不同内核版本的驱动程序代码,在兼容库代码的支持下,提出了一种使用语义补丁进行驱动程序后向移植的方法。针对符号和函数分别开发了语义补丁,解决了后向移植过程中代码冗余以及补丁文件过多的问题,提高了后向移植的效率。实验分析表明,所使用的语义补丁的代码行数比普通补丁减少了很多,使得移植过程更加高效。在后向移植的过程中,对兼容库的构造方法进行了总结,使得移植后的代码可读性更强。所提方法对实现其他驱动程序的后向移植提供了借鉴意义。
    参考文献 | 相关文章 | 多维度评价
    10. 一种基于UML关系的Java代码库构造方法
    姜人和,郑晓梅,朱晓倩,潘敏学,张天
    计算机科学    2017, 44 (11): 69-79.   https://doi.org/10.11896/j.issn.1002-137X.2017.11.011
    摘要 (97)   PDF (1575KB) (273)  
    关系信息是体现代码结构和语义的最重要的一类信息,如继承、聚合、组合、依赖、调用和创建实例等。为了更好地支持开源代码的理解与复用,提出了一种基于UML2关系的代码库构造方法。它以图数据库为实现平台,采用语言工程中经典的抽象语法树作为基础,并针对Java语言的特性和机制,设计富语义的Java代码属性图数据模型,在此基础上使得Java代码的图结构持久化。同时,为了屏蔽各种编程语言社区对代码中关系信息理解的差异性,采用UML2.4国际标准版本中定义的关系类型及语义解释,设计相应的代码关系抽取算法,为图节点添加对应的关系边。针对代码图化后的膨胀及代码库的空间存储消耗情况,选取9个常见的开源项目进行了实验评估。最后,给出了基于此代码库的查询应用实例。
    参考文献 | 相关文章 | 多维度评价
    首页 | 前页| 后页 | 尾页 第1页 共3页 共28条记录