《软件工程研究中的效度问题138878.docx》由会员分享,可在线阅读,更多相关《软件工程研究中的效度问题138878.docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程研究中的效度问题摘要 在在过去十年年中,由于于开源项目目存档的可利用性性,使用软软件资源库库构件的经验验研究已经经成为了流流行。在本本文中,我我们调查了了过去3年年对ICSEE和FSEE会议记录录的研究,并并对其按照照开源项目目与专利项目,以及及在这些研研究中所使使用主题程程序的多样样性进行分分类。我们的调调查显示,最最近的经验验研究中几几乎有一半半(49)仅仅使用了开源项目目。目前的的研究或是是从这些结结果中得出出一般性结结论,或是是明确否定定任何超出出特定主题题软件的领域所得得出的结论论。我们得出结结论,经验验性软件工程程的研究人人员必须考考虑到由于于只使用几几个知名的的开源软件件
2、项目所引引起的外部部效度问题题,这些对数数据源选择择的讨论是是软件工程程研究的一一个重要的的议题。而且,我们们建议,软件件资源库基基准应有一一个共同的的研究架构构,并共享享经验性分分析结果,这这是为了更更好地解决决外部效度度问题,并并促进经验验软件工程程中分析软软件构件的的研究。分类和主题题描述D 2.00软件工工程:通通用通用术语 效度度关键词 经经验研究,外外部效度,开开源软件1.介绍在过去的几几年中,软软件工程研研究人员充充分利用了了开源软件件项目提供供的丰富信信息。研究究人员已经经开发了开开源代码库库,问题追追踪器,邮邮寄档案列列表和其他他产品来进进行他们的的经验研究究。从表面面上看,
3、这这些研究的进行是为了了获悉更多多的软件开开发状态,以以及可以如如何改善它它。 在严格审查查开源软件件时,这些研研究中有许许多得出了了关于软件工程程的一般性性的结论。尽管管这些研究结果是有用的,这类类研究的作作者很少就就效度面临的的威胁发表意意见,特别是仅仅仅在研究究现有的开开源软件的的时候呈现现出的外部部效度问题。一些些研究人员员明确否认认特定研究究项目以外外的任何结结论,从而而在其他方方向走得太太远。这两两种方法都都无助于提提高目前的技术水准准或改进软软件工程中中的实践。 在本文文中,我们们探索软件工工程研究中中效度面临的潜在在威胁,这这些研究使使用软件构构件档案作作为一个数据集集。通常在
4、讨讨论效度时,我们特别别强调关于于选择使用开开源数据作作为主要研研究数据源源时的外部效度度问题。我我们调查了了过去几年年FSE和和ICSEE的会议记录,以确确定被发现现问题的普普遍性,提提出了我们觉得得有关改善善经验性软件工程程研究现状的问题题,以及用何何种方式可可以让这方方面知识的研究方法法有所改进进的建议。2.实验的的效度对于任何类类型的实验验,为了给给出有说服服力的论据据,它们必必须具有高高度有效性性。当对一个实验验效度的完整处理被被更好地留留给了另外外的资源,这这个部分可以简简单应对在在软件工程程研究中对对于内部,外外部,以及及建构效度度的挑战。2.1 建建构效度建构效度是是指具体的的
5、测量值是是否真的模模拟构成假假设定理的的自变量和和因变量。 换句话说,一个具有高建构效度的经验研究能够确保研究参数与研究问题紧密相关。2.2 内内部效度 在经验研究究中,干扰扰因素对内内部效度是一个主要要的威胁。我我们的调查查显示,在在软件工程程研究中,选选择性偏差差是一个普普遍的问题题,并且限限制了这些些研究的效效度。内部部效度对计算算者来说很很难处理,因为观察变量的变化可能归因为其他一些变量的存在或者变化度,这些与被控变量有联系,但没有明确地模式化变量。 2.3 外外部效度 一般般地,外部部效度指的是是除了那些直直接观察结结果以外的的领域,其其研究或实实验结果的的适用性。如如果一个研研究的
6、结论论支持整个个研究领域,那那么就说这这个研究具具有高外部部效度。在在大多数科科学科目中,研研究者们非非常重视对对外部效度度的研究,因因为研究结结果可以广广泛适用于其他他情况。 一一个给定研研究的外部部效度有几个个方面: 研研究是否在在领域中推推广到了其其他学科 是是否存在足足够的根据据和论点来来支持声明明的普遍性性 研研究成果是是否能验证证预期的理理论 减减轻建构和和内部效度度问题常常比比应对面向向内部效度度的威胁更更重要,因因为解决前前两者是先先决条件,之之后才能考考虑研究结结果超出进行研研究的主题题领域之外外的普遍性性。然而,每每个软件工工程研究应应该争取一一个高层次次的外部效效度,因为
7、为软件世界界太大,太太复杂了,无无法全面地地研究。研研究人员选选择研究代表性性的项目,然然后对其总总体概括出出结论是很很重要的。3.研究中中的开源数数据 随随着最近的的开源软件件开发和数数据的激增增,研究人人员已经转转向这些容容易取得开开发数据和和构件的资资源。尽管管有困难,不不管是否能能够被理解解,这样做做的情况已已经发生。有一段时间在开源研究领域,从开源资料库中获得一套平衡的数据已经成为一个难题,一些数据集合已经尝试着去解决这个问题。然而,开源源数据在一一些方面要要区分于专专利软件数数据。首先先,当使用用开源数据据集时,研研究人员们们经常可以使用软件工工程过程中中的产品,而而当审查专专利软
8、件时时,研究人人员们通常常可以得到到一个关于于软件系统统以及软件件系统构建建和维护环环境的更为为完整的视视图。其次次,进一步步偏置源数数据是开源源软件的领领域。许多多最成熟的的开源项目目是系统领领域软件,这这可能会引引起它自己己特有的一一系列发展展倾向。以其他领领域方向为为发展目标标的软件工工程可能会会有特殊的问题题,并且不不能被系统统特有的软软件偏置精精准地捕获获到。第三,大量量存在的工工作决定了了开源项目目的社会结结构。与此此同时,专专利项目已已经建立了了组织结构构,通过研研究它们,研研究人员们们可能放弃弃探索社会关关系的时间间密集型过过程。此外外,考恩威威法则指出出软件的设设计和构建建是
9、否开放放或私化,可能会被组织结构深远影响。由于开源项目的组织结构通常是自发形成的,能够使用开源项目数据解答的关于通信和组织结构的研究问题类型,不能推广到结构明确定义的封闭源项目。 最最后,使用用开源项目目数据进一一步使研究究方法的验验证变得复复杂,因为为很难找到合适的的工作人员员(开发者者,管理者者,测试者者),让他他们验证自自动化软件件分析的结结果,因为为贡献者的的角色常常常是隐蔽的的,他们的的工作都基基于自愿的的原则。3.1 在在研究中开开源数据的的调查一个关于过过去会议的的简单调查查有助于说说明我们的的观点。这这样一个调调查,尽管管不能完全全代表所有有的软件工程程研究,却却可以表明明目前
10、在主要要的软件工工程会议上上的普遍观观点。在这这个调查中中,我们研研究了相对对于使用合合适的源软软件构件,仅仅仅使用开开源软件构构件进行经验研究的的范围。虽然可操作作的开源定定义可能是是不固定的的,但是我们决决定用这样样一个定义义去区分开开源项目和和封闭性项项目,那就就是“现成的源源代码和开开发工具”。此外,开开源项目存存在于一个个开放的发发展实践和和授权的连连续统一体体,所以分分类必然是是主观的。在在分类文章章的过程中中,我们寻寻找那些使使用开源数数据的文章,而不仅仅仅是那些些构造了一一个开源工工具,或者者是在一个个开源授权权下提供他他们的工具具的文章。当作者使使用他们的的工具作为为开源框架
11、架的一部分分,以按照照各种其他他作用或者者不同文章章讨论中提及及到的开源源项目将数数据源区分分开,我们们也不会把把这些文章章分类为开开放性的。表表1说明了了我们关于于使用OSSS对比PPSS的研研究结果。我们的调查查结果很有有启发性。在在最近的IICSE或或FSE中中使用软件件项目作为为研究对象象的文章中中,几乎一一半仅仅使用了了OSS数数据,而其其他23%的使用了了PSS数数据。只有有15%的的文章使用了了若干OSSS,PSSS或常规数据据(包括生生产实例和和基准)的的结合。我们们希望OSSS与PSSS之间的的区别不会会像我们认认为的那么么巨大,以免免使大量软软件工程研研究的效度度问题引起起
12、争议。在做这个调调查的时候候,我们注注意到了一一些有趣的的现象。每每当提到开开源项目时时,总会用用到很多“生产阶段段代码”或“现实世界应应用”这类时期期。许多文文章愿意承承认使用来来自SouurceFForgee的项目作作为他们唯唯一的输入数据据源,然而轻易易忽视了这这种做法所所带来的问问题。我们也注意意到很多作作者选择在在他们制造造的数据中中测试算法法或程序,例例如样本程程序和基准准。然而这些测测试在研究究过程中是是一个重要要的步骤,因此获得的结果不会使他们的外部效度更可信(见第5节标记处的讨论)。有趣的是,主主题数据源源的实现语语言似乎也也很容易被被曲解。例例如,许多多用研究工工具是用JJ
13、AVA编编写的,因因此作者选选择JAVVA程序作作为他们的的数据源。找找不到标准准化的“产业”语言,例例如Vissual Basiic或Coobol.这些语言言虽然过时了了,也许不不能处在软软件工程研研究的最前前沿,大量量现有系统仍然然在这类平平台上运作作,在一定定规格基础础上,软件件工程实践践者们仍然然在接触和和使用这些些语言。对对改进软件件工程实践践状态感兴兴趣的研究究者们,可以考虑将使用这些语言进行行编写的项项目作为候选的研究究对象,将将会做得更更好。会议文章总量用到数据的的文章数据源开放封闭常规合并ICSE07ESEC/FSE07ICSE08FSE008ICSE09ESEC/FSE09
14、494256315038392136193820181217722109595751025232247563总量数据占比例例266175100%8649%4023%2414%2715%表1:在研研究文章中中开放性源源作为数据据源4.开放式式问题 上面面所给的背背景资料,我我们相信经经验软件工工程领域必必须解决下下面的问题题,以增加加主要使用用开源数据据进行的研研究的外部部效度。 高度依赖赖开源数据据对效度有什么么威胁? 开源开发发与专利开开发实践在在意义方面面有不同之处吗吗? 是否有足足够多种类类的开源数数据使结果果具有普遍遍性? 即使当效度度问题存在在,作者可可以识别出这些问问题,并解解决它
15、们吗吗? 项项目委员会会,评审员员和研究人人员可以并并应该共同同工作,解解决这些问问题并增加加软件工程程研究的效效度。通过过认识各种种数据源的的优点和偏差,作者者可以在考考虑到专利利软件与开开源软件开开发差异性性的基础上上,更好地地提高他们们研究的质质量,解决决那些关于于效度的问题题。例如,从历历史来看,开开源团队在在工作方式式上与专利利软件团队队有根本性性的不同。成成员们频繁繁来去,他他们在地理理位置上分分布广泛,根根据需要他他们留下了了如电子邮邮件存档这这类长期使使用的交流流工具的信信息。这些些特征尤其其和软件工工程研究人人员研究的的大型项目目有关。相相比之下,专利的团队工作方式有所不同,
16、他们可能留给研究人员更少的有用信息。闲聊、会议以及其他的通讯往往没有记录。在某些情况下,这样的相互交流可以占用一个标准工作日的75分钟。专利软件开开发拥有而而开源开发发没有的一类类资源,是是参与人员员的使用权权。当有大量量数据供给给时,专利软软件收集信信息相比简简单地将自自动挖掘技技术应用到到大型开源源数据库更更加费时,代代价更大。此外,开源源软件的成成功对专利利软件厂商商并没有很很大的影响响。许多公公司利用不不断深入的的全球化,在地理上广泛分布团队以期达到最大限度的工作效率。虽然源代码不能在开源许可证条件下使用,但是实际的开发实践已经开始借鉴这些开放资源。同时,成功的开放资源项目往往获得商业
17、公司的赞助、使用和夺标购买。在这种情况下,许可证或许会保持开放,但是开发构架开始变得严格,渐渐回到传统的开发过程。5.基准 最后值得得注意的一一点是软件件工程研究究中基准的使用用。我们不不是第一个个建议在软软件工程中中使用基准准的,但是是我们的调调查数据显显示先前的的请求往往往被忽视。对对于软件效效度的威胁胁正在增加加,对于经经验基准的的正确设置置连同其他他措施一起起将加强软软件工程领领域效度问问题的研究究。虽然软件测测试领域已已经开始使使用软件构构件基础设设施库(SSIR)评评估各种测测试方法,我们研究的许多论文都引用了这个资源库的构件,但是这些论文很少对整个程序组有一个综合全面的考虑,因为
18、SIR资源库会因为用回归测试和错误数据覆盖软件历史而受到限制。SIR是一个很好的开始,但是为了增强实验的有效性,研究人员需要一个更为完整的数据集。构建一个具具有代表性性的基准数数据集是很很不容易的的,但是其其他领域的的结果是令令人鼓舞的的。例如,为为编译器优优化的研究究建的Daacapoo基准已经在在学术界和和产业界采用用并继续发发展。虽然然基准的制制定有很多多的困难(研究者会会优化研究究以适应基基准的特点点),我们们相信这些些基准带来的的好处远远远超过了研研究成本。鉴鉴于软件的的发展变化化非常迅速速,维持这这一套基准准可能非常常耗时间。尽管有这些些困难,一一套恰当的的基准应该被认为为是软件工
19、工程研究中中效度实验的先决决条件。而而且,这些些基准将促进进研究方法法的比较性性评估。目目前,由于于缺乏共同同的基准和和对这些基基准的分析析结果,研研究者经常常被迫重复复他人用过过的方法,并并经常和相相同主题的的软件比较较,承担了了不必要的的高昂的验验证研究方方法费用。6.结论 自自从ICSSE和FSSE的初期期,软件工程程研究取得得了很大的的进展,而而且使用真真实软件系系统进行经经验验证的的限制有很很大程度的的提高。考虑最近的的ICSEE和FSEE会议中我们们已经表达达了我们的担忧忧,即被检检验数据不不足以保证证隐含要求求的结果普普遍性,而而作者不能充分承承认这个事事实。因此此,我们概概述了一系系列问题,希望望会鼓励研研究人员更更好地解决决外部效度度问题。 此此外,展望望未来,我们提出出为什么我我们相信一一套合适的的执行基准准和这套基基准共享的的分析结果果会改善软软件工程研研究中的效效度测量。最后后,在软件件工程领域域中,评审审员和项目委员会会成员承担担监控效度度问题的责责任。这些些研究界的的突出贡献献者在他们们审查出版版的论文中中必须坚持持关于效度度的讨论。大大家在这个个领域的一一致努力将将会掀起将将效度研究向向更高标准准发展的高高潮。
限制150内