Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

A source model simplification method to assist model transformation debugging

Published: 24 May 2024 Publication History

Abstract

Model transformation, which is a program targeting at transforming an input model to an output model, has been a critical basis for Model-Driven Engineering (MDE). The quality of model transformation programs directly affects the quality of software products built with MDE activities. Therefore, debugging model transformation programs has been crucial from the quality assurance point of view. One of the key impediments to the model transformation debugging is the high complexity and scale of the input models. In order to ameliorate the burden on model transformation debugging, this study proposes an effective approach to systematically reduce input models of model transformation programs. By combining the advantages of input simplification approaches for traditional programs and also the characteristics of model transformation, our approach leverages and adapts the delta debugging technique to model simplification. We conduct experiments to evaluate the proposed approach from two aspects: its effectiveness in model simplification, and its effects on model transformation debugging. Our experimental results confirm the positive contributions of the approach in both aspects. It delivers promising reduction effectiveness, and it can also well support the fault localization in model transformations.

References

[1]
Abreu, R., Zoeteweij, P., & Van Gemund, A. J. (2009). Spectrum-based multiple fault localization. In: 2009 IEEE/ACM International Conference on Automated Software Engineering, pp. 88–99.
[2]
Abreu R, Zoeteweij P, Golsteijn R, and Van Gemund AJ A practical evaluation of spectrum-based fault localization Journal of Systems and Software 2009 82 11 1780-1792
[3]
Alkhazi B, Abid C, Kessentini M, Leroy D, and Wimmer M Multi-criteria test cases selection for model transformations Automated Software Engineering 2020 27 91-118
[4]
Arendt, T., Biermann, E., Jurack, S., Krause, C., & Taentzer, G. (2010). Henshin: advanced concepts and tools for in-place emf model transformations. In: 13th International Conference on Model Driven Engineering Languages and Systems, pp. 121–135.
[5]
Assiri FY and Bieman JM Fault localization for automated program repair: effectiveness, performance, repair correctness Software Quality Journal 2017 25 171-199
[6]
Bauer, E., Küster, J. M., & Engels, G. (2011). Test suite quality for model transformation chains. In: International Conference on Modelling Techniques and Tools for Computer Performance Evaluation, pp. 3–19. Springer.
[7]
Christi, A., Olson, M. L., Alipour, M. A., & Groce, A. (2018). Reduce before you localize: Delta-debugging and spectrum-based fault localization. In: 2018 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW), pp. 184–191.
[8]
Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., & Talcott, C. (2007). All about maude-a high-performance logical framework: how to specify, program, and verify systems in rewriting logic, Lecture Notes in Computer Science, 4350.
[9]
Cuadrado, J. S., Guerra, E., & Lara, J. (2018). Anatlyzer: an advanced ide for atl model transformations. In: Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings, pp. 85–88.
[10]
Cuadrado JS, Guerra E, and Lara JD Anatlyzer: Static analysis of atl model transformations 2021 In Composing Model-Based Analysis Tools Springer
[11]
Cuadrado JS, Guerra E, and Lara J Quick fixing atl transformations with speculative analysis Software & Systems Modeling 2018 17 779-813
[12]
Field, A. (2013). Discovering statistics using ibm spss statistics, 4th ed. Newbury Park, CA, USA: Sage 2013.
[13]
Götz S, Tichy M, and Groner R Claimed advantages and disadvantages of (dedicated) model transformation languages: a systematic literature review Software and Systems Modeling 2021 20 469-503
[14]
Greenyer J and Kindler E Comparing relational model transformation technologies: implementing query/view/transformation with triple graph grammars Software & Systems Modeling 2010 9 21-46
[15]
Gupta, N., He, H., Zhang, X., & Gupta, R. (2005). Locating faulty code using failure-inducing chops. In: Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, pp. 263–272.
[16]
He X, Zhang T, Hu C-J, Ma Z, and Shao W An mde performance testing framework based on random model generation Journal of Systems and Software 2016 121 247-264
[17]
He X, Zhang T, Pan M, Ma Z, and Hu C-J Template-based model generation Software & Systems Modeling 2019 18 2051-2092
[18]
Hodován, R., & Kiss, Á. (2016). Modernizing hierarchical delta debugging. In: Proceedings of the 7th International Workshop on Automating Test Case Design, Selection, and Evaluation, pp. 31–37.
[19]
Hodován, R., & Kiss, Á. (2016). Practical improvements to the minimizing delta debugging algorithm. In: International Conference on Software Engineering and Applications, vol. 2, pp. 241–248. SciTePress.
[20]
Höppner S, Haas Y, Tichy M, and Juhnke K Advantages and disadvantages of (dedicated) model transformation languages: A qualitative interview study Empirical Software Engineering 2022 27 6 159
[21]
INRIA. (2005). ATL Transformation Example: BibTeXML to DocBook. Retrieved from https://www.eclipse.org/atl/atlTransformations/BibTeXML2DocBook/ExampleBibTeXML2DocBook[v00.01].pdf
[22]
Janssen, T., Abreu, R., & Van Gemund, A. J. (2009). Zoltar: a spectrum-based fault localization tool. In: Proceedings of the 2009 ESEC/FSE Workshop on Software Integration and Evolution@ Runtime, pp. 23–30.
[23]
Jones, J. A., & Harrold, M. J. (2005). Empirical evaluation of the tarantula automatic fault-localization technique. In: Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, pp. 273–282.
[24]
Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I., & Valduriez, P. (2006). Atl: a qvt-like transformation language. In: Companion to the 21st ACM SIGPLAN Symposium on Object-oriented Programming Systems, Languages, and Applications, pp. 719–720.
[25]
Karimi M, Kolahdouz-Rahimi S, and Troya J Ant-colony optimization for automating test model generation in model transformation testing Journal of Systems and Software 2024 208
[26]
López JAH and Cuadrado JS Generating structurally realistic models with deep autoregressive networks IEEE Transactions on Software Engineering 2023 49 4 2661-2676
[27]
Mao X, Lei Y, Dai Z, Qi Y, and Wang C Slice-based statistical fault localization Journal of Systems and Software 2014 89 51-62
[28]
Maxwell A and Pilliner A Deriving coefficients of reliability and agreement for ratings British Journal of Mathematical and Statistical Psychology 1968 21 1 105-116
[29]
Misherghi, G., & Su, Z. (2006). Hdd: hierarchical delta debugging. In: Proceedings of the 28th International Conference on Software Engineering, pp. 142–151.
[30]
Muñoz, P., Troya, J., Wimmer, M., & Kappel, G. (2022). Revisiting fault localization techniques for model transformations: Towards a hybrid approach. Journal of Object Technology, 21(4).
[31]
Naish L, Lee HJ, and Ramamohanarao K A model for spectra-based software diagnosis ACM Transactions on software engineering and methodology (TOSEM) 2011 20 3 1-32
[32]
Qi, Y., Mao, X., Lei, Y., & Wang, C. (2013). Using automated program repair for evaluating the effectiveness of fault localization techniques. In: Proceedings of the 2013 International Symposium on Software Testing and Analysis, pp. 191–201.
[33]
Rabin, M. R. I., Hellendoorn, V. J., & Alipour, M. A. (2021). Understanding neural code intelligence through program simplification. In: Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 441–452.
[34]
Rule-Based, A. (2020). Generating large emf models efficiently. In: Proc. Int. Conf. Fundam. Approaches Softw. Eng, pp. 224–244.
[35]
Suneja, S., Zheng, Y., Zhuang, Y., Laredo, J. A., & Morari, A. (2021). Probing model signal-awareness via prediction-preserving input minimization. In: Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 945–955.
[36]
Taentzer, G. (2003). Agg: A graph transformation environment for modeling and validation of software. In: International Workshop on Applications of Graph Transformations with Industrial Relevance, pp. 446–453. Springer.
[37]
Troya J, Segura S, Burgueño L, and Wimmer M Model transformation testing and debugging: A survey ACM Computing Surveys 2022 55 4 1-39
[38]
Troya J, Segura S, Parejo JA, and Ruiz-Cortés A Spectrum-based fault localization in model transformations ACM Transactions on Software Engineering and Methodology (TOSEM) 2018 27 3 1-50
[39]
VaraminyBahnemiry, Z., Galasso, J., Belharbi, K., & Sahraoui, H. (2021). Automated patch generation for fixing semantic errors in atl transformation rules. In: 2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 13–23.
[40]
Vince, D., Hodován, R., & Kiss, Á. (2021). Reduction-assisted fault localization: Don’t throw away the by-products! In: ICSOFT, pp. 196–206.
[41]
Wang, G., Shen, R., Chen, J., Xiong, Y., & Zhang, L. (2021). Probabilistic delta debugging. In: Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 881–892.
[42]
Win HM, Tan SH, and Sui Y Event-aware precise dynamic slicing for automatic debugging of android applications Journal of Systems and Software 2023 198
[43]
Wong, W. E., Debroy, V., Li, Y., & Gao, R. (2012). Software fault localization using dstar (d*). In: 2012 IEEE Sixth International Conference on Software Security and Reliability, pp. 21–30.
[44]
Wong WE, Debroy V, Gao R, and Li Y The dstar method for effective software fault localization IEEE Transactions on Reliability 2013 63 1 290-308
[45]
Wong WE, Gao R, Li Y, Abreu R, and Wotawa F A survey on software fault localization IEEE Transactions on Software Engineering 2016 42 8 707-740
[46]
Xie X, Chen TY, Kuo F-C, and Xu B A theoretical analysis of the risk evaluation formulas for spectrum-based fault localization ACM Transactions on software engineering and methodology (TOSEM) 2013 22 4 1-40
[47]
Zeller A Isolating cause-effect chains from computer programs ACM SIGSOFT Software Engineering Notes 2002 27 6 1-10
[48]
Zeller A and Hildebrandt R Simplifying and isolating failure-inducing input IEEE Transactions on Software Engineering 2002 28 2 183-200
[49]
Zhou, X., Peng, X., Xie, T., Sun, J., Li, W., Ji, C., & Ding, D. (2018). Delta debugging microservice systems. In: Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, pp. 802–807.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Software Quality Journal
Software Quality Journal  Volume 32, Issue 3
Sep 2024
519 pages

Publisher

Kluwer Academic Publishers

United States

Publication History

Published: 24 May 2024
Accepted: 24 April 2024

Author Tags

  1. Model transformation
  2. Delta debugging
  3. Model reduction
  4. Fault localization

Qualifiers

  • Research-article

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 26 Jan 2025

Other Metrics

Citations

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media