Fourth Workshop on Software Quality Analysis, Monitoring, Improvement, and Applications
Total Page:16
File Type:pdf, Size:1020Kb
Zoran Budimac, Marjan Heričko (Eds.) Fourth Workshop on Software Quality Analysis, Monitoring, Improvement, and Applications SQAMIA 2015 Maribor, Slovenia, June 8th – 10th, 2015 Proceedings Institute of Informatics, Faculty of Electrical Engineering and Computer Science University of Maribor, Slovenia 2015 Fourth Workshop on Software Quality Analysis, Monitoring, Improvement, and Applications (SQAMIA 2015) Maribor, Slovenia, June 8th – 10th, 2015 The number of printed copies: 50 Volume Editors Zoran Budimac University of Novi Sad Faculty of Sciences, Department of Mathematics and Informatics Trg Dositeja Obradovića 4, 21000 Novi Sad, Serbia E-mail: [email protected] Marjan Heričko University of Maribor Faculty of Electrical Engineering and Computer Science, Institute of Informatics Smetanova ulica 17, 2000 Maribor, Slovenia E-mail: [email protected] Papers are copyrighted c 2015 by the authors. Copying permitted only for private and academic purposes. This volume is published and copyrighted by its editors. The contents of the published papers express the opinions of their respective authors, not the volume publisher. CIP - Kataložni zapis o publikaciji Univerzitetna knjižnica Maribor 659.2:004(082) WORKSHOP on Software Quality Analysis, Monitoring, Improve- ment, and Applications (4 ; 2015 ; Maribor) SQAMIA 2015 : proceedings / Fourth Workshop on Software Quality Analysis, Monitoring, Improvement, and Applications, Maribor, Slovenia, June 8th - 10th, 2015 ; Zoran Budimac, Marjan Heričko (eds.). - Maribor : Institute of Informatics , Faculty of Electrical Engineering and Computer Science, 2015 50 izv. ISBN 978-961-248-485-9 1. Budimac, Zoran COBISS.SI-ID 82672385 ii Preface This volume contains papers presented at the Fourth Workshop on Software Quality Anal- ysis, Monitoring, Improvement, and Applications (SQAMIA 2015). SQAMIA 2015 was held during June 8th – 10th, 2015, at the Institute of Informatics, Faculty of Electrical Engineering and Computer Science, University of Maribor, Maribor, Slovenia. SQAMIA 2015 continued the tradition of successful SQAMIA workshops previously held in Novi Sad, Serbia (in 2012 and 2013), and in Lovran, Croatia (in 2014). The first SQAMIA workshop was organized within the 5th Balkan Conference in Informatics (BCI 2012). In 2013, SQAMIA became a standalone event intended to be an annual gathering of researchers and practitioners in the field of software quality. The main objective of the SQAMIA series of workshops is to provide a forum for pre- sentation, discussion and dissemination of the latest scientific achievements in the area of software quality, and to promote and improve interaction and collaboration among scien- tists and young researchers from the region and beyond. The workshop especially welcomes position papers, papers describing work in progress, tool demonstration papers, technical reports, and papers designed to provoke debate on present knowledge, open questions and future research trends in software quality. The SQAMIA 2015 workshop consisted of regular sessions with technical contributions reviewed and selected by an international program committee, as well as of six invited talks presented by leading scientists in the research areas of the workshop. In total 10 papers were accepted and published in this proceedings volume. All published papers were double or triple reviewed. We would like to gratefully thank all PC members for submitting careful and timely opinions on the papers. Our special thanks are also addressed to the program co-chairs, Tihana Galinac Grbac (Croatia), Zoltán Horváth (Hungary), Mirjana Ivanović (Serbia) and Hannu Jaakkola (Fin- land), for helping to greatly improve the quality of the workshop. We extend special thanks to the SQAMIA 2015 Organizing Committee from the Institute of Informatics, Faculty of Electrical Engineering and Computer Science, University of Maribor, and the Department of Mathematics and Informatics, Faculty of Sciences, University of Novi Sad, especially to its chair Viktor Taneski for his hard work and dedication to make this workshop the best it can be. Finally, we thank our sponsors for supporting the organization of this event. We are especially thankful for financial support by the project co-founded by the European So- cial Fund and the Ministry of Education, Science and Sport of the Republic of Slovenia. The project will be implemented within the framework of the Operational Programme for Human Resources Development 2007-2013, 3rd priority axis: Development of human re- sources and lifelong learning, activity 3.3.: Quality, competitiveness and responsiveness of higher education. The workshop is also endorsed by the EU COST Action IC1202: Timing Analysis on Code-Level (TACLe). And last, but not least, we thank all the participants of SQAMIA 2015 for their contri- butions that made all the work that went into SQAMIA 2015 worthwhile. June 2015 Zoran Budimac Marjan Heričko iii Workshop Organization General Chair Marjan Heričko (Univ. of Maribor, Slovenia) Program Chair Zoran Budimac (Univ. of Novi Sad, Serbia) Program Co-Chairs Tihana Galinac Grbac (Univ. of Rijeka, Croatia) Marjan Heričko (Univ. of Maribor, Slovenia) Zoltán Horváth (Eötvös Loránd Univ., Budapest, Hungary) Mirjana Ivanović (Univ. of Novi Sad, Serbia) Hannu Jaakkola (Tampere Univ. of Technology, Pori, Finland) Program Committee Zoran Budimac (Univ. of Novi Sad, Serbia) Tihana Galinac Grbac (Univ. of Rijeka, Croatia) Marjan Heričko (Univ. of Maribor, Slovenia) Zoltán Horváth (Eötvös Loránd Univ., Budapest, Hungary) Mirjana Ivanović (Univ. of Novi Sad, Serbia) Hannu Jaakkola (Tampere Univ. of Technology, Pori, Finland) Harri Keto (Tampere Univ. of Technology, Pori, Finland) Vladimir Kurbalija (Univ. of Novi Sad, Serbia) Anastas Mishev (Univ. of Ss. Cyril and Methodius, Skopje, FYR Macedonia) Zoltán Porkoláb (Eötvös Loránd Univ., Budapest, Hungary) Valentino Vranić (Slovak Univ. of Technology, Bratislava, Slovakia) Organizing Committee Viktor Taneski, Chair (Univ. of Maribor, Slovenia) Saša Kuhar (Univ. of Maribor, Slovenia) Katja Kous (Univ. of Maribor, Slovenia) Gordana Rakić (Univ. of Novi Sad, Serbia) Miloš Savić (Univ. of Novi Sad, Serbia) Organizing Institution Institute of Informatics, Faculty of Electrical Engineering and Computer Science, University of Maribor, Slovenia Sponsoring Institutions of SQAMIA 2015 SQAMIA 2015 was partially financially supported by: Republic of Slovenia, Ministry of Education, Science and Sport European Social Fund iv Table of Contents ◦ Compile-time Unit Testing . 1 Áron Baráth, Zoltán Porkoláb ◦ Small Scale Analysis of Source Code Quality with regard to Native Android Mobile Applications . 9 Martin Gjoshevski, Tina Schweighofer ◦ Data Driven Ecosystem – Perspectives and Problems . 17 Hannu Jaakkola, Jaak Henno, Jari Soini ◦ Scientific Software Testing: A Practical Example . 27 Bojana Koteska, Ljupco Pejov, Anastas Mishev ◦ Rotation Forest in Software Defect Prediction . 35 Goran Mauša, Nikola Bogunović, Tihana Galinac Grbac, Bojana Dalbelo Bašić ◦ Benefits of Using Domain Model Code Generation Framework in Medical Information Systems . 45 Petar Rajkovic, Ivan Petkovic, Dragan Jankovic ◦ Towards the Formalization of Software Measurement by Involving Network Theory . 53 Gordana Rakić, Zoran Budimac, Miloš Savić, Mirjana Ivanović ◦ Validation of Static Program Analysis Tools by Self-Application: A Case Study . 61 Miloš Savić, Mirjana Ivanović ◦ Application Challenges of the I/W/SW-OT Paradigm . 69 Muhamed Turkanović, Marko Hölbl ◦ Influence of Cultural Issues on Data Quality Dimensions . 75 Tatjana Welzer, Marko Hölbl, Lili Nemec Zlatolas, Marjan Druzovec v 1 Compile-time Unit Testing ARON´ BARATH´ and ZOLTAN´ PORKOLAB,´ Eotv¨ os¨ Lorand´ University Unit testing is an essential part in high quality software development. The prerequisite of the system-wide test is that all components are working correctly. Such components are checked by unit tests which are focused on small part of code. Unit tests are isolated from other code fragments and are frequently programmed by using third party tools. In this paper we show how to minimalize the number of the required third party tools, and how to automate unit tests. We aimed to express unit tests as part of the source code, and execute them during the compilation to ensure the quality of the code. Two different approaches are presented in this paper: the first is based on the C++11's new mechanisms, such as constant expressions, and static assertions; the second is based on our experimental programming language, Welltype, which offers more flexible unit testing than C++11 { however, both technique are similar. The key in both approaches to get the compiler to execute additional, user defined calculations which can result errors during the compilation. In C++11 the static assertions are used to evaluate parts of the unit tests. Since constant expressions are restricted, in this paper we also present a method how to overcome those restrictions, and how to utilize static assertion with constant expressions. Finally, we describe how our experimental language offers compiler support to evaluate pure expressions at compile-time. Categories and Subject Descriptors: D.3.3 [Programming Languages] Language Constructs and Features; D.2.4 [Software Engineering] Software/Program Verification Additional Key Words and Phrases: Programming languages, C++, C++11, Compile-time, Unit testing 1. INTRODUCTION Modern software development have to take testing into account to ensure the reliability of the software