A Domain Specific Language for Event Sequence Graphs
Yıl 2024,
, 49 - 58, 23.01.2024
Mert Kalecik
,
Tuğkan Tuğlular
,
Fevzi Belli
Öz
The quality of the software is one of the essential parameters that must be reached in order to provide reliable and error-free software solutions. Systematic testing, which is frequently manifested through model-based testing, is one method for improving the quality of software. Event Sequence Graphs (ESGs) can be given as an example of a model-based testing approach. Domain specific language (DSL) is typically a declarative language that provides significant advantages in the development process in a limited domain. This research is centered on the development of a domain-specific language, which will be referred to as ESG-DSL, for the design and visualization of decision table-augmented hierarchical ESGs. A focus group was worked on for evaluation and ESGs were created with both the Test Suite Designer (TSD) tool and ESG-DSL for certain scenarios. The comparison results obtained through the questionnaire applied to the focus group show that the ESG-DSL approach includes some improvements, such as ease of use and reusability, compared to the TSD approach.
Kaynakça
- Eeles, P., Sam, H. B., Mistrík, I., Roshandel, R., Stal, M. 2014. Relating System Quality and Software Architecture: Foundations and Approaches. Morgan Kaufmann, Boston, 1-20. DOI: 10.1016/B978-0-12-417009-4.00001-6.
- Belli, F. 2001. Finite state testing and analysis of graphical user interfaces. 12th International Symposium on Software Reliability Engineering, 27-30 Kasım, Hong Kong DOI: 10.1109/ISSRE.2001.989456.
- Chow, T. S. 1978. Testing Software Design Modeled by Finite-State Machines, IEEE Transactions on Software Engineering, Cilt. 4, 178-187. DOI: 10.1109/TSE.1978.231496.
- Belli, F., Linschulte, M., Tuğlular, T. 2016. Karar tablosu destekli olay sıra çizgeleri temelli sınama durum üretim aracı. 10. Ulusal Yazılım Mühendisliği Sempozyumu, 24-26 Ekim, Çanakkale. s. 408-413. DOI: S0218194016500091
- Budnik, C. J., Belli, F., Hollmann, A. 2009. Structural feature extraction for GUI test enhancement. International Conference on Software Testing, Verification, and Validation Workshops, 1-4 Nisan, Denver, CO, ABD, s. 255-262, DOI: 10.1109/ICSTW.2009.19
- Ellson, J., Gansner, E. R., Koutsofios, E., North, S. C., Woodhull, G. 2003. Graphviz and dynagraph – static and dynamic graph drawing tools. Graph Drawing Software, Mathematics and Visualization, Springer, Berlin, Heidelberg, 378 s. DOI: 10.1007/978-3-642-18638-7_6
- Öztürk, D. 2020. A Model-Based Test Generation Approach for Agile Software Product Lines. İzmir Yüksek Teknoloji Enstitüsü, Mühendislik ve Fen Bilimleri Enstitüsü, Yüksek Lisans Tezi, 108s, İzmir. https://gcris.iyte.edu.tr/handle/11147/10970 (Erişim Tarihi: 30.01.2023).
- Uddin, A., Anand, A. 2019. Importance of Software Testing in the Process of Software Development, International Journal for Scientfic Research and Development, Cilt.6, 141-145.
- Bentley, J. 1986. Programming pearls: Little languages, Communications of the ACM, Cilt. 29, No. 8, s. 711-721. DOI: 10.1145/6424.315691.
- Deursen, A., Klint, P., Visser, J. 2000. Domain-Specific Languages: An Annotated Bibliography, ACM Sigplan Notices, Cilt. 35, No. 6, 26–36. DOI: 10.1145/352029.352035
- Xtext, 2006. https://www.eclipse.org/Xtext/, (Erişim Tarihi: 30.01.2023).
- SciSpike/yaktor, scispike, 2021. https://github.com/SciSpike/yaktor (Erişim Tarihi: 30.01.2023).
- SciSpike/yaktor-dsl-xtext, scispike, 2017. https://github.com/SciSpike/yaktor-dsl-xtext (Erişim Tarihi: 30.01.2023).
- GitHub, Franca, 2018. https://github.com/franca/franca, (Erişim Tarihi: 30.01.2023).
- Expression Language, 2021. https://github.com/intuit/common-xtext-expression-language. (Erişim Tarihi: 30.01.2023).
- Bagga, J. S., Heinz, A. 2002. JGraph - A Java Based System for Drawing Graphs and Running Graph Algorithms, Lecture Notes in Computer Science, Cilt. 2265. Springer, Berlin, Heidelberg. DOI: 10.1007/3-540-45848-4_45
- JUNG Framework Tech Report, 2016. http://www.datalab.uci.edu/papers/JUNG_tech_report.html#related. (Erişim Tarihi: 30.01.2023).
- PlantUML, 2009. https://plantuml.com/ (Erişim Tarihi: 30.01.2023).
- Graphviz, 1991. https://graphviz.org/ (Erişim Tarihi: 30.01.2023).
- Gansner, E., North, S. 1997. An Open Graph Visualization System and Its Applications to Software Engineering, Journal of Software: Practice and Experiences, Cilt. 30, 1203-1233. DOI: 10.1002/1097-024X(200009)30:11<1203::AID-SPE338>3.0.CO;2-N.
- Gansner, E. R., Koutsofios, E., North, S. C., Vo, K.-P. 1993. A technique for drawing directed graphs, IEEE Transactions on Software Engineering, Cilt. 19, No. 3, 214-230. DOI: 10.1109/32.221135.
- Mernik, M., Heering, J., Sloane, A. M. 2005. When and how to develop domain-specific languages, ACM Computing Surveys, Cilt. 37, No. 4, 316–344. DOI: 10.1145/1118890.1118892.
- Jetbrains Meta Programming System, https://www.jetbrains.com/mps/ (Erişim Tarihi: 30.01.2023).
- Merks, E., Paternostro, M., Budinsky, F., Steinberg, D. 2009. EMF: Eclipse Modeling Framework. 2nd edition, 722s.
- Efftinge, S., Völter, M. 2006. oAW xText: a framework for textual DSLs. Workshop on Modeling Symposium at Eclipse Summit, Cilt. 32, 22 Eylül, Flensburg, Germany.
- Belli, F., Budnik, C. J. 2004. Minimal Spanning Set for Coverage Testing of Interactive Systems. Theoretical Aspects of Computing, 20-24 Ekim, Guiyang, China, 220–234. DOI: 10.1007/978-3-540-31862-0_17.
- Fischer, G., Giaccardi, E., Ye, Y., Sutcliffe , A., Mehandjiev, N. 2004. Meta-Design: A manifesto for End-User Development, Communications of the ACM, Cilt. 47, s. 33–37. DOI: 10.1145/1015864.1015884.
- Compatangelo, E., Meisel, H. 2002. Conceptual Analysis of EER Schemas and Ontologies. https://www.semanticscholar.org/paper/Conceptual-Analysis-of-EER-Schemas-and-Ontologies-Compatangelo-Meisel/47d57c45ab8b52643f7a250bd3db8fd3e58a25f6 (Erişim Tarihi: 30.01.2023).
- ESG Engine, 2021. https://github.com/esg4aspl/esg-engine (Erişim Tarihi: 30.01.2023).
- Gutiérrez, J. J., Ramos, I., Mejías, M., Arévalo, C., Sánchez-Begines, J. M., Lizcano , D. 2017. Modelling gherkin scenarios using uml. 26th Information Systems Development: Advances in Methods, Tools and Management, 6-8 Ekim, Larnaca, Kıbrıs. https://idus.us.es/handle/11441/127202 (Erişim Tarihi: 30.01.2023).
- ESG DSL case study outputs, 2022. https://github.com/esg4aspl/esg-dsl/tree/master/case_study_output (Erişim Tarihi: 01.05.2023).
- Kahraman, G., Bilgen, S. 2015. A framework for qualitative assessment of domain-specific languages, Software and Systems Modeling (SoSyM), Cilt. 14, No. 4, 1505–1526. DOI: 10.1007/s10270-013-0387-8.
Olay Sıra Çizgeleri için Alana Özgü Bir Dil
Yıl 2024,
, 49 - 58, 23.01.2024
Mert Kalecik
,
Tuğkan Tuğlular
,
Fevzi Belli
Öz
Yazılımın kalitesi, güvenilir ve hatasız yazılım çözümleri sunabilmek için ulaşılması gereken temel parametrelerden biridir. Sıklıkla model tabanlı testlerle kendini gösteren sistematik test yaklaşımı, yazılım kalitesini artırmak için kullanılan bir yöntemdir. Model tabanlı test yaklaşımına örnek olarak Olay Sıra Çizgeleri (OSÇ) verilebilir. Alana özel dil (AÖD), sınırlı bir alanda geliştirim sürecinde önemli avantajlar sağlayan bildirimsel bir dildir. Bu araştırma karar tablosuyla güçlendirilmiş hiyerarşik OSÇ tasarlama ve görselleştirme için OSÇ-AÖD adı verilen alana özgü bir dil geliştirmeye odaklanmaktadır. Değerlendirme amacıyla bir odak grubu ile çalışılmış ve belli senaryolar için hem Test Suite Designer (TSD) aracı ile hem de OSÇ-AÖD ile OSÇ’ler oluşturulmuştur. Odak grubuna uygulanan anket yoluyla elde edilen karşılaştırma sonuçları, OSÇ-AÖD yaklaşımının TSD yaklaşımına göre kolay kullanım ve tekrar kullanılabilirlik gibi bazı iyileştirmeler içerdiğini göstermektedir.
Kaynakça
- Eeles, P., Sam, H. B., Mistrík, I., Roshandel, R., Stal, M. 2014. Relating System Quality and Software Architecture: Foundations and Approaches. Morgan Kaufmann, Boston, 1-20. DOI: 10.1016/B978-0-12-417009-4.00001-6.
- Belli, F. 2001. Finite state testing and analysis of graphical user interfaces. 12th International Symposium on Software Reliability Engineering, 27-30 Kasım, Hong Kong DOI: 10.1109/ISSRE.2001.989456.
- Chow, T. S. 1978. Testing Software Design Modeled by Finite-State Machines, IEEE Transactions on Software Engineering, Cilt. 4, 178-187. DOI: 10.1109/TSE.1978.231496.
- Belli, F., Linschulte, M., Tuğlular, T. 2016. Karar tablosu destekli olay sıra çizgeleri temelli sınama durum üretim aracı. 10. Ulusal Yazılım Mühendisliği Sempozyumu, 24-26 Ekim, Çanakkale. s. 408-413. DOI: S0218194016500091
- Budnik, C. J., Belli, F., Hollmann, A. 2009. Structural feature extraction for GUI test enhancement. International Conference on Software Testing, Verification, and Validation Workshops, 1-4 Nisan, Denver, CO, ABD, s. 255-262, DOI: 10.1109/ICSTW.2009.19
- Ellson, J., Gansner, E. R., Koutsofios, E., North, S. C., Woodhull, G. 2003. Graphviz and dynagraph – static and dynamic graph drawing tools. Graph Drawing Software, Mathematics and Visualization, Springer, Berlin, Heidelberg, 378 s. DOI: 10.1007/978-3-642-18638-7_6
- Öztürk, D. 2020. A Model-Based Test Generation Approach for Agile Software Product Lines. İzmir Yüksek Teknoloji Enstitüsü, Mühendislik ve Fen Bilimleri Enstitüsü, Yüksek Lisans Tezi, 108s, İzmir. https://gcris.iyte.edu.tr/handle/11147/10970 (Erişim Tarihi: 30.01.2023).
- Uddin, A., Anand, A. 2019. Importance of Software Testing in the Process of Software Development, International Journal for Scientfic Research and Development, Cilt.6, 141-145.
- Bentley, J. 1986. Programming pearls: Little languages, Communications of the ACM, Cilt. 29, No. 8, s. 711-721. DOI: 10.1145/6424.315691.
- Deursen, A., Klint, P., Visser, J. 2000. Domain-Specific Languages: An Annotated Bibliography, ACM Sigplan Notices, Cilt. 35, No. 6, 26–36. DOI: 10.1145/352029.352035
- Xtext, 2006. https://www.eclipse.org/Xtext/, (Erişim Tarihi: 30.01.2023).
- SciSpike/yaktor, scispike, 2021. https://github.com/SciSpike/yaktor (Erişim Tarihi: 30.01.2023).
- SciSpike/yaktor-dsl-xtext, scispike, 2017. https://github.com/SciSpike/yaktor-dsl-xtext (Erişim Tarihi: 30.01.2023).
- GitHub, Franca, 2018. https://github.com/franca/franca, (Erişim Tarihi: 30.01.2023).
- Expression Language, 2021. https://github.com/intuit/common-xtext-expression-language. (Erişim Tarihi: 30.01.2023).
- Bagga, J. S., Heinz, A. 2002. JGraph - A Java Based System for Drawing Graphs and Running Graph Algorithms, Lecture Notes in Computer Science, Cilt. 2265. Springer, Berlin, Heidelberg. DOI: 10.1007/3-540-45848-4_45
- JUNG Framework Tech Report, 2016. http://www.datalab.uci.edu/papers/JUNG_tech_report.html#related. (Erişim Tarihi: 30.01.2023).
- PlantUML, 2009. https://plantuml.com/ (Erişim Tarihi: 30.01.2023).
- Graphviz, 1991. https://graphviz.org/ (Erişim Tarihi: 30.01.2023).
- Gansner, E., North, S. 1997. An Open Graph Visualization System and Its Applications to Software Engineering, Journal of Software: Practice and Experiences, Cilt. 30, 1203-1233. DOI: 10.1002/1097-024X(200009)30:11<1203::AID-SPE338>3.0.CO;2-N.
- Gansner, E. R., Koutsofios, E., North, S. C., Vo, K.-P. 1993. A technique for drawing directed graphs, IEEE Transactions on Software Engineering, Cilt. 19, No. 3, 214-230. DOI: 10.1109/32.221135.
- Mernik, M., Heering, J., Sloane, A. M. 2005. When and how to develop domain-specific languages, ACM Computing Surveys, Cilt. 37, No. 4, 316–344. DOI: 10.1145/1118890.1118892.
- Jetbrains Meta Programming System, https://www.jetbrains.com/mps/ (Erişim Tarihi: 30.01.2023).
- Merks, E., Paternostro, M., Budinsky, F., Steinberg, D. 2009. EMF: Eclipse Modeling Framework. 2nd edition, 722s.
- Efftinge, S., Völter, M. 2006. oAW xText: a framework for textual DSLs. Workshop on Modeling Symposium at Eclipse Summit, Cilt. 32, 22 Eylül, Flensburg, Germany.
- Belli, F., Budnik, C. J. 2004. Minimal Spanning Set for Coverage Testing of Interactive Systems. Theoretical Aspects of Computing, 20-24 Ekim, Guiyang, China, 220–234. DOI: 10.1007/978-3-540-31862-0_17.
- Fischer, G., Giaccardi, E., Ye, Y., Sutcliffe , A., Mehandjiev, N. 2004. Meta-Design: A manifesto for End-User Development, Communications of the ACM, Cilt. 47, s. 33–37. DOI: 10.1145/1015864.1015884.
- Compatangelo, E., Meisel, H. 2002. Conceptual Analysis of EER Schemas and Ontologies. https://www.semanticscholar.org/paper/Conceptual-Analysis-of-EER-Schemas-and-Ontologies-Compatangelo-Meisel/47d57c45ab8b52643f7a250bd3db8fd3e58a25f6 (Erişim Tarihi: 30.01.2023).
- ESG Engine, 2021. https://github.com/esg4aspl/esg-engine (Erişim Tarihi: 30.01.2023).
- Gutiérrez, J. J., Ramos, I., Mejías, M., Arévalo, C., Sánchez-Begines, J. M., Lizcano , D. 2017. Modelling gherkin scenarios using uml. 26th Information Systems Development: Advances in Methods, Tools and Management, 6-8 Ekim, Larnaca, Kıbrıs. https://idus.us.es/handle/11441/127202 (Erişim Tarihi: 30.01.2023).
- ESG DSL case study outputs, 2022. https://github.com/esg4aspl/esg-dsl/tree/master/case_study_output (Erişim Tarihi: 01.05.2023).
- Kahraman, G., Bilgen, S. 2015. A framework for qualitative assessment of domain-specific languages, Software and Systems Modeling (SoSyM), Cilt. 14, No. 4, 1505–1526. DOI: 10.1007/s10270-013-0387-8.