1974年1月创刊(月刊)
主管/主办:重庆西南信息有限公司
ISSN 1002-137X
CN 50-1075/TP
CODEN JKIEBK
编辑中心
    智能软件工程 栏目所有文章列表
    (按年度、期号倒序)
        一年内发表的文章 |  两年内 |  三年内 |  全部
    Please wait a minute...
    1. 环境感知自适应软件的运行时输入验证技术综述
    王慧妍, 徐经纬, 许畅
    计算机科学    2020, 47 (6): 1-7.   https://doi.org/10.11896/jsjkx.200400081
    摘要 (411)   PDF (1523KB) (1014)  
    随着软件智能化与大数据时代的到来,环境感知自适应软件作为智能软件中的代表趋于流行。环境感知自适应软件有两大特征:1)“环境感知”,即能够通过传感器等设备感知周围环境并采集环境数据;2)“自适应”,即能够基于采集的环境数据自适应地进行软件决策。这类软件的主要表现特征为在运行时刻能够动态感知周边环境的变化并进行交互,从而做出决策。此外,随着大数据时代的到来,越来越多的人工智能模型被使用并被期望能够帮助环境感知自适应软件更好地实现自适应机制,使其能够更加智能地通过与环境的感知交互来做决策。一方面,由于运行时环境复杂,该类软件的运行时环境情况往往难以估计和预料,使得其在实际部署后运行在复杂环境中的可靠性很难通过事先测试得到有效保障,这也成为了这类软件在运行时得到有效质量保障所面临的一大挑战。而另一方面,此类软件对人工智能模型的应用与人工智能模型基于统计的核心特征,使得其在运行时刻选择应用人工智能模型来进行辅助决策也存在一定的局限性,这更加剧了保障此类软件在运行时刻质量的难度。因此,如何能够在此类软件的实际部署运行时更好地保障其运行质量与可靠性成为了当今智能软件工程的一个广泛研究的问题。与此同时,输入验证被认为是保障运行时刻软件质量的一大常用手段,它通过对软件输入进行有效识别,来避免不合适的输入在运行时刻被输入软件而影响软件行为。基于此,文中对环境感知自适应软件的运行时输入验证技术进行总结与综述,基于此类软件的两大特征,从“环境感知”方面的环境数据感知模块的输入验证及“自适应”方面决策模块的输入验证两个方面,分别对已有技术进行调研与综述。同时,文中还探讨了对环境感知自适应软件的运行时输入验证技术问题中的主要性能挑战,为实现更加高效的输入验证做框架性总结。最后,还对人工智能技术广泛应用于环境感知自适应软件的现状带来的对此类软件额外决策的挑战做了讨论与分析,已有工作对此挑战的探索也让此类软件进一步成熟,并为其未来集成决策逻辑演化从而达到软件自成长的理想提供支撑。通过对相关技术的综述,试图为相关领域的科研工作者勾画一个对环境感知自适应软件在运行时刻较清晰的质量保障框架,为未来的相关研究提供可能的方向与角度。
    参考文献 | 相关文章 | 多维度评价
    2. 在可信编译器设计中实践CompCert编译器的语法分析器形式化验证过程
    李凌, 李璜华, 王生原
    计算机科学    2020, 47 (6): 8-15.   https://doi.org/10.11896/jsjkx.191000173
    摘要 (324)   PDF (1516KB) (773)  
    Jourdan等在其2012年发表的论文“Validating LR(1) Parsers”中提出了一种形式化验证语法分析器的方法,并将其成功地应用于CompCert编译器(2.3以上版本)的语法分析器验证中。借助这种方法,文中完成了L2C 项目中的Lustre*语言语法分析器的形式化验证,实现了开源L2C编译器前端语法分析器的两个选项之一。首先对这一语法分析器的实现进行了论述,其中包括有参考价值的技术细节;随后分析了该语法分析器的运行性能及正确性;最后对如何将这一方法推广至更一般的应用场景进行了总结。
    参考文献 | 相关文章 | 多维度评价
    3. 软件升级问题的多目标优化方法
    赵松辉, 任志磊, 江贺
    计算机科学    2020, 47 (6): 16-23.   https://doi.org/10.11896/jsjkx.200400027
    摘要 (239)   PDF (1670KB) (653)  
    近年来,开源软件包管理成为软件产品重用的一种普遍方式,尤其是在Linux发行版操作系统领域。其中,软件升级问题是软件包管理工具必须要解决的关键挑战之一。软件升级问题旨在按照某种优化准则找出能够满足用户升级请求的最合适的升级方案。优化准则由几个不同方向的优化目标组成,因此软件升级问题本质上是一个多目标优化问题。现有的解决软件升级问题的方法均是将多个优化目标聚合成为单个目标的形式再进行处理。这些方法都可能没有恰当地考虑不同的优化目标之间的关系,因此会存在潜在的风险。针对这种风险,文中提出了一个多目标演化框架——SATMOEA(Combining Constraints Solving and Multi-objective Evolutionary Algorithms),将软件升级问题构建为可满足问题+多目标优化问题的形式,并集成了约束求解和多目标优化算法,来对软件升级问题进行求解。基于MISC竞赛提供的升级问题标准实例集进行实验,结果表明对于有着大量约束条件的复杂问题实例,多目标演化框架在一次运行中即可有效地计算出各个优化目标均达到帕累托最优的解决方案,相比现有的升级问题求解器提供的升级方案更加多样,并且在一些优化目标上更具优势,可以满足用户在不同场景下的需求。
    参考文献 | 相关文章 | 多维度评价
    4. 一种解决嵌入式软件并发缺陷的建模方法
    崔凯, 赵国亮, 周宽久, 李明楚
    计算机科学    2020, 47 (6): 24-31.   https://doi.org/10.11896/jsjkx.191100187
    摘要 (221)   PDF (4113KB) (631)  
    嵌入式并发软件的中断嵌套和线程交织等程序的随机性和不确定性(Randomicity and Nondeterminism)会引起数据竞争(Data Race)和原子性违背(Atomicity Violations)等并发缺陷问题,并且这些问题很难被修复和重新构建。针对嵌入式软件中的数据竞争和原子性违背这类并发缺陷问题,文中提出了瘦中断处理(Thin Interrupt Service Routine,Thin ISR)方式。首先,利用状态迁移矩阵(State Transition Matrix,STM)进行建模,把中断处理程序中与访问共享变量相关的程序段移植到主程序中,即中断处理程序只负责将外界中断请求数据存到缓冲区中,中断的具体处理由主程序完成;然后,利用构建的STM模型生成对应的C代码,这样可以有效地避免原子性违背和数据竞争等并发缺陷;最后,利用排队方法对中断的到达时间与离开时间进行仿真。实验结果验证了本方法在解决数据竞争和原子性违背等并发缺陷问题方面的可行性与有效性。
    参考文献 | 相关文章 | 多维度评价
    5. 知识问答社区及其激励机制的建模与仿真分析
    许子熙, 毛新军, 杨亦, 卢遥
    计算机科学    2020, 47 (6): 32-37.   https://doi.org/10.11896/jsjkx.191000088
    摘要 (149)   PDF (2079KB) (478)  
    知识问答社区已经成为当前互联网知识共享的重要载体,它提供一系列的激励机制(如声望、徽章、特权等)来鼓励用户参与和贡献,从而提高社区的活跃度。如何对这些激励机制的有效性进行分析,并指导其改进,是目前知识问答社区研究与实践面临的一项重要挑战。针对软件开发知识问答社区,提出一种基于多Agent系统的社区及其激励机制的建模和仿真分析方法,将拥有大量用户的社区视为由自主Agent构成的多Agent系统,社区用户的贡献和交互视为Agent在激励机制驱动下的协同行为。将激励机制抽象描述为Agent的信念,基于自我决定理论来解释Agent期望的生成,并最终产生社区中Agent用户的行为。通过采集Stack Overflow社区2016-2018年间的数据,基于NetLogo仿真平台对社区的发展演变进行了仿真分析,结果表明文中提出的模型及机理可有效地解释和揭示知识问答社区在激励机制作用下的演变过程。
    参考文献 | 相关文章 | 多维度评价
    6. 基于多目标优化的测试用例优先级排序方法
    夏春艳, 王兴亚, 张岩
    计算机科学    2020, 47 (6): 38-43.   https://doi.org/10.11896/jsjkx.191100113
    摘要 (239)   PDF (2041KB) (862)  
    回归测试是软件测试中使用最频繁、成本最昂贵的测试方法。测试用例优先级排序是一种能够有效降低回归测试成本的方法,其目的是通过优先执行高级别的测试用例来达到提升软件故障检测的能力。文中提出了一种基于多目标优化的测试用例优先级排序方法,该方法在遗传算法的个体评价机制中融入了选择函数,设计了合理的编码方式以及合适的选择、交叉和变异策略,以故障检测率、语句覆盖率和有效执行时间为优化目标,采用非支配排序遗传算法对测试用例优先级排序。基于4个基准程序和4个工业程序的实验结果表明:与其他方法相比,所提方法能够提高软件测试的有效性。
    参考文献 | 相关文章 | 多维度评价
    7. 基于用户反馈的APP软件缺陷识别
    段文静, 姜瑛
    计算机科学    2020, 47 (6): 44-50.   https://doi.org/10.11896/jsjkx.191100133
    摘要 (174)   PDF (1440KB) (393)  
    当前,APP软件已被广泛应用,其质量越来越受到关注。高质量的软件的缺陷应尽可能少,然而软件测试并不能发现所有的缺陷,部分缺陷到用户使用阶段才被发现,因此通过分析用户反馈的信息有助于发现软件缺陷。文中提出了基于用户反馈的APP软件缺陷识别方法,通过定义APP软件缺陷抽取规则挖掘用户反馈中的软件缺陷,并在挖掘软件缺陷的过程中动态更新抽取规则,最后对抽取出的APP软件缺陷进行分类及严重程度分析。实验表明,所提方法是有效的,提取含有软件缺陷的APP软件用户评论的准确率达85.19%,缺陷分类准确率达83.23%。
    参考文献 | 相关文章 | 多维度评价
    8. 面向群体协作开发的开源软件峭壁分析
    何鹏, 喻绿君
    计算机科学    2020, 47 (6): 51-58.   https://doi.org/10.11896/jsjkx.190300140
    摘要 (118)   PDF (1932KB) (404)  
    开源软件项目因门槛低、自由度高,在开发过程中存在进度缓慢、效率低下和项目质量偏低等问题;同时,软件峭壁(Software Cliff Wall)作为一种判定项目鲁棒性的依据,表现为软件开发过程中在短时间内完成远超过常规增量开发的一种代码贡献行为,是软件演化过程中可持续发展的一种潜在威胁。为了深入研究开源项目的开发过程,更准确地刻画软件演化,从而提高软件开发效率,分析软件峭壁的成因是一种行之有效的方法。实验以GitHub上9个时间跨度至少有5年的开源软件项目为研究对象,分别以月份和季度为周期,基于150 000多个commits上开发者的关注与评论信息构建开发者合作网络(Deve-loper Collaboration Networks,DCN),将代码行数超过1万行的单次commit视为软件峭壁,并从网络规模、网络结构、网络质量3个方面,利用节点数、连边数、节点更新率、模块度、平均路径长度、平均度、节点入度指数、节点出度均值、多样性这9个度量指标来分析软件开发过程中DCN与软件峭壁的关系。研究结果表明:1)当开发团队规模偏小,且成员更新幅度较大时,容易形成软件峭壁;2)保持开发者之间良好的“小世界”特性,有助于避免峭壁的产生;3)以季度为周期来分析软件开发过程中DCN与软件峭壁的关系更为合适,且开发团队成员的组织来源多样化也会在一定程度上促进软件峭壁的产生。
    参考文献 | 相关文章 | 多维度评价
    9. 代码标识符归一化研究现状及发展趋势
    张静宣, 江贺
    计算机科学    2020, 47 (3): 1-4.   https://doi.org/10.11896/jsjkx.200200009
    摘要 (379)   PDF (1397KB) (942)  
    作为代码分析和理解的重要内容,代码标识符及其归一化是国际学术界的前沿热点研究领域。标识符归一化旨在将标识符解析成自然语言词汇,以提高代码的可理解性和可维护性。标识符归一化主要包括两个极具挑战性的步骤,分别为组合词拆分和缩写词扩充。文中详细介绍了代码标识符归一化的研究现状,并进行了深入分析,总结出现有工作的困难和不足。同时,为了解决标识符归一化面临的困难和挑战,对该领域可行的解决思路和未来的发展趋势进行了归纳和展望,希望引导更多的研究者投入到这个重要的研究领域。
    参考文献 | 相关文章 | 多维度评价
    10. 代码相似性检测方法与工具综述
    张丹,罗平
    计算机科学    2020, 47 (3): 5-10.   https://doi.org/10.11896/jsjkx.190500148
    摘要 (425)   PDF (1428KB) (2679)  
    在代码开源的潮流下,代码克隆在提高代码质量和降低开发成本的同时,一定程度地影响了软件系统的稳定性、健壮性与可维护性。代码相似性检测在计算机与信息安全发展方面具有重要的意义。为应对代码克隆带来的各种危害,目前学术界和工业界提出了很多代码相似性检测的方法,这些方法按照源代码信息处理程度可分为基于文本、词法、语法、语义和度量值5类;并开发了相应的检测工具,这些工具实现了很好的检测效果,但在大数据时代背景下也面临着数据规模不断扩大带来的一系列挑战。文中综述了代码相似性检测的方法,对5类检测方法做了详细比较;结合传统方法与机器学习技术,归类了不同检测方法对应的检测工具;按照不同评价标准评估了检测工具的检测效果,总结了每种检测方法的首选检测工具,并对未来代码相似性检测的研究方向做出了展望。
    参考文献 | 相关文章 | 多维度评价
    首页 | 前页| 后页 | 尾页 第1页 共2页 共17条记录