代码行为属性、种类、及其研究意义

                                             代码行为的属性、种类、及其研究意义

 

 

一、代码行为的属性
   

    在这个世界上的一切事物,只要它是存在着的,就会有自己的属性和运动方式(很多时候运动方式也是属性中的一种,作为动态属性)。对于自然界的花朵,它有颜色、气味,能绽放与凋谢。对于组织中的学校,它有物理存在(地理位置)、概念存在(人将某一地理位置解释为学校),能实施概念定义下的动作:教育(对于一个满是茅坑的房间,在外面挂一牌匾,上写“XX学校”,并在房间内配有一个只发纸巾的“教师”,人走进这间房后只进行一个动作:脱裤子后唏里哗啦——相信这样的一个“XX学校”实际上不是学校)。对于事情里的“摔了一跤”,它有时间、地点、人物,能发生、发展、结束。正是由于世上事物具有属性和运动方式,就不难理解为什么一个对象可以只用该对象的属性与操作就能被刻画出来了。
    在以前说过,行为,是一种运动过程的总称(即在一时间段内一系列运动的总和),很显然是存在着的,因此同样具有自己的属性和运动方式(属性依赖于行为的本身,对于打人行为,至少有行为的发起者,有可能会有的来自第三方的行为评价,行为的作用对象及行为的作用效果;而行为的运动方式,很大程度上也可以说成是运动的运动方式,抛开运动本身不论,只看其具有的通用共性:运动进行中时间的变化)。举个例子,“我打了你嘴角一拳”,有发起者“我”,作用对象“你”,别人的评价“罪大恶极”,作用效果“你上法庭告我和我的出钱赔偿”——这是行为的属性。构成行为的运动本身——我的右手先是聚集能量,然后转换为力气,再沿着一轨道把拳头送至你嘴角。通用共性是行为时间持续时间较短,且连续,呈线性变化。
代码行为也是一种行为,所以它也有自己的特性与运动方式(运动方式就是在连续或不连续线性时间内的指令执行,在这里主要讨论其特性)。
    代码行为的分离性。一种完整的代码行为的实施(进行),从整个行为本身来讲,它是由多方面共同来完成的。从现在已存在的代码行为来看,代码行为的实施载体是代码(代码行为的行为过程的描述体现在代码中),代码行为的实施者是机器,代码行为的创建者是人。这种“一个行为实施,多方完成”的特性——代码行为的分离性与很多其它事物的行为是很不一样的。其它事物的行为通常是完整的,即行为的创建者、载体、实施者是统一的。如,人的吃饭,花的开放,学校的教育等种种行为,其行为的创建者、载体、实施者都是事物本身——人、花、学校(注意:代码行为与吃饭行为、开放行为、教育行为的行为层次是不一样的,代码行为是一个对象,而吃饭、开花、教育却作为一个对象的属性)。
    代码行为的指向性。任何代码都是具有功能的,只不过有的功能有意义,而有的功能是没有意义的。代码的一系列功能下的动作构成了代码的行为。在代码行为中,任何一子功能所具有的行为都是向完成代码的整个行为这个方向发展的——这便是代码行为的指向性;通过代码行为的定义可以知道,代码行为是用功能来衡量,在一个层次的功能下,代码行为都是指向更大一层次的功能所表示的行为。
代码行为的叠加性。前面说过,代码的一种功能必定会对应代码的一种行为,代码的一种行为也必定会具有一定的功能,可以用功能来衡量代码行为(就像用千克来衡量重量)。又因为功能是由功能叠加构成,所以具有一种功能的代码行为,是由一系列具有子功能的代码行为叠加构成的,因而代码行为是可以叠加的。

 

二、代码行为的分类
   

    在上一篇“代码行为的研究方向”中对代码行为的种类稍作了分类,在这里将进行更深入的探讨。
    首先,从影响来看,代码行为有良性行为、劣性行为以及无意义行为。良性行为是指会为一种目的的完成带来帮助、有益的代码行为,如杀毒;劣性行为则是指与良性行为影响相反的代码行为,如内存的无穷式损耗。若一种代码行为既不是良性行为,也不是劣性行为,那么,这种行为便是无意义行为,如纯粹的数学式子int a=1+2。
    其次,从复合程度来看,代码行为可分为原子行为和叠加行为。代码行为具有叠加性,因而能复合。如果一种代码行为对应的功能在另一种功能中是初始的(不必再将功能细分),那么这种代码行为就叫另一种功能对应的行为中的一个原子行为。代码的任何由其它存在行为集构成的行为叫叠加行为。原子行为与叠加行为是两个相对的概念。假设代码行为的复合程度是一条带箭头、标有尺度的直线,且起始端的复合程度最浅,复合深度向箭头端递增。在直线上任取一点,那么,在一点处代码的行为是叠加行为,但却有可能是另一点处的原子行为。例如,代码的删除这一行为,在一复合层次(仅删除功能本身)是叠加行为,因为删除至少可以再分为找到对象和将对象消灭,但在另一复合层次(如文件处理系统)却是原子行为。
    再次,从代码行为本身特有的运动方式来看,代码行为有单独行为、协作行为、宿主行为。在代码行为向行为目的地——完成整个功能的最后一条语句——行进的过程中,自始至终只有自身这单一的代码行为参与,这种代码行为就是单独行为,如只有一个线程的进程(代码的动态状态)的行为,它仅通过自身便可完成整个功能。在向行为目的地行进过程中,如果一种代码行为必须通过与其它代码行为相互配合才能行进下去,那么这种代码行为便叫协作行为,如多进程或多线程、分布式下的代码、使用临界资源的代码体现的代码行为。协作行为中有一种特殊的代码行为,宿主行为。宿主行为是指其行为实施完全依赖另一代码行为的状态或设置的条件的一种行为,如嵌入在软件中广告代码,只要满足某一条件(某个时间等)便进行广告。
    第四,从作用对象上来看,代码行为可分为自处理行为、他处理行为、中间行为和网络行为。如果代码行为作用的是发生该行为的代码自身或自身行为,这种代码行为就叫自处理行为。代码的自我移植,自我复制,自我保护,自我隐藏(隐藏反汇骗后的源代码),自我删除等都是自处理行为。相应地,他处理行为就是指代码行为作用的是其它的代码行为,如钩子、注入、非授权访问其它进程空间;而在自处理行为与他处理行为之间的、没有作用对象只是完成一种功能的行为便是中间行为,如WORD的文字处理。网络行为是指网络上的代码行为,也即行为实施场所主要是网络的代码行为,如TCP/IP服务,网络扫描,网络监控,IDS。当然,按定义来看,网络行为是也可能是一种自处理行为(蠕虫传播)或他处理行为(漏洞扫描)或中间行为(正常网络通信)。
第五,从行为的实施主体来看,代码行为有适应行为和主控行为。适应行为是这样的一种代码行为,其行为包含于一个存在的代码行为集构成的行为系统中,它的实施必须满足各种其它代码行为的约束和控制。适应行为普遍存在,如处于操作系统的控制下进程。 主控行为是指代码的能对其它代码行为进行部分或全部控制的行为,如操作系统对进程的管理,辅助工具对游戏改动。
    当功能指定后,因为代码行为的叠加性,所以与该功能对应的代码行为有可能同时属于多类代码行为。

 

三、研究代码行为的意义


    当前,病毒、软件盗版、信息和数据安全、网络安全等正前所未有地被重视,而纵观各种软件中的防范措施,很容易发现它们很大程度依赖软件所在系统或所处环境的保护机制以及软件之外的人工管理,各软件自身的防范措施很薄弱。虽然软件加人工管理可以提高软件的安全性,但根据软件的发展的目的——代替人来操作、指挥机器以让机器替代人工作或创造虚拟场景,如虚拟市场(电子商务平台),来替代实际场景——很显然需要人工的管理是不符合其发展意图的。代码行为是一个高于技术或技巧、更是高于代码编写的层次。在这个层次上,可以系统地对各种技术进行研究,从而更好地推动各类技术的发展,服务于数据、软件、网络、信息安全。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值