SlideShare a Scribd company logo
1 of 77
Download to read offline
X"PERT:(Accurate(Identification((
of(Cross2Browser(Issues((
in(Web(Applications(
)
Shauvik Roy Choudhary, Mukul Prasad, Alessandro Orso
Labs of America
Partially supported by
Web(Applications9
2
3
4
Mozilla(Firefox) Internet(Explorer)
5
Mozilla(Firefox) Internet(Explorer)
6
Google(Chrome)
7
Apple(Safari)
8
Apple(Safari)Mozilla(Firefox)
9
Mozilla(Firefox)
10
Mozilla(Firefox)
Internet(Explorer)
11
Mozilla(Firefox)
Internet(Explorer)
(9
Web(Developer)
(9
Web(Developer)
(9
Web(Developer)
(
Browser(versions(last(year9
9
9
Source:(StatCounter.com9
(
Browser(versions(last(year9
with(at(least(1%(market(share9
9
150mn(visits/month((StatCounter.com)9
Challenges(
9
Manual(inspection9
is(expensive9
DOM(differs(9
between(browsers9
Mimic(end(user’s9
perception(9
Produce(readable,(9
effective(&(actionable(9
reports9
Engineering9
Issues…9
Modern(apps(have9
many(dynamic(screens(9
Detection(of(
Cross2Browser(Issues((XBI)9
Web(Application9
12
My Awesome Site
Model(Generation9 Model(Comparison9
Error(Report9
Model(Definition((
and(Comparison9
WebDiff([ICSM’10])
Roy(Choudhary(and(Orso9
CrossCheck([ICST’12])
Roy(Choudhary,(Prasad(and(Orso9
CrossT([ICSE’11](
Mesbah(and(Prasad9
Screen(Transition(Graph)
Model(Definition((
and(Comparison9
WebDiff([ICSM’10])
Roy(Choudhary(and(Orso9
CrossCheck([ICST’12])
Roy(Choudhary,(Prasad(and(Orso9
CrossT([ICSE’11](
Mesbah(and(Prasad9
Screen(Model)
Screen(image(9
+(geometry9
DOM(Tree9
Model(Definition((
and(Comparison9
WebDiff([ICSM’10])
Roy(Choudhary(and(Orso9
CrossCheck([ICST’12])
Roy(Choudhary,(Prasad(and(Orso9
CrossT([ICSE’11](
Mesbah(and(Prasad9
Study(of(Real(World((
Cross2Browser(Issues((XBIs)9
•  Examined 100 websites
•  Found 23 with XBIs
•  XBI Types
o Behavioral XBIs
o Content XBIs
o Structural XBIs
((9%)
22%)
30%)
57%)
Text
Visual
Random(URL(Generator9
Limitations(of((
existing(techniques9
•  Miss Structural XBIs
•  Focus on symptoms rather than
causes
o  Duplicate reports
o  Low Precision
Example9
Example(
9
Example(
9
Example(
9
Behavior(XBI)
9%)
Example(
9
Example(
9
Content(XBI)
(Visual)(–(30%)
Example(
9
Structural(XBI)
57%)
Content(XBI)
(Visual)(–(30%)
Example(
9
Content(XBI)
(Visual)(–(30%)
Content(XBI)
(Text)(–(22%)
Structural(XBI)
57%)
Comprehensive(
XBI(Detection9
•  Behavioral XBIs
•  Content XBIs
•  Structural XBIs
Text
Visual
Comprehensive(
XBI(Detection9
•  Behavioral XBIs
•  Content XBIs
•  Structural XBIs
Text
Visual
Behavior(check(using(9
Graph(Isomorphism9
CrossCheck([ICST’12])
Roy(Choudhary,(Prasad(and(Orso9
CrossT([ICSE’11](
Mesbah(and(Prasad9
Comprehensive(
XBI(Detection9
•  Behavioral XBIs
•  Content XBIs
•  Structural XBIs
Text
Visual
Text(Content)
check(using(9
String(equality9
WebDiff([ICSM’10])
Roy(Choudhary(and(Orso9
CrossCheck([ICST’12])
Roy(Choudhary,(Prasad(and(Orso9
CrossT([ICSE’11](
Mesbah(and(Prasad9
Comprehensive(
XBI(Detection9
•  Behavioral XBIs
•  Content XBIs
•  Structural XBIs
Text
Visual
Visual(Content)
check(using(9
Image(Matching9
Computer9
Vision9
WebDiff([ICSM’10])
Roy(Choudhary(and(Orso9
CrossCheck([ICST’12])
Roy(Choudhary,(Prasad(and(Orso9
Detecting(Structural(XBIs(
9•  Intuition:
Disruption in the relative
arrangement of web page
elements leads to Structural XBIs
•  Idea:
Abstraction to represent relative
arrangement and compare it to
expose errors
Alignment(Graph((AG)(
9
•  A graph capturing structural
relationships between elements
(rectangles) on the webpage
Alignment(Graph((AG)(
9
•  A graph capturing structural
relationships between elements
(rectangles) on the webpage
•  An AG has:
o Containment relationships
o Alignment relationships
o Attributes
above9
right2align9
left2align9
Step(1:(AG(Construction(
9
Step(1:(AG(Construction(
9
Step(1:(AG(Construction(
9
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
19
29
39
49
59
69
79
89
99
109
119
129
139
149
159
169
179
189
Step(1:(AG(Construction(
a.(Containment(Relationship)
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
e(contains(e’(iff9
•  ((x1(≤(x1’( y1(≤(y1’( x2(≥(x2’( y2(≥(y2’()(,(and9
•  if((same(bounds(and((XPath(e)(≤(XPath(e’)(9
e9
e’9
Step(1:(AG(Construction(
a.(Containment(Relationship)
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
Step(1:(AG(Construction(
b.(Alignment(Relationship)
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
Step(1:(AG(Construction(
b.(Alignment(Relationship)
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
Step(1:(AG(Construction(
b.(Alignment(Relationship)
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
Step(1:(AG(Construction(
c.(A[ributes)
Bugon(19 Bugon(29
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
Step(1:(AG(Construction(
c.(A[ributes)
Bugon(19 Bugon(29
What(alignment(a[ributes(can(we(infer?(
)
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
Step(1:(AG(Construction(
c.(A[ributes)
Bugon(19 Bugon(29
What(alignment(a[ributes(can(we(infer?(
)
•  Bugon(1(is(on(the(left(of(Bugon(2)
x2(<(x1’9
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
Step(1:(AG(Construction(
c.(A[ributes)
Bugon(19 Bugon(29
What(alignment(a[ributes(can(we(infer?(
)
•  Bugon(1(is(on(the(left(of(Bugon(2)
•  Bugon(1(and(Bugon(2(have(their(tops(aligned)
)
)
y1(=(y1’9
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
Step(1:(AG(Construction(
c.(A[ributes)
Bugon(19 Bugon(29
What(alignment(a[ributes(can(we(infer?(
)
•  Bugon(1(is(on(the(left(of(Bugon(2)
•  Bugon(1(and(Bugon(2(have(their(tops(aligned)
)
•  Bugon(1(and(Bugon(2(have(their(bo[oms(aligned)
y2(=(y2’9
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
Step(1:(AG(Construction(
c.(A[ributes)
What(alignment(a[ributes(can(we(infer?(
)
•  Bugon(1(is(on(the(left(of(Bugon(2(
9
•  Bugon(1(and(Bugon(2(have(their(tops(aligned(
)
•  Bugon(1(and(Bugon(2(have(their(bo[oms(aligned)
leftOf)
top"align)
bo[om"align)
Step(2:(Matching(AGs(
9
Step(2:(Matching(AGs(
9
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
above
above
above
above
above
leftOf
above
above
above
left-align
right-align
above
left-align
right-align
above
left-align
right-align
leftOf
top-align
bottom-align
Step(2:(Matching(AGs(
9
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
above
above
above
above
above
leftOf
above
above
above
left-align
right-align
above
left-align
right-align
above
left-align
right-align
leftOf
top-align
bottom-align
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
above
above
above
above
above
leftOf
above
above
above
left-align
right-align
above
left-align
right-align
above
left-align
right-align
above
left-align
right-align
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
above
above
above
above
above
leftOf
above
above
above
left-align
right-align
above
left-align
right-align
above
left-align
right-align
above
left-align
right-align
Step(2:(Matching(AGs(
9
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
above
above
above
above
above
leftOf
above
above
above
left-align
right-align
above
left-align
right-align
above
left-align
right-align
leftOf
top-align
bottom-align
Step(2:(Matching(AGs(
9
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
above
above
above
above
above
leftOf
above
above
above
left-align
right-align
above
left-align
right-align
above
left-align
right-align
leftOf
top-align
bottom-align
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
above
above
above
above
above
leftOf
above
above
above
left-align
right-align
above
left-align
right-align
above
left-align
right-align
above
left-align
right-align
Step(2:(Matching(AGs(
9
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
above
above
above
above
above
leftOf
above
above
above
left-align
right-align
above
left-align
right-align
above
left-align
right-align
leftOf
top-align
bottom-align
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
above
above
above
above
above
leftOf
above
above
above
left-align
right-align
above
left-align
right-align
above
left-align
right-align
above
left-align
right-align
Step(2:(Matching(AGs(
9
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
above
above
above
above
above
leftOf
above
above
above
left-align
right-align
above
left-align
right-align
above
left-align
right-align
leftOf
top-align
bottom-align
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
above
above
above
above
above
leftOf
above
above
above
left-align
right-align
above
left-align
right-align
above
left-align
right-align
above
left-align
right-align
Step(2:(Matching(AGs(
9
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
above
above
above
above
above
leftOf
above
above
above
left-align
right-align
above
left-align
right-align
above
left-align
right-align
leftOf
top-align
bottom-align
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
above
above
above
above
above
leftOf
above
above
above
left-align
right-align
above
left-align
right-align
above
left-align
right-align
above
left-align
right-align
Comprehensive(
XBI(Detection9
•  Behavioral XBIs
•  Content XBIs
•  Structural XBIs
Text
Visual
Comprehensive(
XBI(Detection9
Text
Visual
Report9
Generation9
Model(
Generation9
...
Behavior9
Checker9
Element9
Matcher9
Structure9
Checker9
Content9
Checker9
Model(Comparison9
✔9 ✔9
✔9
Empirical(Evaluation(
9
Tool: X-PERT (Cross-Platform Error ReporTer)
Research Questions:
•  RQ1: Can X-PERT find XBIs in real web
applications?
•  RQ2: How does X-PERT compare to the
state-of-art?
Experimental(Protocol(
9
v14.0.19 v9.0.99v/s9
Ran(X2PERT(on(Subject(Applications9
Subjects9
12
My Awesome Site
12
My Awesome Site
12
My Awesome Site
+9 =(XBIs9
(Ground(Truth)9Manual(Check9
Error(Reports9 Manual(Check9
=9False(Positives(9
&(Negatives9+9
Subjects(
9
Name% Type% States% Transi/ons%
DOM%Nodes%(per%screen)%
max% min% average%
!Organizer! Produc/vity! 13! 99! 27482! 10001! 13051!!
!GrantaBooks! Publisher! 9! 8! 37800! 15625! 25852!!
!DesignTrust! Business! 10! 20! 26437! 7772! 18694!!
!DivineLife! Spiritual! 10! 9! 140611! 9082! 49886!!
!SaiBaba! Religious! 13! 20! 42606! 524! 12162!!
!Breakaway! Sport! 19! 18! 45148! 8191! 13059!!
!Conference! Informa/on! 3! 12! 878! 817! 853!!
!Fisherman! Restaurant! 15! 17! 39146! 15720! 21336!!
!Valleyforge! Lodge! 4! 12! 5416! 4733! 5046!!
!UniMelb! University! 9! 8! 15142! 12131! 13792!!
!Konqueror! SoUware! 5! 4! 17586! 15468! 16187!!
!UBC! Club! 7! 7! 20610! 7834! 12094!!
!BMVBS! Ministry! 5! 20! 19490! 12544! 15695!!
!StarWars! Movie! 10! 9! 28452! 19719! 22626!!!
800(2(140K(elements9
Prior(Art((6)9
Example(and(Survey((4)9
Random((4)9
Subjects(
9
Name% Type% States% Transi/ons%
DOM%Nodes%(per%screen)%
max% min% average%
!Organizer! Produc/vity! 13! 99! 27482! 10001! 13051!!
!GrantaBooks! Publisher! 9! 8! 37800! 15625! 25852!!
!DesignTrust! Business! 10! 20! 26437! 7772! 18694!!
!DivineLife! Spiritual! 10! 9! 140611! 9082! 49886!!
!SaiBaba! Religious! 13! 20! 42606! 524! 12162!!
!Breakaway! Sport! 19! 18! 45148! 8191! 13059!!
!Conference! Informa/on! 3! 12! 878! 817! 853!!
!Fisherman! Restaurant! 15! 17! 39146! 15720! 21336!!
!Valleyforge! Lodge! 4! 12! 5416! 4733! 5046!!
!UniMelb! University! 9! 8! 15142! 12131! 13792!!
!Konqueror! SoUware! 5! 4! 17586! 15468! 16187!!
!UBC! Club! 7! 7! 20610! 7834! 12094!!
!BMVBS! Ministry! 5! 20! 19490! 12544! 15695!!
!StarWars! Movie! 10! 9! 28452! 19719! 22626!!!
800(2(140K(elements9
Effectiveness(
9
NAME% XBI%
BEHAVIOR% STRUCTURE%
CONTENT%
TOTAL%TEXT% IMAGE%
TP% FP% TP% FP% TP% FP% TP% FP% TP% FP%
Organizer! 10! 1! 0! 9! 0! 0! 0! 0! 0! 10! 0!
GrantaBooks! 27! 16! 0! 11! 0! 0! 0! 0! 0! 27! 0!
DesignTrust! 7! 2! 0! 5! 3! 0! 0! 0! 0! 7! 3!
DivineLife! 11! 7! 0! 3! 6! 1! 0! 0! 0! 11! 6!
SaiBaba! 5! 2! 0! 2! 9! 0! 0! 0! 0! 4! 9!
Breakaway! 13! 0! 0! 10! 2! 0! 0! 0! 0! 10! 2!
Conference! 7! 2! 0! 3! 0! 1! 0! 1! 0! 7! 0!
Fisherman! 5! 1! 0! 3! 1! 0! 1! 1! 0! 5! 2!
Valleyforge! 3! 0! 0! 2! 2! 0! 0! 1! 0! 3! 2!
UniMelb! 2! 2! 0! 0! 0! 0! 0! 0! 1! 2! 1!
Konqueror! 0! 0! 0! 0! 0! 0! 0! 0! 6! 0! 6!
UBC! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0!
BMVBS! 1! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0!
StarWars! 12! 0! 0! 12! 0! 0! 0! 0! 0! 12! 0!
TOTAL% 103% 33% 0% 60% 23% 2% 1% 3% 7% 98% 31%
Effectiveness(
9
NAME% XBI%
BEHAVIOR% STRUCTURE%
CONTENT%
TOTAL%TEXT% IMAGE%
TP% FP% TP% FP% TP% FP% TP% FP% TP% FP%
Organizer! 10! 1! 0! 9! 0! 0! 0! 0! 0! 10! 0!
GrantaBooks! 27! 16! 0! 11! 0! 0! 0! 0! 0! 27! 0!
DesignTrust! 7! 2! 0! 5! 3! 0! 0! 0! 0! 7! 3!
DivineLife! 11! 7! 0! 3! 6! 1! 0! 0! 0! 11! 6!
SaiBaba! 5! 2! 0! 2! 9! 0! 0! 0! 0! 4! 9!
Breakaway! 13! 0! 0! 10! 2! 0! 0! 0! 0! 10! 2!
Conference! 7! 2! 0! 3! 0! 1! 0! 1! 0! 7! 0!
Fisherman! 5! 1! 0! 3! 1! 0! 1! 1! 0! 5! 2!
Valleyforge! 3! 0! 0! 2! 2! 0! 0! 1! 0! 3! 2!
UniMelb! 2! 2! 0! 0! 0! 0! 0! 0! 1! 2! 1!
Konqueror! 0! 0! 0! 0! 0! 0! 0! 0! 6! 0! 6!
UBC! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0!
BMVBS! 1! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0!
StarWars! 12! 0! 0! 12! 0! 0! 0! 0! 0! 12! 0!
TOTAL% 103% 33% 0% 60% 23% 2% 1% 3% 7% 98% 31%
RQ1:()
Can(X2PERT(find(XBIs(in(real(web(applications?9
9
Answer:(Yes)
Improvement(
9
NAME% XBI%
XQPERT% CROSSCHECK%
Prec% FP% Recl% Dp% Prec% FP% Recl% Dp%
Organizer! 10! 100%! 0! 100%! 0! 80%! 2! 80%! 13!
GrantaBooks! 27! 100%! 0! 100%! 0! 96%! 1! 100%! 0!
DesignTrust! 7! 70%! 3! 100%! 0! 5%! 122! 86%! 3!
DivineLife! 11! 65%! 6! 100%! 0! 29%! 24! 91%! 3!
SaiBaba! 5! 31%! 9! 80%! 0! 7%! 53! 80%! 10!
Breakaway! 13! 83%! 2! 77%! 1! 13%! 49! 54%! 12!
Conference! 7! 100%! 0! 100%! 0! 100%! 0! 100%! 0!
Fisherman! 5! 71%! 2! 100%! 0! 44%! 5! 80%! 8!
Valleyforge! 3! 60%! 2! 100%! 0! 50%! 1! 33%! 0!
UniMelb! 2! 67%! 1! 100%! 0! 7%! 27! 100%! 0!
Konqueror! 0! NA! 6! NA! 0! 0%! 11! NA! 0!
UBC! 0! NA! 0! NA! 0! 0%! 1! NA! 0!
BMVBS! 1! NA! 0! NA! 0! 0%! 2! 0%! 0!
StarWars! 12! 100%! 0! 100%! 0! 10%! 91! 83%! 3!
TOTAL% 103% 77%% 31% 95%% 1% 32%% 389% 74%% 52%
Improvement(
9
NAME% XBI%
XQPERT% CROSSCHECK%
Prec% FP% Recl% Dp% Prec% FP% Recl% Dp%
Organizer! 10! 100%! 0! 100%! 0! 80%! 2! 80%! 13!
GrantaBooks! 27! 100%! 0! 100%! 0! 96%! 1! 100%! 0!
DesignTrust! 7! 70%! 3! 100%! 0! 5%! 122! 86%! 3!
DivineLife! 11! 65%! 6! 100%! 0! 29%! 24! 91%! 3!
SaiBaba! 5! 31%! 9! 80%! 0! 7%! 53! 80%! 10!
Breakaway! 13! 83%! 2! 77%! 1! 13%! 49! 54%! 12!
Conference! 7! 100%! 0! 100%! 0! 100%! 0! 100%! 0!
Fisherman! 5! 71%! 2! 100%! 0! 44%! 5! 80%! 8!
Valleyforge! 3! 60%! 2! 100%! 0! 50%! 1! 33%! 0!
UniMelb! 2! 67%! 1! 100%! 0! 7%! 27! 100%! 0!
Konqueror! 0! NA! 6! NA! 0! 0%! 11! NA! 0!
UBC! 0! NA! 0! NA! 0! 0%! 1! NA! 0!
BMVBS! 1! NA! 0! NA! 0! 0%! 2! 0%! 0!
StarWars! 12! 100%! 0! 100%! 0! 10%! 91! 83%! 3!
TOTAL% 103% 77%% 31% 95%% 1% 32%% 389% 74%% 52%
X"PERT)
9
Precision()
((=(77%((
(((((45%!)9
9
Recall()
((=(95%(
(((((14%!)9
Improvement(
9
NAME% XBI%
XQPERT% CROSSCHECK%
Prec% FP% Recl% Dp% Prec% FP% Recl% Dp%
Organizer! 10! 100%! 0! 100%! 0! 80%! 2! 80%! 13!
GrantaBooks! 27! 100%! 0! 100%! 0! 96%! 1! 100%! 0!
DesignTrust! 7! 70%! 3! 100%! 0! 5%! 122! 86%! 3!
DivineLife! 11! 65%! 6! 100%! 0! 29%! 24! 91%! 3!
SaiBaba! 5! 31%! 9! 80%! 0! 7%! 53! 80%! 10!
Breakaway! 13! 83%! 2! 77%! 1! 13%! 49! 54%! 12!
Conference! 7! 100%! 0! 100%! 0! 100%! 0! 100%! 0!
Fisherman! 5! 71%! 2! 100%! 0! 44%! 5! 80%! 8!
Valleyforge! 3! 60%! 2! 100%! 0! 50%! 1! 33%! 0!
UniMelb! 2! 67%! 1! 100%! 0! 7%! 27! 100%! 0!
Konqueror! 0! NA! 6! NA! 0! 0%! 11! NA! 0!
UBC! 0! NA! 0! NA! 0! 0%! 1! NA! 0!
BMVBS! 1! NA! 0! NA! 0! 0%! 2! 0%! 0!
StarWars! 12! 100%! 0! 100%! 0! 10%! 91! 83%! 3!
TOTAL% 103% 77%% 31% 95%% 1% 32%% 389% 74%% 52%
X"PERT)
9
Precision()
((=(77%((
(((((45%!)9
9
Recall()
((=(95%(
(((((14%!)9
RQ2:()
How(does(X2PERT(compare(to(the(state2of2art?9
9
Answer:(X"PERT(has(be[er(precision(and(recall)
Experimental(Data(&(Tool9
•  Release
o Experiments (Crawl Data + Reports)
o Layout testing algorithm implementation
http://gatech.github.io/xpert
Related(Work9
o  Industrial tools
•  Test Suites for Web Browsers – Acid and test262
•  MS Expression Web, BrowserShots, BrowserStack
•  Browsera, MogoTest, BrowserBite
o  Research techniques
•  Eaton & Memon [IJWET’07]
•  Dallmeier, Burger, Orth & Zeller [JSTools’12]
77
Contributions(
9
Empirical(evaluation9
shows(effectiveness9
New(Structural(XBI9
Detection(Algorithm9
body
header
menu
hr1
main
hr2
footer
link1
link2
subHeading
countText
paperList
paper1
paper2
paper3
paper4
button1
button2
above
above
above
above
above
leftOf
above
above
above
left-align
right-align
above
left-align
right-align
above
left-align
right-align
leftOf
top-align
bottom-align
Comprehensive(9
Technique(to(detect(XBIs9
Web$Application.
12
My Awesome Site
Model$Generation. Model$Comparison.
Error$Report.
Study(of(Real(World(XBIs9
XBI$Distribu,on$
Behavior$ 9%$
Content$ Text$ 22%$
Visual$ 30%$
Structure$ 57%$

More Related Content

Similar to X-­PERT: Accurate Identification of Cross-Browser Issues in Web Applications

FVCP Splunk Presentation
FVCP Splunk PresentationFVCP Splunk Presentation
FVCP Splunk PresentationStraight North
 
Humans in the loop?
Humans in the loop?Humans in the loop?
Humans in the loop?miso_uam
 
Accessible Design and Content in 20 Minutes
Accessible Design and Content in 20 MinutesAccessible Design and Content in 20 Minutes
Accessible Design and Content in 20 MinutesMarli Mesibov
 
Whitepaper - Native App or HTML5
Whitepaper - Native App or HTML5Whitepaper - Native App or HTML5
Whitepaper - Native App or HTML5Dan Vitoriano
 
Open Device Labs for A Better User Experience (Mobilliance, Hong Kong)
Open Device Labs for A Better User Experience (Mobilliance, Hong Kong)Open Device Labs for A Better User Experience (Mobilliance, Hong Kong)
Open Device Labs for A Better User Experience (Mobilliance, Hong Kong)Holger Bartel
 
Why Innovation Itself Must Be The Next Big Thing
Why Innovation Itself Must Be The Next Big ThingWhy Innovation Itself Must Be The Next Big Thing
Why Innovation Itself Must Be The Next Big ThingAdrian Cotterill
 
Teaching Elephants to Dance (and Fly!): A Developer's Journey to Digital Tran...
Teaching Elephants to Dance (and Fly!): A Developer's Journey to Digital Tran...Teaching Elephants to Dance (and Fly!): A Developer's Journey to Digital Tran...
Teaching Elephants to Dance (and Fly!): A Developer's Journey to Digital Tran...Burr Sutter
 
Arquitetura de Informação em um E-commerce - Eduardo Shiota
Arquitetura de Informação em um E-commerce - Eduardo ShiotaArquitetura de Informação em um E-commerce - Eduardo Shiota
Arquitetura de Informação em um E-commerce - Eduardo ShiotaE-commerce Brasil
 
Baby.com.br: Analisando, adaptando e melhorando a arquitetura da informação e...
Baby.com.br: Analisando, adaptando e melhorando a arquitetura da informação e...Baby.com.br: Analisando, adaptando e melhorando a arquitetura da informação e...
Baby.com.br: Analisando, adaptando e melhorando a arquitetura da informação e...Eduardo Shiota Yasuda
 
Introduction to developing modern web apps
Introduction to developing modern web appsIntroduction to developing modern web apps
Introduction to developing modern web appsFabricio Epaminondas
 
Walmart & IBM Revisit the Linear Road Benchmark- Roger Rea, IBM
Walmart & IBM Revisit the Linear Road Benchmark- Roger Rea, IBMWalmart & IBM Revisit the Linear Road Benchmark- Roger Rea, IBM
Walmart & IBM Revisit the Linear Road Benchmark- Roger Rea, IBMRedis Labs
 
Students of Navgujarat College of Computer Applications, Ahmedabad felt excit...
Students of Navgujarat College of Computer Applications, Ahmedabad felt excit...Students of Navgujarat College of Computer Applications, Ahmedabad felt excit...
Students of Navgujarat College of Computer Applications, Ahmedabad felt excit...cresco
 
Graphs & Neo4j - Past Present Future
Graphs & Neo4j - Past Present FutureGraphs & Neo4j - Past Present Future
Graphs & Neo4j - Past Present Futurejexp
 
Develop & Deploy cloud-native apps as resilient Microservices Architectures
Develop & Deploy cloud-native apps as resilient Microservices ArchitecturesDevelop & Deploy cloud-native apps as resilient Microservices Architectures
Develop & Deploy cloud-native apps as resilient Microservices ArchitecturesRed Hat Developers
 
Top 10 Internet Browsers
Top 10 Internet BrowsersTop 10 Internet Browsers
Top 10 Internet BrowsersDivyansh Vaidya
 
SAP Technology Services Conference 2013: Big Data and The Cloud at Yahoo!
SAP Technology Services Conference 2013: Big Data and The Cloud at Yahoo! SAP Technology Services Conference 2013: Big Data and The Cloud at Yahoo!
SAP Technology Services Conference 2013: Big Data and The Cloud at Yahoo! Sumeet Singh
 
Web Search And Mining (Ntuim)
Web Search And Mining (Ntuim)Web Search And Mining (Ntuim)
Web Search And Mining (Ntuim)Hector Lin
 
Web Data Extraction: A Crash Course
Web Data Extraction: A Crash CourseWeb Data Extraction: A Crash Course
Web Data Extraction: A Crash CourseGiorgio Orsi
 

Similar to X-­PERT: Accurate Identification of Cross-Browser Issues in Web Applications (20)

FVCP Splunk Presentation
FVCP Splunk PresentationFVCP Splunk Presentation
FVCP Splunk Presentation
 
Humans in the loop?
Humans in the loop?Humans in the loop?
Humans in the loop?
 
Lenguajes y plataformas de desarrollo
Lenguajes y plataformas de desarrolloLenguajes y plataformas de desarrollo
Lenguajes y plataformas de desarrollo
 
PhD Dissertation Defense (April 2015)
PhD Dissertation Defense (April 2015)PhD Dissertation Defense (April 2015)
PhD Dissertation Defense (April 2015)
 
Accessible Design and Content in 20 Minutes
Accessible Design and Content in 20 MinutesAccessible Design and Content in 20 Minutes
Accessible Design and Content in 20 Minutes
 
Whitepaper - Native App or HTML5
Whitepaper - Native App or HTML5Whitepaper - Native App or HTML5
Whitepaper - Native App or HTML5
 
Open Device Labs for A Better User Experience (Mobilliance, Hong Kong)
Open Device Labs for A Better User Experience (Mobilliance, Hong Kong)Open Device Labs for A Better User Experience (Mobilliance, Hong Kong)
Open Device Labs for A Better User Experience (Mobilliance, Hong Kong)
 
Why Innovation Itself Must Be The Next Big Thing
Why Innovation Itself Must Be The Next Big ThingWhy Innovation Itself Must Be The Next Big Thing
Why Innovation Itself Must Be The Next Big Thing
 
Teaching Elephants to Dance (and Fly!): A Developer's Journey to Digital Tran...
Teaching Elephants to Dance (and Fly!): A Developer's Journey to Digital Tran...Teaching Elephants to Dance (and Fly!): A Developer's Journey to Digital Tran...
Teaching Elephants to Dance (and Fly!): A Developer's Journey to Digital Tran...
 
Arquitetura de Informação em um E-commerce - Eduardo Shiota
Arquitetura de Informação em um E-commerce - Eduardo ShiotaArquitetura de Informação em um E-commerce - Eduardo Shiota
Arquitetura de Informação em um E-commerce - Eduardo Shiota
 
Baby.com.br: Analisando, adaptando e melhorando a arquitetura da informação e...
Baby.com.br: Analisando, adaptando e melhorando a arquitetura da informação e...Baby.com.br: Analisando, adaptando e melhorando a arquitetura da informação e...
Baby.com.br: Analisando, adaptando e melhorando a arquitetura da informação e...
 
Introduction to developing modern web apps
Introduction to developing modern web appsIntroduction to developing modern web apps
Introduction to developing modern web apps
 
Walmart & IBM Revisit the Linear Road Benchmark- Roger Rea, IBM
Walmart & IBM Revisit the Linear Road Benchmark- Roger Rea, IBMWalmart & IBM Revisit the Linear Road Benchmark- Roger Rea, IBM
Walmart & IBM Revisit the Linear Road Benchmark- Roger Rea, IBM
 
Students of Navgujarat College of Computer Applications, Ahmedabad felt excit...
Students of Navgujarat College of Computer Applications, Ahmedabad felt excit...Students of Navgujarat College of Computer Applications, Ahmedabad felt excit...
Students of Navgujarat College of Computer Applications, Ahmedabad felt excit...
 
Graphs & Neo4j - Past Present Future
Graphs & Neo4j - Past Present FutureGraphs & Neo4j - Past Present Future
Graphs & Neo4j - Past Present Future
 
Develop & Deploy cloud-native apps as resilient Microservices Architectures
Develop & Deploy cloud-native apps as resilient Microservices ArchitecturesDevelop & Deploy cloud-native apps as resilient Microservices Architectures
Develop & Deploy cloud-native apps as resilient Microservices Architectures
 
Top 10 Internet Browsers
Top 10 Internet BrowsersTop 10 Internet Browsers
Top 10 Internet Browsers
 
SAP Technology Services Conference 2013: Big Data and The Cloud at Yahoo!
SAP Technology Services Conference 2013: Big Data and The Cloud at Yahoo! SAP Technology Services Conference 2013: Big Data and The Cloud at Yahoo!
SAP Technology Services Conference 2013: Big Data and The Cloud at Yahoo!
 
Web Search And Mining (Ntuim)
Web Search And Mining (Ntuim)Web Search And Mining (Ntuim)
Web Search And Mining (Ntuim)
 
Web Data Extraction: A Crash Course
Web Data Extraction: A Crash CourseWeb Data Extraction: A Crash Course
Web Data Extraction: A Crash Course
 

Recently uploaded

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 

Recently uploaded (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 

X-­PERT: Accurate Identification of Cross-Browser Issues in Web Applications