tween them. These differences represent potential manifestations
of XBIs in the web application’s behavior and are used in the final
phase of the algorithm to identify a set of XBIs. The comparison
is performed in three steps, representing analyses at three different
levels of abstraction of the model.
3.2.1 Trace-level Comparison
This step compares state graphs G1 and G2 (of models M1 and
M2) for equivalence. To do so, it uses the graph isomorphism algorithm
for labelled directed graphs proposed in [9], which finds a
one-to-one mapping between both nodes and edges of G1 and G2.
The comparison produces two items: T and ScreenMatchList. T
is a list of those edges from G1 or G2 that could not be matched
to a corresponding edge in the other state graph—edges that denote
trace-level differences. ScreenMatchList is a list of matched screen
pairs (S
1
i
, S2
i ) (from G1 and G2, respectively) that is used in the
next step.
3.2.2 DOM Comparison of Matched Screen Pairs
This step iterates through the pairs of matched screens in ScreenMatchList
(previous step) and, for each such pair (S
1
i
, S2
i ), compares
the DOMs of the two screens for equality and produces
DomMatchListi as its output. DomMatchListi is a set of
pairs of matched DOM nodes, one for each pair of screens. Our
DOM matching algorithm largely follows the one proposed by us
in WEBDIFF (see Algorithm 1 in Reference [18] for details). The
key difference between the two algorithms is the computation of
the match index metric—a number between 0 and 1 that quanti-
fies the similarity between two DOM nodes. The higher the match
index, the higher the likelihood that the two DOM elements represent
the same element in the context of their respective screens.
Currently, we use the following formula for computing the match
index: Given two DOM nodes a and b,
MatchIndex = 0.7 × ∆X + 0.2 × ∆A + 0.1 × ∆P
where ∆X stands for XPath Distance, ∆A measures the difference
in attributes, and ∆P measures the difference in dynamic
properties queried from the DOM. The coefficients for this formula
were empirically established by us in previous work. The variables
are metrics which are defined as follows:
∆X = 1 −
LevenshteinDistance(a.xpath, b.xpath)
max(length(a.xpath), length(b.xpath))
∆A =
countSimilar(a.attibutes, b.attributes)
count(a.attributes ∪ b.attributes)
∆P =
countSimilar(a.domdata, b.domdata)
count(a.domdata ∪ b.domdata)
In the formulas, (a, b) are the two DOM nodes to be matched.
XPath is the path of a particular DOM node in the DOM tree from
the root, and LevenshteinDistance [7] is the edit distance between
the XPaths of the two nodes under consideration. Functions
max(), length(), and count() return the maximum of two numbers,
the length of a string, and the number of elements in a list,
respectively. Properties attributes and domdata are maps having
(key, value) pairs that represent the DOM node attributes and
dynamic DOM properties, respectively. Function countSimilar
returns the number of elements between two maps that have equal
(key, value) pairs, and operator ∪ performs a union of two maps
based on keys. Once the DOM nodes are matched using the above
formulas, a set of DOM-level differences Di is computed for each
screen pair (S
1
i
, S2
i ) in ScreenMatchList.
3.2.3 Visual Differencing of Matched Screen-element
Pairs
This is the final and most important step in the model comparison.
This step iterates over the pairs of matched DOM elements
in DomMatchListi and, for each pair of matched DOM nodes
(n
1
j
, n2
j ), compares their corresponding screen elements visually.
If the two nodes are found to be different, they are added to the list
of screen differences, Vi, for screen pair (S
1
i
, S2
i ). For this, a set of
features are extracted for each node in the pair (n
1
j
, n2
j ) and a machine
learning classifier C is used to decide if the nodes are similar
or represent a CBD. Further details of this classifier are presented
in the following section. As in the case of DOM-level differences,
there is a set of visual differences, Vi, computed for each pair of
matched screens (S
1
i
, S2
i ) in ScreenMatchList.
3.2.4 Machine learning for Visual Differencing
To perform automated classification, CROSSCHECK uses machine
learning to build a classifier that is used to decide whether
two screen elements being compared are different. For this work,
we used a C4.5 decision tree classifier [14] because it is simple, yet
effective in our problem domain. We chose a set of five features
(described below) for the classifier. These features were carefully
chosen to encompass the typical manifestations of XBIs found in
the wild, based on our experience with cross-browser testing during
this and previous work [9, 18].
Let e1 and e2 be the screen elements being compared, (x1, y1)
denote the absolute screen co-ordinates of the top left-hand corner
of the bounding bo
แต่พวกเขา ความแตกต่างเหล่านี้แสดงถึงอาการที่อาจเกิดขึ้นของ XBIs ในโปรแกรมประยุกต์เว็บลักษณะการทำงานและมีใช้ในรอบสุดท้ายขั้นตอนของอัลกอริทึมเพื่อระบุชุดของ XBIs การเปรียบเทียบดำเนินการในขั้นตอนที่สาม แสดงถึงการวิเคราะห์ที่แตกต่างกันสามระดับของนามธรรมของรูปแบบ3.2.1 เปรียบเทียบระดับการติดตามของขั้นตอนนี้เปรียบเทียบสถานะกราฟ G1 และ G2 (รุ่น M1 และM2) สำหรับเทียบเท่า การทำงาน จะใช้อัลกอริทึม isomorphism กราฟสำหรับคำว่ากราฟโดยตรงเสนอ [9], ซึ่งพบในการแมปแบบหนึ่งต่อหนึ่งระหว่างโหนและขอบของ G1 และ G2การเปรียบเทียบผลิตสินค้าสอง: T และ ScreenMatchList Tคือรายการของขอบที่จาก G1 G2 ที่ไม่ตรงขอบสอดคล้องในสถานะกราฟอื่น ๆ — ขอบที่ denoteความแตกต่างของระดับการติดตาม ScreenMatchList คือ รายการของหน้าจอตรงกันคู่ (S1ผม, S2i) (จาก G1 และ G2 ตามลำดับ) ที่ใช้ในการขั้นตอนต่อไปนี้3.2.2 เปรียบเทียบคู่ตรงหน้าจอ DOMขั้นตอนนี้มีการคำนวณซ้ำผ่านคู่ของหน้าจอตรงกันใน ScreenMatchList(ขั้นตอนก่อนหน้า) และ สำหรับแต่ละดังกล่าวคู่ (S1ผม, S2i) เปรียบเทียบDOMs ของหน้าจอสองสำหรับความเสมอภาคและการผลิตDomMatchListi เป็นผลลัพธ์ DomMatchListi เป็นชุดของคู่ของโหน DOM ตรงกัน หนึ่งสำหรับแต่ละคู่ของหน้าจอ ของเราอัลกอริทึมตรง DOM ดังนี้หนึ่งเสนอ โดยเราส่วนใหญ่ใน WEBDIFF (ดู 1 อัลกอริทึมในการอ้างอิง [18] สำหรับรายละเอียด) การความแตกต่างสำคัญระหว่างขั้นตอนวิธีที่สองคือ การคำนวณการวัดดัชนีการแข่งขัน — ตัวเลขระหว่าง 0 และ 1 ที่ quanti -fies ความเหมือนระหว่างสองโหน DOM การแข่งขันสูงดัชนี โอกาสที่แสดงองค์ประกอบ DOM สองสูงองค์ประกอบเดียวกันในบริบทของแต่ละหน้าจอเราใช้สูตรต่อไปนี้สำหรับการแข่งขันคอมพิวเตอร์ในปัจจุบันดัชนี: กำหนดโหน DOM สองตัว และ bMatchIndex = 0.7 × ∆X + 0.2 × ∆A + 0.1 ∆Pที่ ∆X ยืนระยะ XPath, ∆A วัดความแตกต่างแอตทริบิวต์ และ ∆P วัดความแตกต่างในแบบไดนามิกสอบถามจากในประเทศพัก ค่าสัมประสิทธิ์สำหรับสูตรนี้เชิงประสบการณ์ด้วยก่อตั้ง โดยเราในการทำงานก่อนหน้านี้ ตัวแปรมีตัวชี้วัดที่กำหนดไว้เป็นดังนี้:∆X = 1 −LevenshteinDistance (a.xpath, b.xpath)max(length(a.xpath), length(b.xpath))∆A =countSimilar (a.attibutes, b.attributes)จำนวน (a.attributes ∪ b.attributes)∆P =countSimilar (a.domdata, b.domdata)จำนวน (a.domdata ∪ b.domdata)ในสูตร, (a, b) มีสองโหน DOM จับคู่XPath คือ พาธของโหน DOM เฉพาะในแผนภูมิจาก DOMราก และ LevenshteinDistance [7] เป็นระยะทางแก้ไขระหว่างXPaths สองโหนภายใต้การพิจารณาของ ฟังก์ชันmax(), length() และ count() กลับสูงสุดของตัวเลขสองตัวความยาวของสตริ และจำนวนขององค์ประกอบในรายการตามลาดับ คุณลักษณะคุณสมบัติและ domdata จะมีแผนที่(คีย์ ค่า) คู่ซึ่งแทนแอตทริบิวต์โหน DOM และคุณสมบัติแบบไดนามิก DOM ตามลำดับ ฟังก์ชัน countSimilarส่งกลับจำนวนขององค์ประกอบแผนที่สองที่มีเท่ากัน(ค่าของคีย์ ) คู่ และผู้ประกอบการ∪ทำสหภาพของสองแผนที่คะแนนเฉลียจากคีย์ เมื่อโหน DOM ตรงใช้ข้างต้นสูตร ความแตกต่างระดับ DOM Di คำนวณสำหรับแต่ละชุดหน้าจอคู่ (S1ผม, S2i) ใน ScreenMatchList3.2.3 จับคู่ภาพ Differencing ขององค์ประกอบหน้าจอคู่นี้เป็นขั้นตอนสุดท้าย และสำคัญที่สุดในการเปรียบเทียบรุ่นขั้นตอนนี้มีการคำนวณซ้ำผ่านคู่ขององค์ประกอบ DOM ตรงกันใน DomMatchListi และ สำหรับแต่ละคู่ของโหน DOM ที่ตรงกัน(n1เจ, n2เจ) เปรียบเทียบองค์ประกอบหน้าจอของพวกเขาที่สอดคล้องกันด้วยสายตาหากโหนที่สองพบจะแตกต่างกัน เพิ่มในรายการของหน้าจอแตกต่าง Vi จอคู่ (S1ผม, S2i) . สำหรับการนี้ ชุดคุณสมบัติถูกแยกสำหรับแต่ละโหนดในคู่ (n1เจ, n2เจ) และเครื่องเรียนรู้ลักษณนาม C ใช้ในการตัดสินใจถ้า โหนจะคล้ายกันหรือแสดงใน CBD แสดงรายละเอียดเพิ่มเติมของลักษณนามนี้ในส่วนต่อไปนี้ เช่นในกรณีของ DOM ระดับความแตกต่างมีชุดของภาพแตกต่าง Vi คำนวณสำหรับแต่ละคู่ของตรงหน้าจอ (S1ผม, S2i) ใน ScreenMatchList3.2.4 เครื่องการเรียนรู้สำหรับ Visual Differencingการจัดประเภทอัตโนมัติ CROSSCHECK ใช้เครื่องการเรียนรู้เพื่อสร้างลักษณนามที่ใช้ในการตัดสินใจว่าเปรียบเทียบองค์ประกอบหน้าจอที่สองจะแตกต่างกัน สำหรับการทำงานนี้เราใช้การจำแนกต้นไม้ตัดสินใจ C4.5 [14] เนื่องจากมันง่าย ได้มีประสิทธิภาพในโดเมนของเราปัญหา เราเลือกชุดของคุณลักษณะที่ห้า(อธิบายด้านล่าง) สำหรับการจำแนก คุณลักษณะเหล่านี้ได้อย่างรอบคอบเลือกที่จะรวมเอาอาการทั่วไปของ XBIs ที่พบในป่า อิงจากประสบการณ์ของเรากับข้ามเบราว์เซอร์การทดสอบระหว่างนี้ และการทำงานก่อนหน้า [9, 18]ให้ e1 และ e2 เป็นจอองค์ประกอบเปรียบเทียบ, (x1, y1)แสดงเต็มจอลีประสานของมุมซ้ายบนของบ่อ bounding
การแปล กรุณารอสักครู่..
ทวีพวกเขา ความแตกต่างเหล่านี้เป็นตัวแทนสำแดงศักยภาพ
ของ XBIs ในพฤติกรรมการใช้เว็บของและถูกนำมาใช้ในขั้นสุดท้าย
ขั้นตอนของอัลกอริทึมในการระบุชุดของ XBIs การเปรียบเทียบ
จะดำเนินการในขั้นตอนที่สามเป็นตัวแทนของการวิเคราะห์ที่แตกต่างกันสาม
ระดับของนามธรรมของรูปแบบ.
3.2.1 ระดับการติดตามการเปรียบเทียบ
ขั้นตอนนี้เปรียบเทียบกราฟรัฐ G1 และ G2 (จากรุ่น M1 และ
M2) เพื่อความเท่าเทียมกัน การทำเช่นนั้นจะใช้อัลกอริทึมมอร์ฟกราฟ
สำหรับกราฟที่มีข้อความกำกับเสนอใน [9] ซึ่งพบว่า
การทำแผนที่หนึ่งต่อหนึ่งระหว่างทั้งสองโหนดและขอบของ G1 และ G2.
การเปรียบเทียบการผลิตสองรายการ: T และ ScreenMatchList T
คือรายการของผู้ที่มาจากขอบ G1 หรือ G2 ที่ไม่สามารถจับคู่
กับขอบที่สอดคล้องกันในรัฐกราฟขอบอื่น ๆ ที่แสดงให้เห็นถึง
ความแตกต่างของระดับการติดตาม ScreenMatchList คือรายการของหน้าจอตรงกับ
คู่ (S
1
ผม
, S2
I) (จาก G1 และ G2 ตามลำดับ) ที่ใช้ใน
ขั้นตอนต่อไป.
3.2.2 DOM เปรียบเทียบตรงกันคู่หน้าจอ
ขั้นตอนนี้ iterates ผ่านหน้าจอคู่ที่ตรงกัน ใน ScreenMatchList
(ขั้นตอนก่อนหน้า) และสำหรับแต่ละคู่ดังกล่าว (S
1
ผม
, S2
I) เปรียบเทียบ
ถุงยางของทั้งสองหน้าจอเพื่อความเท่าเทียมกันและผลิต
DomMatchListi เป็นเอาท์พุท DomMatchListi เป็นชุดของ
คู่ของโหนด DOM จับคู่หนึ่งสำหรับคู่ของหน้าจอแต่ละ ของเรา
ขั้นตอนวิธีการจับคู่ DOM ส่วนใหญ่ต่อไปนี้อย่างใดอย่างหนึ่งที่เสนอโดยเรา
ใน WEBDIFF (ดูอัลกอริทึมที่ 1 ในการอ้างอิง [18] สำหรับรายละเอียด)
แตกต่างที่สำคัญระหว่างสองขั้นตอนวิธีการคือการคำนวณของ
ดัชนีชี้วัดการแข่งขัน-ตัวเลขระหว่าง 0 และ 1 ที่ quanti-
fies ความคล้ายคลึงกันระหว่างสองโหนด DOM สูงกว่าการแข่งขัน
ดัชนีที่สูงกว่าความเป็นไปได้ว่าทั้งสององค์ประกอบ DOM แทน
องค์ประกอบเดียวกันในบริบทของหน้าจอของตน.
ในปัจจุบันเราใช้สูตรต่อไปนี้สำหรับการคำนวณการแข่งขัน
ดัชนี: รับสองโหนด DOM A และ B
MatchIndex = 0.7 ×ΔX + 0.2 ×ΔA + 0.1 ×ΔP
ที่ΔXยืนสำหรับ XPath ระยะทางΔAมีขนาดแตกต่างกัน
ในลักษณะและขนาดΔPความแตกต่างในแบบไดนามิก
คุณสมบัติสอบถามจาก DOM ค่าสัมประสิทธิ์สำหรับสูตรนี้
ถูกจัดตั้งขึ้นสังเกตุโดยเราในการทำงานก่อนหน้า ตัวแปรที่
มีตัวชี้วัดที่มีการกำหนดดังนี้
ΔX = 1 -
ระยะทางเลเวนชเตย์น (a.xpath, b.xpath)
แม็กซ์ (ความยาว (a.xpath) ความยาว (b.xpath))
ΔA =
countSimilar (a.attibutes, b.attributes)
นับ (a.attributes ∪ b.attributes)
ΔP =
countSimilar (a.domdata, b.domdata)
นับ (a.domdata ∪ b.domdata)
ในสูตร (A, B) เป็นสอง DOM โหนดที่จะจับคู่.
XPath เป็นเส้นทางของโหนด DOM โดยเฉพาะอย่างยิ่งใน DOM ต้นไม้จาก
รากและระยะทางเลเวนชเตย์น [7] คือการแก้ไขระยะห่างระหว่าง
XPaths ของทั้งสองโหนดภายใต้การพิจารณา ฟังก์ชั่น
max () ความยาว () และนับ () ผลตอบแทนสูงสุดของตัวเลขสอง
ความยาวของสตริงและจำนวนขององค์ประกอบในรายการที่
ตามลำดับ คุณสมบัติและคุณลักษณะ domdata มีแผนที่มี
(ที่สำคัญค่า) คู่ที่เป็นตัวแทนของแอตทริบิวต์โหนด DOM และ
คุณสมบัติ DOM แบบไดนามิกตามลำดับ ฟังก์ชั่น countSimilar
ส่งกลับจำนวนขององค์ประกอบระหว่างสองแผนที่ที่มีความเท่าเทียมกัน
(ที่สำคัญค่า) คู่และผู้ประกอบการดำเนินการ∪สหภาพของทั้งสองแผนที่
ขึ้นอยู่กับคีย์ เมื่อโหนด DOM ที่มีการจับคู่โดยใช้ข้างต้น
สูตรชุดของความแตกต่าง DOM ระดับ Di คำนวณสำหรับแต่ละ
คู่หน้าจอ (S
1
ผม
, S2
i) ใน ScreenMatchList.
3.2.3 ภาพความแตกต่างของหน้าจอที่ตรงกันองค์ประกอบ
คู่
นี้เป็น ขั้นตอนสุดท้ายและที่สำคัญที่สุดในการเปรียบเทียบรูปแบบ.
นี้ iterates ขั้นตอนมากกว่าคู่จับคู่องค์ประกอบ DOM
ใน DomMatchListi และสำหรับคู่ของโหนดจับคู่ DOM แต่ละ
(n
1
J
, N2
J) เปรียบเทียบองค์ประกอบของหน้าจอที่สอดคล้องกันของพวกเขาสายตา.
หากทั้งสอง โหนดจะพบว่ามีความแตกต่างกันพวกเขาจะถูกเพิ่มลงในรายการ
ของความแตกต่างหน้าจอที่หกสำหรับคู่หน้าจอ (S
1
ผม
, S2
i) สำหรับเรื่องนี้ชุดของ
คุณลักษณะจะถูกดึงสำหรับแต่ละโหนดในคู่ (n
1
J
, N2
J) และเครื่อง
เรียนรู้ลักษณนาม C จะใช้ในการตัดสินใจว่าโหนดจะคล้ายกัน
หรือเป็นตัวแทนของ CBD รายละเอียดเพิ่มเติมของลักษณนามนี้จะถูกนำเสนอ
ในส่วนต่อไปนี้ เช่นในกรณีของความแตกต่าง DOM ระดับที่
มีชุดของความแตกต่างภาพ Vi คำนวณสำหรับคู่ของแต่ละ
หน้าจอจับคู่ (S
1
ผม
, S2
i) ใน ScreenMatchList.
3.2.4 เครื่องการเรียนรู้สำหรับภาพความแตกต่าง
ในการดำเนินการจัดหมวดหมู่โดยอัตโนมัติ , crosscheck เครื่องใช้
การเรียนรู้ที่จะสร้างลักษณนามที่ใช้ในการตัดสินใจไม่ว่าจะเป็น
สององค์ประกอบของหน้าจอถูกเปรียบเทียบจะแตกต่างกัน สำหรับงานนี้
เราใช้ลักษณนามต้นไม้ตัดสินใจ C4.5 [14] เพราะมันเป็นที่เรียบง่าย แต่
มีประสิทธิภาพในการโดเมนปัญหาของเรา เราเลือกชุดของห้าคุณสมบัติ
(อธิบายด้านล่าง) สำหรับลักษณนาม คุณสมบัติเหล่านี้ได้รับการอย่างรอบคอบ
เลือกที่จะห้อมล้อมอาการโดยทั่วไปของ XBIs พบใน
ป่าที่อยู่บนพื้นฐานของประสบการณ์ของเรากับการทดสอบเบราว์เซอร์ในช่วง
นี้และการทำงานก่อนหน้า [9, 18].
ให้ E1 และ E2 เป็นองค์ประกอบของหน้าจอที่มีการเปรียบเทียบ (x1 , Y1)
แสดงหน้าจอแน่นอนพิกัดของมุมซ้ายบน
ของบ่อขอบเขต
การแปล กรุณารอสักครู่..