Testcase similarity - jjin-choi/study_note GitHub Wiki
λͺ©μ : ν μ€νΈ κ° μ μ¬λλ₯Ό λ°νμΌλ‘ cluster λ° Failure μμΈ‘νμ¬ license λ° κ²μ¦ ν¨μ¨ν
Abstract
- SoC ν¬κΈ°κ° 컀μ§μ λ°λΌ κ²μ¦ μλν / ν¨μ¨νκ° νμμ μ΄λ€.
- Regression automation μ μ§ν. ν μ€νΈλ€μ log, environments, ν μ€νΈλ€κ³Ό κ΄λ ¨λ νμΌλ€μ λν μ 보λ₯Ό DB ν.
- λΉ λ₯Έ μκ° λ΄μ μ νν κ²μ¦μ μν΄μλ κ²½μ μ (license) λ° μκ°μ ν¨μ¨νκ° νμν¨μ λλ.
- ν¨μ¨ν λ°©μ μ€ νλλ‘, ν
μ€νΈ μ΄λ¦μ λΆμνλ μλλ₯Ό νμλ€. (ref : μ§μ²λ λ
Όλ¬Έ)
- ν μ€νΈ μ΄λ¦μ΄ μ μ¬ν κ²½μ°, ν΄λΉ ν μ€νΈμ κ²°κ³Όκ° μ μ¬ν κ²μ΄λΌκ³ κ°μ νμκ³ , μ€μ λ‘ μ΄λμ λ ν¨κ³Όκ° μμλ€.
- νκ³μ μ μ΄λ¦λ§μΌλ‘λ ν μ€νΈ κ²°κ³Όλ₯Ό μ μΆν΄λ΄κΈ°κ° μ΄λ €μΈ λΏλλ¬, μ΄λ¦μ΄ μ μ¬νλλΌλ μ ν λ€λ₯Έ κ²°κ³Όκ° λμ€κΈ°λ νμλ€.
- κ·Έλ¬λ μ΄ λ°©μμ ν΅ν΄ ν μ€νΈ κ°μ μ μ¬λλ₯Ό λΆμν¨μΌλ‘μ¨ regression ν¨μ¨νλ₯Ό ν μ μμ κ²μ΄λΌλ μκ°μ κ°κ² λμλ€.
- λ°λΌμ μ°λ¦¬λ, λ ν¨κ³Όμ μΈ λ°©λ²μ λͺ¨μνκΈ° μν΄ DBμ μμΈ λ‘κ·Έ λ°μ΄ν°λ₯Ό μ΄μ©νμ¬ ν
μ€νΈμ κ΅¬μ± μμλ₯Ό νμ
ν΄λ΄κ³ , ꡬμ±μμ κ°μ similarity λ₯Ό λΆμ.
- λν, big data λΆμνκΈ° μν΄ Spark, MongoDB λ₯Ό μ΄μ©ν pipeline ꡬμΆνμ¬ μ¬λ¬ μΈ‘λ©΄μμ ν¨μ¨ν.
Proposed Method
-
κ°μ
- ꡬμ±μμλ ? Task Class Function Sequence
- λ‘κ·Έ λΆμμ ν΅ν΄ μλ¬κ° λ°μν κ΅¬μ± μμλ₯Ό νμ ν μ μλ€.
-
Phase 1 : ν μ€νΈ λ‘κ·Έ νμΌμμ ν μ€νΈ κ΅¬μ± μμ νμ . ꡬμ±μμλ₯Ό vectorize νμ¬ cosine distance κ³μ°
- Phase 1 μ ν΅ν΄μ λΉμ·ν λμμ νλ ν μ€νΈλ€μ νμ ν΄ λΌ μ μλ€.
- Phase 1 κ²°κ³Όλ‘ Testcase clustering μ νμ¬ λν testcase (centroid) λ₯Ό μΆμΆν΄ λΌ μ μλ€.
- κ° cluster μ centroid ν μ€νΈλ€μ μννλ€. (μ 체 μ€ 10~20%, license μν©μ λ§κ² μ‘°μ κ°λ₯)
-
Phase 2 : λ‘κ·Έ νμΌμμ λνλ Errorλ₯Ό λΆμνμ¬, ν΄λΉ error κ° λ°μν κ΅¬μ± μμμ λν΄μ κΈ°μ‘΄ distance μ weight μ‘°μ νμ¬ similarity λ€μ κ³μ°
- Phase 2 λ₯Ό ν΅ν΄μ μλ¬κ° λ°μν ꡬμ±μμλ₯Ό νμ νκ³ cluster λ₯Ό λ€μ μμ±νλ€.
- Phase 2 μμ μ¬μμ±λ cluster λ΄μ μ‘΄μ¬νλ ν μ€νΈλ€λ λμΌν Failure κ° λ°μν μ§ μμΈ‘ν μ μλ€.
-
ν΄λΉ ν μ€νΈμ λλ²κΉ μ΄ μλ£λμ΄ pass λλ©΄, κ·Έ cluster μ μν ν μ€νΈλ€λ μννλλ‘ μλν κ°λ₯.
Result
- μ μ©νμ§ μμμ λ / ν μ€νΈ μ΄λ¦λ§ λΆμνμ λ / μ΄ λ Όλ¬Έ λ°©λ² κ²°κ³Ό λΉκ΅ (μκ°/λΉμ© μΈ‘λ©΄)
- phase 1κ³Ό phase 2 κ²°κ³Ό λΉκ΅
- weight λ°©μ μ¬λ¬κ° λΉκ΅
- learning ... ?
- κΈ°ν λ±λ± (λ€λ₯Έ similarity λ Όλ¬Έλ€ μ°Ύμλ³΄κ³ λΉκ΅νκΈ°)
Discussion
- result κ²°κ³Ό λΆμ
Further study
- μΆν ML Training μ ν΅ν΄ Failure prediction μμΈ‘ μ±λ₯ ν₯μ (Proposed method μ ν¬ν¨μμΌλ λκ³ ...)
- Similarity κ° λ§€μ° λμ ν μ€νΈλ pruning ν μλ μμ
- Version λ³κ²½μΌλ‘ λ‘κ·Έ λ°μ΄ν°κ° μμ κ²½μ°μλ κΈ°μ‘΄ λΆμ κ²°κ³Όμμ difference κ° λ°μν κ²μ κΈ°λ°μΌλ‘ clustering ν μ μμ