37
Constructing Subtle Higher Order Mutants from Java and AspectJ Programs Elmahdi Omar, Sudipto Ghosh and Darrell Whitley Department of Computer Science Colorado State University

Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Constructing Subtle Higher Order Mutants

from Java and AspectJ Programs

Elmahdi  Omar,  Sudipto  Ghosh  and  Darrell  Whitley  Department  of  Computer  Science  Colorado  State  University    

 

Page 2: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Problems with Mutation Testing

A  fault-­‐based  tes-ng  technique  that  help  testers  measure  and  improve  the  ability  of  test  suites  to  detect  faults  

Majority  of  First  Order  Mutants  (FOMs)  represent  trivial  faults  that  are  o@en  easily  detected  [Jia  and  Harman  2008]  

Real  faults  are  complex  -­‐  A  large  majority  of  real  faults  cannot  be  simulated  with  FOMs    

     [Purush.  and  Perry  2005]  

-­‐  A  typical  real  fault  involves  about  three  to  four  tokens          [Gopinath  et  al  2014]  

Higher  Order  Mutants  (HOMs)  can  be  used  to  simulate  real  and  complex  faults    

 

  INTRODUCTION…   2  

Page 3: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Subtle Higher Order Mutants

HOMs  that  are  not  killed  by  an  exis-ng  test  suite  that  kills  all  

the  FOMs  of  a  given  program  

 

Can  help  researchers  and  prac--oners  gain  a  beSer  understanding  of  the  nature  of  faults  and  their  interac-ons  

INTRODUCTION…   3  

Page 4: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Subtle Higher Order Mutants…

Can  be  costly  to  find:  

-­‐  The  search  space  of  HOMs  is  (exponen-ally?)  large  

-­‐  Coupling  effect  makes  subtle  HOMs  rare  

-­‐  High  computa-onal  cost  of  evalua-ng  mutants  

•  Involves  compila-on  and  execu-on  

INTRODUCTION…     4  

Page 5: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Contributions

Developed  search  techniques  for  finding  subtle  HOMs  -­‐  Search-­‐based  so@ware  engineering  techniques  

-­‐  Random  search  technique  

-­‐  Enumera-on  search  technique  

Automated  the  process  of  finding  subtle  HOMs  -­‐  Developed  a  Higher  Order  Muta-on  Tes-ng  tool  for  AspectJ  and  Java  programs  

(HOMAJ)  

Performed  a  set  of  empirical  studies  -­‐  Evaluated  the  rela-ve  effec-veness  of  the  developed  search  techniques  

-­‐  Inves-gated  different  factors  that  impact  the  crea-on  of  subtle  HOMs    

INTRODUCTION…     5  

Page 6: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Objective Function

Provides  a  metric  to  measure  the  quality  of  HOMs  

-­‐  fitness  (HOM)  =  α  ∗  difficulty  of  killing  (HOM)  +  (1−α)  ∗    fault  detec-on  difference  (HOM)  

Classifies  HOMs  Based  on  their  fitness  value  as  follow:  

 

 

 

APPROACH  -­‐>  OBJECTIVE  FUNCTION   6  

0                                      -­‐>      En-rely  Coupled  HOMs  

0  <  &  <  1            -­‐>    Promising  HOMs  

1                                      -­‐>    Subtle  HOMs  (op-mal  solu-ons)  

 

 fitness  (HOM)  =    

Page 7: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Objective Function

APPROACH  -­‐>  OBJECTIVE  FUNCTION   7  

Page 8: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Objective Function

APPROACH  -­‐>  OBJECTIVE  FUNCTION   8  

Note  that  every  HOM  not  killed  by  the  test  set  is  a  globally  op-mal  solu-on.  

 

So  we  are  looking  for  all  (or  many)  globally  op-mal  solu-ons.  

 

This  is  different  than  many  other  types  of  objec-ve  func-ons.  

Page 9: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Genetic Algorithm

APPROACH…   9  

Evaluate  HOMs  in  popula-on  

Store  subtle  HOMS  from    popula-on  

Create  &  evaluate  first  

HOM  popula-on  from  FOMs  

Create  next  HOM  popula-on  

Page 10: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Local Search

APPROACH…   10  

Generate  a  new  SOM  h  

Evaluate  h  and  its  

neighbors  

Store  any  subtle  HOM  

found  

Does  a  beSer  

neighbor  h’  exist?  

h  :=  h’  

Yes   No  

Page 11: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Local Search

APPROACH…   11  

Page 12: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Data-Interaction Guided Local Search

Explores  only  neighboring  HOMs  that  their  mutated  statements  access  the  

same  variable(s)  

Example:    

 

 

 

Considered  HOMs  =    {(fom1,fom2),  (fom1,fom2,fom3))  

Discarded  HOMs  =  {(fom1,fom3),  (fom2,fom3))  

 

APPROACH…   12  

Muta-on  (fom1)=  {  return  movieType;          =>      return  movieType++;      }

Muta-on  (fom2)=  {    if  (movieType  ==  “C”    =>      if  (  movieType  !=  “C”  )    }

Muta-on  (fom3)=  {    if  (custName.equals(name)    =>    if  (!  custName.equals(name)  }

Page 13: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Test-Case Guided Local Search

Explores  only  neighboring  HOMs  that  their  cons-tuent  FOMs  are  killed  by  

similar/common  test  cases  

Example:    

 

 

 

Considered  HOMs=  {  (fom1,  fom2),  (fom2,fom3),  (fom1,  fom2,fom3)  }  

Discarded  HOMs=  {  (fom1,fom3)  }  

 

APPROACH…   13  

KilledBy(fom1)=  {    tc1,  tc3,  tc13,  …..  }

KilledBy(fom2)=  {    tc1,  tc5,  tc11,  …..  }

KilledBy(fom3)=  {tc5,  tc11,  …..  }

Page 14: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Restricted Enumeration Search

APPROACH…   14  

Generate  the  next  HOM  h  of  degree  d  

Evaluate  h  

Keep  h  if  subtle  

Set  the  star-ng  

degree  d  at  2  

If  all  HOMs  of  degree  d  have  

been  evaluated  d++  

Page 15: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Restricted Random Search

APPROACH…   15  

Generate  random  HOM  h  of  

degree  <=  d  

Evaluate  h  

Keep  h  if  subtle  

Set  the  max  degree  d    of    HOMs  

Page 16: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Experimental Setup

Used  5  AspectJ  and  5  Java  programs  of  different  sizes  

Generated  random  test  cases  for  each  program  that  achieved  

statement  coverage  and  killed  all  non-­‐equivalent  FOMs  

Experiment  steps:    

-­‐  Ran  each  search  technique  30  -mes  per  subject  program    

-­‐  The  termina-on  condi-on  for  each  run  was  the  explora-on  of  50,000  dis-nct  

HOMs  

-­‐  Calculated  the  number  of  dis-nct,  subtle  HOMs  that  were  found  by  each  run  

EMPIRICAL  STUDIES   16  

Page 17: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Experimental Setup

EMPIRICAL  STUDIES   17  

Page 18: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Measuring the Relative Effectiveness of the Search Techniques

  RQ1:  What  is  the  rela-ve  effec-veness  of  the  search  technique  

in  terms  of  their  ability  to  find  subtle  HOMs?  

-­‐  Effec-veness  is  measured  in  terms  of  the  average  number  of  subtle  HOMs  that  

can  be  found  

-­‐  Restricted  Random  Search  was  used  as  a  base  line  measure  for  the  other  five  

techniques  

EMPIRICAL  STUDIES…   18  

Page 19: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Average Number of Subtle HOMs

EMPIRICAL  STUDIES  -­‐>  STUDY  #1  -­‐>  RQ1   19  

Program   GeneWc   Local   Data  Inter.  Guided  

Test  Case  Guided  

Restricted  EnumeraWon  

Cruise  Java   76.1   77.8   80.7   77.1   34.8  

Banking   30.9   29.2   30.8   28.9   27.1  

Cruise  AspectJ   20.3   29   39.9   33.2   22.1  

Movie  Rental   39.1   59.8   93.3   15.3   22  

Ke[le   35.3   55.1   56.1   57.7   31.5  

Coordinate   72.4   200.9   213.8   223.3   84.4  

Elevator   13.7   26   24.1   20.6   19  

Telecom   10.3   20.5   19   19.9   6.8  

 XStream     0.4   20   11.4   12   13.4  

Roman   28.6   30.4   35.4   37.9   41  

Restricted  Random  

25.8  

23.3  

7  

4.7  

19.7  

27.5  

5.7  

4  

0.3  

16.7  

Page 20: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Cost of Killing Subtle HOMs

EMPIRICAL  STUDIES  -­‐>  STUDY  #1   20  

Page 21: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Measuring the Relative Effectiveness of the Search Techniques

  RQ2:  How  does  the  rela-ve  effec-veness  of  the  search  

techniques  compare  over  -me?    

-­‐  Inves-gated  the  growth  in  the  average  number  of  dis-nct,  subtle  HOMs  

-­‐  The  number  of  explored,  dis-nct  HOMs  is  considered  a  quasi-­‐representa-on  of  

the  -me  

EMPIRICAL  STUDIES  -­‐>  STUDY  #1   21  

Page 22: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Growth in the Average Number of Subtle HOMs Over Time

EMPIRICAL  STUDIES  -­‐>  STUDY  #1    -­‐>  RQ2   22  

0  

10  

20  

30  

40  

50  

60  

70  

0k  

2k  

4k  

6k  

8k  

10k  

12k  

14k  

16k  

18k  

20k  

22k  

24k  

26k  

28k  

30k  

32k  

34k  

36k  

38k  

40k  

42k  

44k  

46k  

48k  

50k  Av

erage  nu

mbe

r  of  Sub

tle  HOMs  

Number  of  explored  dis-nct  HOMs  

Gene-c   Local   Data-­‐Interac-on  Guided  Test-­‐Case  Guided   Restricted  Random   Restricted  Enumera-on  

Data  from  the  KeSle  program    

Page 23: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Growth in the Average Number of Subtle HOMs Over Time

EMPIRICAL  STUDIES  -­‐>  STUDY  #1    -­‐>  RQ2   23  

Page 24: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Comparing Sets of Subtle HOMs Found by Different Search Techniques

  RQ1:  What  set  of  subtle  HOMs  is  found  by  all  techniques  and  

what  set  of  subtle  HOMs  is  uniquely  found  by  each  technique?  

  Subtle  HOMs  were  classified  into:  

-­‐  Easiest-­‐to-­‐find  subtle  HOM:  can  be  found  by  all  the  search  techniques  

-­‐  Hardest-­‐to-­‐find  subtle  HOM:  can  be  uniquely  found  by  only  one  search  

technique  

EMPIRICAL  STUDIES..   24  

Page 25: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Easiest-to-find and Hardest-to-find Subtle HOM

EMPIRICAL  STUDIES  -­‐>  STUDY  #2  -­‐>  RQ1   25  

0  

10  

20  

30  

40  

50  

60  

Easiest-­‐to-­‐find   Found  by  5   Found  by  4   Found  by  3   Found  by  2   Hardest-­‐to-­‐find  

Num

ber  o

f  sub

tle  HOMs  

Type  of  subtle  HOMs  

Data  from  the  KeSle  program    

Page 26: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Cost of Finding Subtle HOMs

  RQ1:  What  is  the  computa-onal  cost  of  finding  subtle  HOMs  

using  the  search  techniques?  -­‐  The  cost  is  measured  in  terms  of  the  -me  taken  to  find  subtle  HOMs  

  Answer:      -­‐  On  average,  exploring  and  evalua-ng  50,000  HOMs  requires  around  19  hours  

-­‐  The  compila-on  and  execu-on  process  of  HOMs  represented  98%  of  the  

computa-onal  cost  of  finding  subtle  HOMs  

-­‐  Op-mizing  the  compila-on  process  of  HOMs  reduced  the  computa-onal  cost  of  

finding  subtle  HOMs  by  32%  

EMPIRICAL  STUDIES…   26  

Page 27: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Composition and Decomposition Relationships between Subtle HOMs

  RQ1:  Can  subtle  HOMs  be  composed  to  create  new  subtle  HOMs  of  higher  degrees?  -­‐  Inves-gated  composing  subtle  HOMs  that  were  found  by  the  Restricted  

Enumera-on  Search  to  create  new  subtle  HOMs  of  higher  degrees  

EMPIRICAL  STUDIES…   27  

Page 28: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Composing HOMs: Variable Interaction

EMPIRICAL  STUDIES  -­‐>  STUDY  #5  -­‐>  RQ1   28  

Page 29: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Composing Subtle HOMs

EMPIRICAL  STUDIES  -­‐>  STUDY  #5  -­‐>  RQ1   29  

0  

1000  

2000  

3000  

4000  

5000  

6000  

7000  

8000  

Elevator   Cruise     Roman   Xstream   Telecom   Banking   KeSle   Cruise  (AspectJ)  

Movie  Rental  

Num

ber  o

f  sub

tle  HOMs  

Found  by  the  search  techniques   Found  by  composing  subtle  HOMs  

Page 30: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Average Number of Subtle HOMs

EMPIRICAL  STUDIES  -­‐>  STUDY  #1  -­‐>  RQ1   30  

Program   GeneWc   Local   Data  Inter.  Guided  

Test  Case  Guided  

Restricted  EnumeraWon  

Cruise  Java   76.1   77.8   80.7   77.1   34.8  

Banking   30.9   29.2   30.8   28.9   27.1  

Cruise  AspectJ   20.3   29   39.9   33.2   22.1  

Movie  Rental   39.1   59.8   93.3   15.3   22  

Ke[le   35.3   55.1   56.1   57.7   31.5  

Coordinate   72.4   200.9   213.8   223.3   84.4  

Elevator   13.7   26   24.1   20.6   19  

Telecom   10.3   20.5   19   19.9   6.8  

 XStream     0.4   20   11.4   12   13.4  

Roman   28.6   30.4   35.4   37.9   41  

Restricted  Random  

25.8  

23.3  

7  

4.7  

19.7  

27.5  

5.7  

4  

0.3  

16.7  

Page 31: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Composing HOMs: Variable Interaction

EMPIRICAL  STUDIES  -­‐>  STUDY  #5  -­‐>  RQ1   31  

Page 32: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Composing HOMs: Variable Interaction

EMPIRICAL  STUDIES  -­‐>  STUDY  #5  -­‐>  RQ1   32  

Page 33: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Composition and Decomposition Relationships between Subtle HOMs   RQ2:  To  what  extent  do  subtle  HOMs  of  higher  degrees  represent  a  composi-on  of  subtle  HOMs  of  lower  degrees?  -­‐  Inves-gated  the  number  of  subtle  HOMs  that  were  found  by  each  search  

technique  with  respect  to  their  decomposi-on  type  

◦  Fully  decomposable  into  other  subtle  HOMs  

◦  Par-ally  decomposable  into  other  subtle  HOMs  

◦  Not  decomposable  into  other  subtle  HOMs  

EMPIRICAL  STUDIES…   33  

Page 34: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Decomposing Subtle HOMs

EMPIRICAL  STUDIES  -­‐>  STUDY  #5  -­‐>  RQ2   34  

0  

50  

100  

150  

200  

250  

300  

350  

400  

450  

3   4   5  +   3   4   5  +   3   4   5  +   3   4   5  +   3   4   5  +   3   4   5  +  

Restricted  Enumera-on  

Local     Data-­‐Interac-on  Guided  

Test-­‐Case  Guided  

Restricted  Random  

Gene-c  

Num

ber  o

f  sub

tle  HOMs  

Fully  Decomposable   Par-ally  Decomposable     Not  Decomposable  

Page 35: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Conclusions

The  search-­‐based  so@ware  engineering  techniques  can  produce  

a  large  number  of  dis-nct,  subtle  HOMs  

Local  Search  and  both  the  Guided  Local  Search  techniques  were  

more  effec-ve  than  the  other  techniques  in  terms  of  their  ability  

to  find  subtle  HOMs  

Combining  FOMs  that  are  closer  to  each  other  in  terms  of  their  

loca-on  is  more  likely  to  create  subtle  HOMs  

CONCLUSIONS   35  

Page 36: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Conclusions…

Subtle  HOMs  of  higher  degrees  are  likely  to  exist  as  composi-ons  of  mul-ple  

subtle  HOMs  of  lower  degrees  

Subtle  HOMs  of  higher  degrees  can  be  effec-vely  found  by  composing  subtle  

HOMs  of  lower  degrees  

The  search-­‐based  so@ware  engineering  techniques  were  able  to  find  subtle  

HOMs  of  higher  degrees  that  could  not  be  found  by  composing  subtle  HOMs  

of  lower  degrees  

CONCLUSIONS…   36  

Page 37: Constructing Subtle Higher Order Mutants from Java and ...crest.cs.ucl.ac.uk/cow/51/slides/cow51_Whitley_5.pdf · Constructing Subtle Higher Order Mutants from Java and AspectJ Programs

Colorado State University

Publications

1. Higher  Order  Muta-on  Tes-ng  Tool  For  Java  and  AspectJ  Programs,  ICST,  proceed-­‐ings  of  the  7th    IEEE  Interna-onal  Conference  on  So@ware  Tes-ng,  Verifica-on  and  Valida-on,  Muta-on,  2014  

2. Comparing  Search  Techniques  for  Finding  Subtle  Higher  Order  Mutants,  proceedings  of  the  23rd  Conference  on  Gene-c  and  Evolu-onary  Computa-on,  2014    

3. Construc-ng  Subtle  Higher  Order  Mutants  for  Java  and  AspectJ  Programs,  In  Interna-onal  Symposium  on  So@ware  Reliability  Engineering,  2013  

4. An  Exploratory  Study  Of  Higher  Order  Muta-on  Tes-ng  In  Aspect-­‐Oriented  Programming,  In  Interna-onal  Symposium  on  So@ware  Reliability  Engineering,  2012  

5. Using  a  Gene-c  Algorithm  Op-mizer  Tool  to  Generate  Good  Quality  Timetables,  In  IEEE  Interna-onal  Conference  on  Electronics,  Circuits  and  Systems,  2003  

PUBLICATIONS   37