Mutation of Java']Java objects

被引:28
|
作者
Alexander, RT [1 ]
Bieman, JM [1 ]
Ghosh, S [1 ]
Ji, BX [1 ]
机构
[1] Colorado State Univ, Dept Comp Sci, Ft Collins, CO 80523 USA
关键词
Faults; !text type='Java']Java[!/text; mutation analysis; object-oriented programming; software testing; test adequacy; testability;
D O I
10.1109/ISSRE.2002.1173285
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Fault insertion based techniques have been used for measuring test adequacy and testability of programs. Mutation analysis inserts faults into a program with the goal of creating mutation-adequate test sets that distinguish the mutant from the original program. Software testability is measured by calculating the probability that a program will fail on the next test input coming from a predefined input distribution, given that the software includes a fault. Inserted faults must represent plausible errors. It is relatively easy to apply standard transformations to mutate scalar values such as integers, floats, and character data, because their semantics are well understood. Mutating objects that are instances of user defined types is more difficult. There is no obvious way to modify such objects in a manner consistent with realistic faults, without writing custom mutation methods for each object class. We propose a new object mutation approach along with a set of mutation operators and support tools for inserting faults into objects that instantiate items from common Java libraries heavily used in commercial software as well as user defined classes. Preliminary evaluation of our technique shows that it should be effective for evaluating real-world software testing suites.
引用
收藏
页码:341 / 351
页数:11
相关论文
共 50 条
  • [1] A technique for mutation of Java']Java objects
    Bieman, JM
    Ghosh, S
    Alexander, RT
    [J]. 16TH ANNUAL INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2001), PROCEEDINGS, 2001, : 337 - 340
  • [2] Mobile Java']Java objects
    Hayton, RJ
    Bursell, MH
    Donaldson, DI
    Herbert, AJ
    [J]. MIDDLEWARE'98: IFIP INTERNATIONAL CONFERENCE ON DISTRIBUTED SYSTEMS PLATFORMS AND OPEN DISTRIBUTED PROCESSING, 1998, : 323 - 338
  • [3] Mobile Java']Java objects
    Herbert, AJ
    Hayton, RJ
    Bursell, M
    [J]. BT TECHNOLOGY JOURNAL, 1999, 17 (02) : 115 - 125
  • [4] Hardware objects for Java']Java
    Schoeberl, Martin
    Thalinger, Christian
    Korsholm, Stephan
    Ravn, Anders P.
    [J]. ISORC 2008: 11TH IEEE SYMPOSIUM ON OBJECT/COMPONENT/SERVICE-ORIENTED REAL-TIME DISTRIBUTED COMPUTING - PROCEEDINGS, 2008, : 445 - +
  • [5] Filter objects for Java']Java
    Joshi, RK
    Mascarenhas, M
    Murarka, Y
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2003, 33 (06): : 509 - 522
  • [6] Java']JavaParty - transparent remote objects in Java']Java
    Philippsen, M
    Zenger, M
    [J]. CONCURRENCY-PRACTICE AND EXPERIENCE, 1997, 9 (11): : 1225 - 1242
  • [7] Generator and search objects in Java']Java
    Allison, L
    [J]. JOURNAL OF RESEARCH AND PRACTICE IN INFORMATION TECHNOLOGY, 2000, 32 (01): : 3 - 12
  • [8] Mobile active objects in Java']Java
    Xu, BM
    Xu, AQ
    [J]. ADVANCES IN ENGINEERING SOFTWARE, 2004, 35 (3-4) : 231 - 235
  • [9] Java']Java, Web, and distributed objects
    Chiou, YW
    [J]. SYSTEMS DEVELOPMENT METHODS FOR DATABASES, ENTERPRISE MODELING, AND WORKFLOW MANAGEMENT, 1999, : 87 - 95
  • [10] Asynchronous Active Objects in Java']Java
    Oprean, George
    Pedersen, Jan B.
    [J]. COMMUNICATING PROCESS ARCHITECTURES 2008, 2008, 66 : 237 - 254