Towards an Automated Fault Localizer while Designing Meta-models Adel - - PowerPoint PPT Presentation

towards an automated fault localizer while designing meta
SMART_READER_LITE
LIVE PREVIEW

Towards an Automated Fault Localizer while Designing Meta-models Adel - - PowerPoint PPT Presentation

Towards an Automated Fault Localizer while Designing Meta-models Adel Ferdjoukh and Jean-Marie Mottu MDEbug@MODELS 2018, Copenhagen (Kbenhavn) null Motivation Automated fault localization Tooling Ideas for improving Conclusion Synopsis 1


slide-1
SLIDE 1

Towards an Automated Fault Localizer while Designing Meta-models Adel Ferdjoukh and Jean-Marie Mottu

MDEbug@MODELS 2018, Copenhagen (København)

slide-2
SLIDE 2

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

Synopsis

1 Motivation 2 Automated fault localization 3 Tooling 4 Ideas for improving 5 Conclusion

2 21

slide-3
SLIDE 3

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

  • 1. Motivation

3 21

slide-4
SLIDE 4

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

Validity of meta-models

general idea

Ensure the validity of meta-models & help meta-model designers

wished features

1 Localize problems in faulty meta-models 2 Give feedback to designers 3 Propose corrections

4 21

slide-5
SLIDE 5

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

meta-model validation

Validity of meta-models

Generate valid instances using model finders

Characteristics of model finders

1 Automated 2 Many models 3 Meaningful and Diverse

5 21

slide-6
SLIDE 6

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

Validation with Grimm

Grimm

A tool for model generation and meta-model validation

Validation with Grimm

1 Design a new meta-model 2 Ask for instances 3 Inspect and correct 4 Back to 2

6 21

slide-7
SLIDE 7

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

Validation with Grimm

Grimm

A tool for model generation and meta-model validation

Validation with Grimm

1 Design a new meta-model 2 Ask for instances 3 Inspect and correct (manual task) 4 Back to 2

6 21

slide-8
SLIDE 8

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

Steps for model generation

steps for model generation

7 21

slide-9
SLIDE 9

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

Steps for model generation

detection far from origin

7 21

slide-10
SLIDE 10

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

Steps for model generation

focus for current work

7 21

slide-11
SLIDE 11

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

  • 2. Automated fault localization

8 21

slide-12
SLIDE 12

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

Proposition

Automated fault localization

  • Static analysis of meta-model
  • Check the consistency of generation parameters
  • Precise localization of errors

Systems of Linear Inequalities

  • Translate a meta-model and generation parameters into SLI
  • Write checking algorithms
  • Give fixing propositions

9 21

slide-13
SLIDE 13

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

From Ecore to SLI

  • #House ≤ #Room

#Room ≤ 5 × #House

10 21

slide-14
SLIDE 14

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

From Ecore to SLI

  • #House ≤ #Room

#Room ≤ 5 × #House

  • 3H & 4R
  • 2H & 1R

10 21

slide-15
SLIDE 15

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

From Ecore to SLI

Translated Ecore elements

1 Simple references 2 Compositions 3 Eopposite references 4 Inheritance combined with 1,2 and 3

11 21

slide-16
SLIDE 16

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

Checking the SLI and propositions

Checking the SLI

  • Each Inequality is checked using the candidate values
  • Detect all faults in 1 shot

Fixing propositions

  • Detected anomaly
  • Help propositions (manual fixing)

12 21

slide-17
SLIDE 17

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

  • 3. Tooling

13 21

slide-18
SLIDE 18

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

Automated Fault Localization

14 21

slide-19
SLIDE 19

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

TIWIZI tool

15 21

slide-20
SLIDE 20

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

  • 4. Ideas for improving

16 21

slide-21
SLIDE 21

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

Meta-model & partial solutions

Meta-model validity

  • Solve the SLI to propose solutions (intervals of values)
  • Detect meta-model anomalies

Partial solutions

1 Users give some CVs (not all classes) 2 Solve the SLI 3 Complete remaining CVs

17 21

slide-22
SLIDE 22

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

Global fixing propositions

Current solution

Fixing propositions concern one reference (or two classes).

Improvement idea

  • Learn more complex propositions (eg. 3 classes at once)
  • Auto-fix generation

18 21

slide-23
SLIDE 23

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

  • 5. Conclusion

19 21

slide-24
SLIDE 24

null

Motivation Automated fault localization Tooling Ideas for improving Conclusion

Conclusion

Summary

Approach for assisting meta-model designers

Contributions

  • Translation of Ecore meta-models into SLI
  • Automated fault localization during instantiation.
  • Precise fixing propositions

20 21

slide-25
SLIDE 25