Slides for my invited talk in the 1st International Workshop on Advanced Topics on Software Engineering (ATSEN 2014), Istanbul Kultur University, on November 7, 2014
UML-Driven Software Performance Engineering: A systematic mapping and a review of several selected techniques
Motivation in Software Engineering: A Systematic Review Update
A. César C. França, Tatiana B. Gouveia, Pedro C. F. Santos, Celio A. Santana, Fabio Q. B. da Silva
Abstract-Background/Aim – Given the relevance and importance that the understanding of motivation has gained in the field of software engineering, this work was carried out in order to update the results of a literature review carried out in 2006 on motivation in software engineering. Method – Based on guidelines for this specific type of study, we replicated the original study protocol. Results – The combination of manual and automatic searches retrieved 6,534 papers, of which 53 relevant papers were selected for data extraction and analysis. Conclusions – Studies address motivation using several viewpoints and approaches and, even though the number of researches increased in this area, the overall understanding of what actually motivates software engineers does not seem to have significantly advanced in the last five years.
Paper presented at Evaluation and Assessment in Software Engineering, Durham, 2011.
http://www.haseresearch.com
Very preliminar intro to MDE for software developer communities and other kind of software practitioners. Contains material from several recognized sources.
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...Hironori Washizaki
Hironori Washizaki, "Rubric-based Assessment of Programming Thinking Skills and Comparative Evaluation of Introductory Programming Environments," 4th International Annual Meeting on STEM Education (IAMSTEM 2021), Keynote, August 12-14, 2021, Keelung, Taiwan and Online
Implementing Web Applications as Social Machines Composition: a Case StudyKellyton Brito
With the evolution of the web and the concepts of web 3.0 as known as programmable web, several issues need to be studied in order to develop, deploy and use this new kind of application in a more effective way, such as communication between systems, unstructured data and non-scalable protocols, among others issues. In this regard, a new concept – named Social Machines – emerged to describe web based information systems that interact for a common purpose. In order to apply and validate in practice this new model, in this paper we describe a case study which implements a web application that is a composition of several public and well-known services from different application domains, such as Wikipedia, Flickr, Twitter, Google Places and Google Maps, following the Social Machines’ model. In the end, we present the results and some improvement suggestions for the model.
Motivation in Software Engineering: A Systematic Review Update
A. César C. França, Tatiana B. Gouveia, Pedro C. F. Santos, Celio A. Santana, Fabio Q. B. da Silva
Abstract-Background/Aim – Given the relevance and importance that the understanding of motivation has gained in the field of software engineering, this work was carried out in order to update the results of a literature review carried out in 2006 on motivation in software engineering. Method – Based on guidelines for this specific type of study, we replicated the original study protocol. Results – The combination of manual and automatic searches retrieved 6,534 papers, of which 53 relevant papers were selected for data extraction and analysis. Conclusions – Studies address motivation using several viewpoints and approaches and, even though the number of researches increased in this area, the overall understanding of what actually motivates software engineers does not seem to have significantly advanced in the last five years.
Paper presented at Evaluation and Assessment in Software Engineering, Durham, 2011.
http://www.haseresearch.com
Very preliminar intro to MDE for software developer communities and other kind of software practitioners. Contains material from several recognized sources.
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...Hironori Washizaki
Hironori Washizaki, "Rubric-based Assessment of Programming Thinking Skills and Comparative Evaluation of Introductory Programming Environments," 4th International Annual Meeting on STEM Education (IAMSTEM 2021), Keynote, August 12-14, 2021, Keelung, Taiwan and Online
Implementing Web Applications as Social Machines Composition: a Case StudyKellyton Brito
With the evolution of the web and the concepts of web 3.0 as known as programmable web, several issues need to be studied in order to develop, deploy and use this new kind of application in a more effective way, such as communication between systems, unstructured data and non-scalable protocols, among others issues. In this regard, a new concept – named Social Machines – emerged to describe web based information systems that interact for a common purpose. In order to apply and validate in practice this new model, in this paper we describe a case study which implements a web application that is a composition of several public and well-known services from different application domains, such as Wikipedia, Flickr, Twitter, Google Places and Google Maps, following the Social Machines’ model. In the end, we present the results and some improvement suggestions for the model.
Towards UML Testing Profile 2 OMG UTP Working Group 2nd UCAAT, 18th Septembe...Alessandra Bagnato
UTP (2) in a nutshell, First standardized language to support model-based testing released in 2005 (UTP 1)
Provides means for test design, execution and evaluation activities – and management thereof
Address needs for advanced testing approaches required/suitable for achieving a high degree of test automation
Methodology- and technology agnostic
Towards the revised and final submission
Initial submission was accepted in June 2014 by OMG Analysis & Design Task Force
Current work is the revision of the initial submission
Development of a conformance test specification for UTP 2 tools with UTP 2
Formal specification for mapping between UTP 1 to UTP 2 (QVT)
The entire submission was specified and documents have been generated with the modeling environment KnowEnterprise®
With every passing day, organizations are becoming more and more mindful about the performance of their Software Products. However, most of them still on look-out for the basics of Performance Engineering.
According to a recent study by Gartner, fixing performance defects near the end of the development cycle costs 50 to 100 times more than the cost required for fixing it during the early phase of development. Hence, if a product suffers from serious performance issues it can be completely scrapped.
Performance Engineering ensures that your application is performing as per expectations and the software is tested and tuned to meet specified or even the unstated performance requirements.
We present you with a webcast on Performance Engineering Basics that would walk you through the elements and process of performance engineering, and also offers a methodical process for the same.
It also offers details on a load testing tool, and describes how best to utilize it.
Visit http: http://www.impetus.com/featured_webcast?eventid=10 to listen to the entire webcast (20 minutes).
OR
To post any queries on Performance Engineering, write to us at isales@impetus.com
For case studies and articles on performance engineering please visit: http://www.impetus.com/plabs/casestudies?case_study=&pLabsClustering.pdf=
‘Evidence-based forestry’: Constructing bridges that connect science, policy...CIFOR-ICRAF
This presentation by Gillian Petrokofsky from the University of Oxford shows what one should consider when talking about evidence-based forestry, what the bigger picture is and why a collaboration between EBF and landscape management might be the solution to many problems.
Experience in conducting 19 secondary (survey) studies in Software EngineeringVahid Garousi
Experience in conducting 19 secondary (survey) studies in Software Engineering
By: Dr. Vahid Garousi
Invited (online) talk for the University of Adelaide, Australia
May 8, 2020
Distributed Software Development Process, Initiatives and Key Factors: A Syst...zillesubhan
Geographically Distributed Software Development (GSD) process differs from Collocated Software Development (CSD) process in various technical aspects. It is empirically proven that renowned process improvement initiatives applicable to CSD are not very effective for GSD. The objective of this research is to review the existing literature (both academia and industrial) to identify initiatives and key factors which play key role in the improvement and maturity of a GSD process, to achieve this goal we planned a Systematic Literature Review (SLR) following a standard protocol. Three highly respected sources are selected to search for the relevant literature which resulted in a large number of TOIs (Title of Interest). An inter-author custom protocol is outlined and followed to shortlist most relevant articles for review. The data is extracted from this set of finally selected articles. We have performed both qualitative and quantitative analysis of the extracted data to obtain the results. The concluded results identify several initiatives and key factors involved in GSD and answer each research question posed by the SLR.
Software Engineering Patterns for Machine Learning ApplicationsHironori Washizaki
Hironori Washizaki, Software Engineering Patterns for Machine Learning Applications, 2021 IEEE International Conference on Electronic Technology, Communication and Information (ICETCI 2021), Keynote, August 28, Online, 2021.
LEAN THINKING IN SOFTWARE ENGINEERING: A SYSTEMATIC REVIEWijseajournal
The field of Software Engineering has suffered considerable transformation in the last decades due to the influence of the philosophy of Lean Thinking. The purpose of this systematic review is to identify practices and approaches proposed by researchers in this area in the last 5 years, who have worked under the influence of this thinking. The search strategy brought together 549 studies, 80 of which were classified as
relevant for synthesis in this review. Seventeen tools of Lean Thinking adapted to Software Engineering were catalogued, as well as 35 practices created for the development of software that has been influenced by this philosophy. The study rovides a roadmap of results with the current state of the art and the identification of gaps pointing to opportunities for further esearch.
A Survey on Design Pattern Detection ApproachesCSCJournals
Design patterns play a key role in software development process. The interest in extracting design pattern instances from object-oriented software has increased tremendously in the last two decades. Design patterns enhance program understanding, help to document the systems and capture design trade-offs.
This paper provides the current state of the art in design patterns detection. The selected approaches cover the whole spectrum of the research in design patterns detection. We noticed diverse accuracy values extracted by different detection approaches. The lessons learned are listed at the end of this paper, which can be used for future research directions and guidelines in the area of design patterns detection.
WMJ&GMBwosc08-Effective Learning & Production Via ModellingGary Boyd
How to analyse a project venture and How to use a better universal modelling notation technology (j-Maps, CONTEXT+(tm) )for software and system development, troubleshooting and translation to other computer and or natural languages
Systematic Literature Reviews and Systematic Mapping Studiesalessio_ferrari
Lecture slides on Systematic Literature Reviews and Systematic Mapping Studies in software engineering. It describes the different steps, discusses differences between the two methods, and gives guidelines on how to conduct these types of study.
In English: Latest Trends in Software Engineering (Yazılım Mühendisliğinde S...Vahid Garousi
Latest Trends in Software Engineering
Yazılım Mühendisliğinde Son Trendler
Technology Seminars
Doç. Dr. Vahid Garousi
Department of Computer Engineering
Hacettepe University
Beytepe, Ankara
Turkey
Towards UML Testing Profile 2 OMG UTP Working Group 2nd UCAAT, 18th Septembe...Alessandra Bagnato
UTP (2) in a nutshell, First standardized language to support model-based testing released in 2005 (UTP 1)
Provides means for test design, execution and evaluation activities – and management thereof
Address needs for advanced testing approaches required/suitable for achieving a high degree of test automation
Methodology- and technology agnostic
Towards the revised and final submission
Initial submission was accepted in June 2014 by OMG Analysis & Design Task Force
Current work is the revision of the initial submission
Development of a conformance test specification for UTP 2 tools with UTP 2
Formal specification for mapping between UTP 1 to UTP 2 (QVT)
The entire submission was specified and documents have been generated with the modeling environment KnowEnterprise®
With every passing day, organizations are becoming more and more mindful about the performance of their Software Products. However, most of them still on look-out for the basics of Performance Engineering.
According to a recent study by Gartner, fixing performance defects near the end of the development cycle costs 50 to 100 times more than the cost required for fixing it during the early phase of development. Hence, if a product suffers from serious performance issues it can be completely scrapped.
Performance Engineering ensures that your application is performing as per expectations and the software is tested and tuned to meet specified or even the unstated performance requirements.
We present you with a webcast on Performance Engineering Basics that would walk you through the elements and process of performance engineering, and also offers a methodical process for the same.
It also offers details on a load testing tool, and describes how best to utilize it.
Visit http: http://www.impetus.com/featured_webcast?eventid=10 to listen to the entire webcast (20 minutes).
OR
To post any queries on Performance Engineering, write to us at isales@impetus.com
For case studies and articles on performance engineering please visit: http://www.impetus.com/plabs/casestudies?case_study=&pLabsClustering.pdf=
‘Evidence-based forestry’: Constructing bridges that connect science, policy...CIFOR-ICRAF
This presentation by Gillian Petrokofsky from the University of Oxford shows what one should consider when talking about evidence-based forestry, what the bigger picture is and why a collaboration between EBF and landscape management might be the solution to many problems.
Experience in conducting 19 secondary (survey) studies in Software EngineeringVahid Garousi
Experience in conducting 19 secondary (survey) studies in Software Engineering
By: Dr. Vahid Garousi
Invited (online) talk for the University of Adelaide, Australia
May 8, 2020
Distributed Software Development Process, Initiatives and Key Factors: A Syst...zillesubhan
Geographically Distributed Software Development (GSD) process differs from Collocated Software Development (CSD) process in various technical aspects. It is empirically proven that renowned process improvement initiatives applicable to CSD are not very effective for GSD. The objective of this research is to review the existing literature (both academia and industrial) to identify initiatives and key factors which play key role in the improvement and maturity of a GSD process, to achieve this goal we planned a Systematic Literature Review (SLR) following a standard protocol. Three highly respected sources are selected to search for the relevant literature which resulted in a large number of TOIs (Title of Interest). An inter-author custom protocol is outlined and followed to shortlist most relevant articles for review. The data is extracted from this set of finally selected articles. We have performed both qualitative and quantitative analysis of the extracted data to obtain the results. The concluded results identify several initiatives and key factors involved in GSD and answer each research question posed by the SLR.
Software Engineering Patterns for Machine Learning ApplicationsHironori Washizaki
Hironori Washizaki, Software Engineering Patterns for Machine Learning Applications, 2021 IEEE International Conference on Electronic Technology, Communication and Information (ICETCI 2021), Keynote, August 28, Online, 2021.
LEAN THINKING IN SOFTWARE ENGINEERING: A SYSTEMATIC REVIEWijseajournal
The field of Software Engineering has suffered considerable transformation in the last decades due to the influence of the philosophy of Lean Thinking. The purpose of this systematic review is to identify practices and approaches proposed by researchers in this area in the last 5 years, who have worked under the influence of this thinking. The search strategy brought together 549 studies, 80 of which were classified as
relevant for synthesis in this review. Seventeen tools of Lean Thinking adapted to Software Engineering were catalogued, as well as 35 practices created for the development of software that has been influenced by this philosophy. The study rovides a roadmap of results with the current state of the art and the identification of gaps pointing to opportunities for further esearch.
A Survey on Design Pattern Detection ApproachesCSCJournals
Design patterns play a key role in software development process. The interest in extracting design pattern instances from object-oriented software has increased tremendously in the last two decades. Design patterns enhance program understanding, help to document the systems and capture design trade-offs.
This paper provides the current state of the art in design patterns detection. The selected approaches cover the whole spectrum of the research in design patterns detection. We noticed diverse accuracy values extracted by different detection approaches. The lessons learned are listed at the end of this paper, which can be used for future research directions and guidelines in the area of design patterns detection.
WMJ&GMBwosc08-Effective Learning & Production Via ModellingGary Boyd
How to analyse a project venture and How to use a better universal modelling notation technology (j-Maps, CONTEXT+(tm) )for software and system development, troubleshooting and translation to other computer and or natural languages
Systematic Literature Reviews and Systematic Mapping Studiesalessio_ferrari
Lecture slides on Systematic Literature Reviews and Systematic Mapping Studies in software engineering. It describes the different steps, discusses differences between the two methods, and gives guidelines on how to conduct these types of study.
In English: Latest Trends in Software Engineering (Yazılım Mühendisliğinde S...Vahid Garousi
Latest Trends in Software Engineering
Yazılım Mühendisliğinde Son Trendler
Technology Seminars
Doç. Dr. Vahid Garousi
Department of Computer Engineering
Hacettepe University
Beytepe, Ankara
Turkey
Challenges and Solutions in Distributed Software Development Project Management: a Systematic Literature Review
Fabio Q. B. da Silva, Catarina Costa, A. César C. França, Rafael Prikladinicki
Abstract-This paper presents a systematic literature review of the challenges, best practices, models, and tools in Distributed Software Development (DSD) Project Management. The objective is to collect and systematize reported knowledge in terms of what are the difficulties in managing DSD projects, what are the best practices to overcome these difficulties, and how existing models and tools support these practices. We found 54 works related to DSD project management, published between 1998 and 2009. Using the data systematically extracted from these works, we propose an evidence-based DSD project management improvement model. Our contention is that this model can support practitioners and researchers to better understand the landscape of DSD project challenges and devise more effective solutions to improve project management in a distributed setting.
Paper presented at Evaluation and Assessment in Software Engineering, Staffordshire, UK, 2010.
http://www.haseresearch.com
Pragmatic look at education and training of software test engineers: Further ...Vahid Garousi
Presented in: The Third International Software Testing Education Workshop (TestEd 2024), co-located with the 17th IEEE International Conference on Software Testing, Verification and Validation (ICST 2024),
May 28, 2024
Toronto, Canada
Coverage measurement in model-based testing of web applications: Tool suppor...Vahid Garousi
Presented in: The 20th Workshop on Advances in Model-Based Testing (A-MOST 2024), co-located with the 17th IEEE International Conference on Software Testing, Verification and Validation (ICST 2024),
May 27, 2024
Toronto, Canada
Experience and best practices from automated software testing in the finance ...Vahid Garousi
Invited talk for the NatWest Bank Group (National Westminster Bank)
October 20, 2021
By:
Vahid Garousi
Bahar Software Engineering Consulting Corporation
Queen’s University Belfast, UK
www.vgarousi.com
@vgarousi
Model-based Testing (MBT) of web and mobile applications: A practical tutorialVahid Garousi
A tutorial presented in the User Conference on Advanced Automated Testing (UCAAT)
October 19-21, 2021
By:
Vahid Garousi
Bahar Software Engineering Consulting Corporation
Queen’s University Belfast, UK
www.vgarousi.com
@vgarousi
Alper Buğra Keleş, Yunus Balaman, Zeynep Özdemir Güler
Testinium A.Ş., Istanbul, Turkey
Application of TMMi to improve test approaches and processes: Experience from...Vahid Garousi
By: Vahid Garousi
Bahar Software Engineering Consulting Corporation, UK
Queen’s University Belfast, UK
www.vgarousi.com
v.garousi@qub.ac.uk
Alper Buğra Keleş
Testinium A.Ş., Istanbul, Turkey
alper.keles@testinium.com
www.testinium.com
An invited talk for:
TMMi Hungarian Local Chapter
May 26, 2021
Talk by Dr. Vahid Garousi, in the Turkey-UK Research Partnerships Event (Feb ...Vahid Garousi
Talk by Dr. Vahid Garousi, in the Turkey-UK Research Partnerships Event (Feb 18, 2021)
https://www.vgarousi.com
https://uktechweekturkey.kongrelive.com/
Education and Training of Highly-skills Software Test EngineersVahid Garousi
Education and Training of Highly-skills Software Test Engineers (insights from 20+ years of experience)
By:
Vahid Garousi, PhD, PEng
Queen’s University Belfast, UK
Bahar Software Engineering Consulting Corporation, UK
www.vgarousi.com
Event:
BCS Software Testing specialist group (SIGIST)
https://www.bcs.org/events/2020/november/webinar-testing-apprentice/
Date:
November 3, 2020
Benefitting from the Grey Literature in Software Engineering ResearchVahid Garousi
A short presentation about our book chapter in the book: "Contemporary Empirical Methods in Software Engineering"
Video: https://youtu.be/T75KyQqXhgA
Book chapter DOI and PDF: www.doi.org/10.1007/978-3-030-32489-6_14
Free PDF: https://arxiv.org/abs/1911.12038
Vahid Garousi, Austen Rainer
Queen’s University Belfast
Belfast, Northern Ireland, UK
https://www.vgarousi.com/home
https://twitter.com/vgarousi
https://twitter.com/unfinitude
Michael Felderer
University of Innsbruck, Innsbruck, Austria & Blekinge Institute of Technology, Sweden
https://twitter.com/mfelderer
Mika V. Mäntylä
University of Oulu, Oulu, Finland
https://twitter.com/mmantyla
Slides for for JSS "Happy Hour": Aligning software engineering education with...Vahid Garousi
Short video for JSS "Happy Hour"
To take place on: May 29, 2020
Paper:
Aligning software engineering education with industrial needs: A meta-analysis
Full paper details:
Vahid Garousi, Görkem Giray, Eray Tüzün, Cagatay Catal, Michael Felderer, "Aligning software engineering education with industrial needs: a meta-analysis", Journal of Systems and Software, vol. 156, pp. 65-83, October 2019
Full-text paper link: https://www.doi.org/10.1016/j.jss.2019.06.044
Narrated video: https://youtu.be/DxLQFYouDAQ
Sustainability of Scientific Software: Experience from Several ProjectsVahid Garousi
Presentation by: Dr. Vahid Garousi, Dr. David Cutting
The Software Sustainability Institute’s Collaborations Workshop 2020 (CW20)
https://www.software.ac.uk/cw20
April 1, 2020
Can we do it better? Improving the maturity of software testing in test teamsVahid Garousi
An invited talk, given in the "tesena-fest" software testing summit, Prague, Czech Republic, Oct. 5, 2018
https://www.tesena.com/can-we-do-it-better-improving-the-maturity-of-software-testing-in-test-teams-en/
Engineering software systems for improving the operational efficiency of oil ...Vahid Garousi
Corresponding to the following paper:
Vahid Garousi, Ehsan Abbasi, Roshanak Farhoodi, Richard Bauer, Allan Shea, “Engineering software systems for improving the operational efficiency of oil pipeline networks and decreasing their carbon footprint”, A video presentation for the Second International Workshop on Software Research and Climate Change, Cape Town, South Africa, May 3, 2010, part of the ICSE 2010
Introducing automated GUI testing and observing its benefits: an industrial c...Vahid Garousi
Presented in: https://www.testomatproject.eu/nexta2018/
Vahid Garousi, Erdem Yıldırım, "Introducing automated GUI testing and observing its benefits: an industrial case study in the context of law-practice management software", Proceedings of IEEE Workshop on NEXt level of Test Automation (NEXTA), co-located with the IEEE International Conference on Software Testing, Verification and Validation (ICST), 2018
Online aptitude test management system project report.pdfKamal Acharya
The purpose of on-line aptitude test system is to take online test in an efficient manner and no time wasting for checking the paper. The main objective of on-line aptitude test system is to efficiently evaluate the candidate thoroughly through a fully automated system that not only saves lot of time but also gives fast results. For students they give papers according to their convenience and time and there is no need of using extra thing like paper, pen etc. This can be used in educational institutions as well as in corporate world. Can be used anywhere any time as it is a web based application (user Location doesn’t matter). No restriction that examiner has to be present when the candidate takes the test.
Every time when lecturers/professors need to conduct examinations they have to sit down think about the questions and then create a whole new set of questions for each and every exam. In some cases the professor may want to give an open book online exam that is the student can take the exam any time anywhere, but the student might have to answer the questions in a limited time period. The professor may want to change the sequence of questions for every student. The problem that a student has is whenever a date for the exam is declared the student has to take it and there is no way he can take it at some other time. This project will create an interface for the examiner to create and store questions in a repository. It will also create an interface for the student to take examinations at his convenience and the questions and/or exams may be timed. Thereby creating an application which can be used by examiners and examinee’s simultaneously.
Examination System is very useful for Teachers/Professors. As in the teaching profession, you are responsible for writing question papers. In the conventional method, you write the question paper on paper, keep question papers separate from answers and all this information you have to keep in a locker to avoid unauthorized access. Using the Examination System you can create a question paper and everything will be written to a single exam file in encrypted format. You can set the General and Administrator password to avoid unauthorized access to your question paper. Every time you start the examination, the program shuffles all the questions and selects them randomly from the database, which reduces the chances of memorizing the questions.
HEAP SORT ILLUSTRATED WITH HEAPIFY, BUILD HEAP FOR DYNAMIC ARRAYS.
Heap sort is a comparison-based sorting technique based on Binary Heap data structure. It is similar to the selection sort where we first find the minimum element and place the minimum element at the beginning. Repeat the same process for the remaining elements.
ACEP Magazine edition 4th launched on 05.06.2024Rahul
This document provides information about the third edition of the magazine "Sthapatya" published by the Association of Civil Engineers (Practicing) Aurangabad. It includes messages from current and past presidents of ACEP, memories and photos from past ACEP events, information on life time achievement awards given by ACEP, and a technical article on concrete maintenance, repairs and strengthening. The document highlights activities of ACEP and provides a technical educational article for members.
Technical Drawings introduction to drawing of prisms
UML-Driven Software Performance Engineering: A systematic mapping and a review of several selected techniques
1. 1Vahid Garousi
UML-Driven Software Performance Engineering:
A systematic mapping and
a review of several selected techniques
Doç. Dr. Vahid Garousi
Associate Professor of Software Engineering
Senior Software Consultant
Yazılım Danışmanı
Maral Yazılım Mühendisliği Hizmetleri
Ankara
Sistem ve Yazılım Kalite Mühendisliği
Araştırma Grubu (SySoQual)
Yazılım Mühendisliği Bölümü
Atılım Üniversitesi
www.atilim.edu.tr/~vahid.garousi
vahid.garousi@atilim.edu.tr
1st International Workshop on Advanced
Topics on Software Engineering
ATSEN 2014
İKÜ
7 November 2014
2. 2Vahid Garousi
Outline
Background of the speaker and his research expertise
A systematic mapping of UML-Driven Software
Performance Engineering (UML-SPE)
Review of one UML-SPE technique
3. 3Vahid Garousi
Background of the speaker and his research background
Education:
Professional Engineer designation (P.Eng.), Province of Alberta, Canada, 2008
PhD (Carleton University, Canada), 2006
MSc (University of Waterloo, Canada), 2003
BSc (Sharif University of Technology, Iran), 2000
Work Experience:
Atilim University, Ankara, Türkiye, since Jan. 2014
Middle East Technical University, Ankara, Türkiye, Jan.-Dec. 2013
Visiting Associate Professor, Graduate School of Informatics
University of Calgary, Canada
– Associate Professor of Software Engineering, April 2010-now (tenured)
– Assistant Professor of Software Engineering, 2006-2011
Research Expertise:
Software Engineering
Software Testing and Quality Assurance (QA)
Software Requirements and Software Maintenance
“Action research”, i.e., industry-academia collaborations
Personal:
Canadian citizen, of Azerbaijani origin
4. 4Vahid Garousi
Software Quality Engineering Research
Group (SoftQual), 2006-2014
• www.softqual.ucalgary.ca
• Alumni
1 Post-doctoral fellow
3 PhD students
9 MSc
30+ undergraduate students
• Almost all our projects were applied R&D
projects in collaboration with the industry.
More than 10 industrial partners such as
IBM
• More than $1.5 Million CND in funding in 7
years
• Output: More than 29 journal papers and
35+ conference papers
6. 6Vahid Garousi
System and Software Quality Engineering
Research Group (SySoQual), since 2014
• se.atilim.edu.tr/sysoqual
• Students:
3 MSc students
10+ undergraduate students
• Almost all our projects were applied R&D projects in collaboration
with the industry.
• Has provided several consulting R&D projects
• Already involved in one ITEA2 and several TUBITAK grants
• In process of applying for more H2020, ITEA3 and TUBITAK grants
• Some of industry partners:
7. 7Vahid Garousi
Outline
Background of the speaker and his research expertise
A systematic mapping of UML-Driven Software
Performance Engineering (UML-SPE)
Review of one UML-SPE technique
9. 9Vahid Garousi
A systematic mapping on UML-SPE
An overview of UML-SPE
An overview of systematic mapping studies in software
engineering
Research method
Article selection
Development of the systematic map (classification
scheme)
Results of systematic mapping
Trends, bibliometrics and demographics
Summary of findings, trends, and implications
10. 10Vahid Garousi
An overview of UML-SPE
Software Performance Engineering
(SPE)
is a systematic and quantitative
discipline to construct software systems
that meet performance objectives.
UML-SPE
is a family of SPE approaches that use
UML models of a software system as
input.
11. 11Vahid Garousi
An overview of UML-SPE
There are in general four types of SPE activities:
(1) modeling (specifying) the performance properties, e.g., workload, inter-
arrival time distribution on UML models
(2) model transformation, e.g., from UML to performance models, e.g.,
Queuing Networks (QN), and Petri Nets (PN)
(3) performance testing, e.g., load testing, and stress testing
(4) analysis and prediction of performance
Performance
modeling
Structural
models
UML model
Behavioral
models
SPE activity
Model
transformation
Analysis and
prediction
Performance
Testing
UML Model
with performance
annotation
Performance
model
QN and variants
PN and variants
PEPA
Test case
Other models
Test
models
Simulation
models
Estimated
performance
measures
Performance
test results
12. 12Vahid Garousi
A systematic mapping on UML-SPE
An overview of UML-SPE
An overview of systematic mapping studies in software
engineering
Research method for our SM
Article selection for our SM
Development of the systematic map (classification
scheme)
Results of systematic mapping
Trends, bibliometrics and demographics
Summary of findings, trends, and implications
13. 13Vahid Garousi
Systematic mapping studies in software engineering
A software engineering systematic map is a defined method to build a
classification scheme and structure a software engineering field of interest.
The analysis of results focuses on frequencies of publications for categories
within the scheme.
Such summarized and categorized results provide many benefits to the
broader community.
For example, they are valuable resources for new researchers (e.g., PhD
students) aiming to conduct additional secondary studies.
Usually, a SM has less depth than a systematic literature review (SLR)
14. 14Vahid Garousi
Systematic mapping studies in software engineering
More and more systematic mapping studies are appearing…
55 systematic mapping studies in Scopus as of Oct. 2014
Query:
Title (systematic mapping) AND SourceTitle (software)
0
5
10
15
20
25
2008 2009 2010 2011 2012 2013 2014
#ofSMstudies
Datafrom
www.scopus.com
16. 16Vahid Garousi
A systematic mapping on UML-SPE
An overview of UML-SPE
An overview of systematic mapping studies in software
engineering
Research method for our SM
Article selection for our SM
Development of the systematic map (classification
scheme)
Results of systematic mapping
Trends, bibliometrics and demographics
Summary of findings, trends, and implications
17. 17Vahid Garousi
Research method for our SM
Initial
Attributes
Initial Pool (114 studies)
Application
of inclusion/ exclusion
criteria (voting)
Articles from
specific venues
Articles by
browsing personal
web pages
Final pool
(90 studies)
Article selection (Section 4)
Attribute
Identification
Classification Scheme/Map (Section 5)
Attribute
Generalization and
Iterative Refinement
Final Map
Systematic mapping (Section 6)
Demographics and Bibliometrics of
the research space
Systematic
mapping
Systematic
Mapping results
RQ 1
RQ 2
IEEE
Xplore
ACM
Digital
Library
Google
Scholar
Microsoft
Academic
Search
CiteSeerX
Referenced
articles
Science
Direct
Bibliometrics and
Demographic
Analysis
Trends, Bibliometrics and Demographics (Section 7)
Activity
Database
Data/ Entity
Multiple
Entities
Legend
18. 18Vahid Garousi
Research method for our SM
Goal:
The goal of was to systematically map (classify) the state-of-the-art in
the area of UML-SPE,
to identify opportunities for future research,
to explore the bibliometrics trends in this area,
and to find out the recent trends and directions in this field,
from the point of view researchers and practitioners in this area.
Research Questions:
RQ 1 - Systematic mapping: What is the research space of UML-
SPE? This question aims at conducting a systematic mapping
(classification) in the area.
RQ 2 – What are the bibliometrics and demographics in this area?
19. 19Vahid Garousi
Each RQ was divided into sub-questions
RQ 1 - What is the research space of UML-SPE? This question aims at
conducting a systematic mapping (classification) in the area.
RQ 1.1-Mapping of studies by contribution facet: How many studies present UML-SPE
methods, techniques, tools, models, metrics, or processes? Petersen et al. [95] proposed
the above types of contributions to enable systematic mapping of studies in software
engineering.
RQ 1.2- Mapping of studies by research facet: What type of research methods are
used in the studies in this area? Some studies only propose solutions without extensive
validations, while some other studies present in-depth evaluation of their approach.
Petersen et al. [95] has also proposed guidelines to classify the research approach of
papers, which we will use to answer this RQ.
RQ 1.3- Types of SPE approach: What types of SPE activities have been presented in
the literature (e.g., performance modeling, model transformation, and testing), and which
types are more popular than others?
…
RQ 1.10 – Attributes of the software systems under analysis: What are the attributes
of the software systems under analysis in the studies? What ratios of studies have used
open-source, commercial, or academic experimental systems for evaluation?
RQ 1.11 – Tools presented in papers: How many SPE tools have been proposed in the
studies? Are they available for download and/or purchase?
20. 20Vahid Garousi
Each RQ was divided into sub-questions
RQ 2 – What are the bibliometrics and demographics in this area?
RQ 2.1 - Publication count by year: What is the annual publication count in this area?
RQ 2.2 - Publication count by venue type: What is the annual publication count in
different types of venues (conference, journals, etc.)?
RQ 2.3- Citation count by year: What is the citation count for studies from different
years? Do older papers necessarily receive more citations?
RQ 2.4–Top-cited studies: What are the top-cited studies in this area?
RQ 2.5- Top venues: Which venues have published most of the studies in this area?
RQ 2.6– Citation count by venue type: What is the average citation count for different
publication venue types? Do journal papers in this area necessarily receive more citations
than workshop and conference papers?
RQ 2.7- Top authors: Which authors have been most active in terms of number of
papers?
RQ 2.8- Author affiliation What ratios of the authors are from academia or industry? How
many papers have been jointly authored by people from academia and industry? This RQ
will show the extent of academia- industry collaborations in this field.
RQ 2.9- Top countries: Which countries have been more active in terms of number of
papers?
21. 21Vahid Garousi
A systematic mapping on UML-SPE
An overview of UML-SPE
An overview of systematic mapping studies in software
engineering
Research method for our SM
Article selection for our SM
Development of the systematic map (classification
scheme)
Results of systematic mapping
Trends, bibliometrics and demographics
Summary of findings, trends, and implications
22. 22Vahid Garousi
Article selection for our SM
Search keywords:
UML performance engineering
UML performance modeling
UML performance testing
UML load testing
UML performance prediction
UML stress testing
Initial Pool (114 studies)
Application
of inclusion/ exclusion
criteria (voting)
Articles from
specific venues
Articles by
browsing personal
web pages
Final pool
(90 studies)
Article selection (Section 4)
IEEE
Xplore
ACM
Digital
Library
Google
Scholar
Microsoft
Academic
Search
CiteSeerX
Referenced
articles
Science
Direct
Activity
Legend
23. 23Vahid Garousi
Article selection for our SM
Final pool of articles:
After the initial search and the follow-up analysis for exclusion of
unrelated and inclusion of additional studies, the pool of selected
studies was finalized with 90 studies.
Online repository:
http://goo.gl/V8ltgV
24. 24Vahid Garousi
A systematic mapping on UML-SPE
An overview of UML-SPE
An overview of systematic mapping studies in software
engineering
Research method for our SM
Article selection for our SM
Development of the systematic map (classification
scheme)
Results of systematic mapping
Trends, bibliometrics and demographics
Summary of findings, trends, and implications
26. 26Vahid Garousi
A systematic mapping on UML-SPE
An overview of UML-SPE
An overview of systematic mapping studies in software
engineering
Research method
Article selection
Development of the systematic map (classification
scheme)
Results of systematic mapping
Bibliometrics and demographics
Summary of findings, trends, and implications
28. 28Vahid Garousi
Type of SPE activities (RQ 1.3)
Performance
modeling
Structural
models
UML model
Behavioral
models
SPE activity
Model
transformation
Analysis and
prediction
Performance
Testing
UML Model
with performance
annotation
Performance
model
QN and variants
PN and variants
PEPA
Test case
Other models
Test
models
Simulation
models
Estimated
performance
measures
Performance
test results
32 55
10
42
29. 29Vahid Garousi
Type of Performance Metrics Used and Evaluated (RQ 1.4)
Other types of performance metrics, e.g., queue length [52, 86], sojourn time
[54] (amount of time it takes for an object to leave the system), probability of
missing a deadline [46], and network transfer rate [50]
30. 30Vahid Garousi
Type of input UML diagrams (RQ 1.5) used by techniques
6 studies used other types of UML diagrams, e.g., component diagrams [32, 48, 68],
and composite-structure diagrams [10]; or extended UML diagrams such as: use-
case maps [67].
31. 31Vahid Garousi
Output Models and Artifacts (RQ 1.6)
The top three performance models are:
(1) Queuing Network (QN) and variants
(2) Petri Net (PN) and variants
(3) Performance Evaluation Process
Algebra (PEPA)
Various variants of QN included:
Layered QN (LQN) (e.g., [7])
Multi-class QN (MCQN) [10, 55]
Extended QN model (EQNM) [24, 62, 63]
Augmented QN (AQN) [76]
32. 32Vahid Garousi
Application Domains (RQ 1.8)
The “other” domains:
parallel and distributed applications [44, 60, 75-77]
agent-based systems [53]
enterprise information systems [42]
33. 33Vahid Garousi
Type/Scale of the Software Systems Under Analysis (RQ 1.10)
The following commercial software systems or protocols have been used in
the studies:
Digital Broadcasting Video (DVB) protocol (used in [10])
Siemens medical solutions (used in [11])
A hierarchical cellular network [16]
Alternating bit protocol [23]
NASA’s Earth Observing System (EOS) [41]
…
34. 34Vahid Garousi
A systematic mapping on UML-SPE
An overview of UML-SPE
An overview of systematic mapping studies in software
engineering
Research method
Article selection
Development of the systematic map (classification
scheme)
Results of systematic mapping
Bibliometrics and demographics
Summary of findings, trends, and implications
35. 35Vahid Garousi
Publication Count by Year (RQ 2.1)
The annual trend of number of papers has had a decline in recent years.
This is raising the question that whether there is very little left in the field to be
“solved”.
Also, compared with the trend of UML books from another SM study
36. 36Vahid Garousi
Citation Count versus Publication Year (RQ 2.3)
To analytically assess the hypothesis that whether older papers necessarily receive
more citations, we calculated the Pearson correlation coefficient.
The correlation coefficient=-0.25
which denote that there is a weak support for the above hypothesis
37. 37Vahid Garousi
Top-Cited Studies (RQ 2.4)
Title
Number of
citations
Publicati
on year
Type of SPE
approach
From UML sequence diagrams and state-charts to
analyzable Petri net
255 2002
Model
Transformation
The Palladio component model for model-driven
performance prediction
190 2008
Model
Transformation
Applying the UML Performance Profile: Graph Grammar-
Based Derivation of LQN Models from UML Specifications
145 2002
Modeling,
Analysis and
prediction
41. 41Vahid Garousi
A systematic mapping on UML-SPE
An overview of UML-SPE
An overview of systematic mapping studies in software
engineering
Research method
Article selection
Development of the systematic map (classification
scheme)
Results of systematic mapping
Bibliometrics and demographics
Summary of findings, trends, and implications
42. 42Vahid Garousi
Summary of findings, trends, and implications
RQ 1 (mapping of studies by contribution facet):
In terms of contribution facet, most of the primary studies (81%)
proposed new techniques or improved an existing one.
Only 1 and 3 studies presented new metrics and new processes,
respectively.
This denotes the need for more work in these areas.
RQ 1.3 (types of SPE approach):
The ranking of proposed SPE activities in order were: (1) model
transformation (61% of studies), (2) analysis and prediction (47%),
(3) modeling (36%), (4) testing (10%), and (5) other (3%), e.g.,
performance tuning.
While UML-based performance testing is an important and promising
field of study [28, 72, 73], this particular area has not received the
deserved attention and focus in the community, and thus needs
more work by the research community and practitioners.
43. 43Vahid Garousi
Summary of findings, trends, and implications
RQ 1.7 (model annotation languages):
43 studies have used the UML SPT profile [116, 117] as their
annotation languages
while 5 studies have used the UML MARTE profile [118]
The annual usage trend analysis reveals that usage of SPT
continues through the years.
RQ 1.10 (type/scale of the software systems under
analysis):
Our results showed that prototype or experimental systems
developed in the academia are the majority (used in 62 studies).
9 and 8 studies used open-source or commercial software for
evaluation of their methods.
We feel this opens up a fertile opportunity for future work to evaluate
the UML-SPE techniques proposed on large-scale commercial
software systems.
44. 44Vahid Garousi
Summary of findings, trends, and implications
RQ 1.11 (tools presented in papers):
Tool support is an important issue in all sub-fields of the software
engineering.
A “healthy” ratio of the primary studies (31%) presented 28 (new)
tools.
Only 20 of those 28 tools were available for download (either free or
commercial license).
Certainly, the authors encourage more efforts on developing
additional industry-scale UML-SPE tools and also technology
transfer of those tools to the industry.
45. 45Vahid Garousi
Outline
Background of the speaker and his research expertise
A systematic mapping of UML-Driven Software
Performance Engineering (UML-SPE)
Review of one UML-SPE technique
46. 46Vahid Garousi
Review of several selected techniques
The speaker has had 11 papers in this area.
Performance
modeling
Structural
models
UML model
Behavioral
models
SPE activity
Model
transformation
Analysis and
prediction
Performance
Testing
UML Model
with performance
annotation
Performance
model
QN and variants
PN and variants
PEPA
Test case
Other models
Test
models
Simulation
models
Estimated
performance
measures
Performance
test results
1
7
3
47. 47Vahid Garousi
Definitions:
Real-time (RT) fault: The execution time of a RT task has passed its RT
constraint
Example: The anti-lock brakes on a car are a simple example of a RT
computing system.
The RT constraint in this system is the time in which the brakes must be
released to prevent the wheel from locking.
A RT deadline must be met, regardless of system load.
48. 48Vahid Garousi
Modeling RT constraints in UML diagrams
Usage of the «SRTaction» stereotype in a UML sequence diagram (soft versus
hard RT actions)
The UML Profile for MARTE: Modeling and Analysis of Real-Time and
Embedded Systems
www.omgmarte.org
sd M
m1
r1
o1
{node = n1}
o2
{node = n2}
[condition]
[else]
alt
m3
o3
{node = n3}
m2
r2
«SRTaction»
{RTduration<(1300,'ms'),
RTmissProb<0.5}
MIOD
«HRTaction»
{RTduration<(1000,
RTcriticality=0.2}
49. 49Vahid Garousi
An overview of the general SPE Process
Identify Critical
Use Cases
Modify/Create
Scenarios
Verify and
Validate Models
Construct
Performance Models
Assess
Performance Risk
Establish Performance
Objectives
Add Software
Resource Requirements
Select Key
Performance Scenarios
Original
Design
UML Model
Generate Stress
Test Requirements
[cycle=1]
Update UML Models
and Source Code
Extract RT
constraints
Revise (Loosen)
System Performance
Requirements
Tune/Re-factor
Architecture or Design
14
6 7
9
Modify/create
scenarios
Revise performance
objectives
InputPerformance
Engineer
cycle=1
Whic
Performance Tuning
[cycle>1]
Can be automate
Performance
Measurement
1, 2
4
6, 8, 9
Decision making
Add Computer
Resource Requirements
Modify/Create
Scenarios
Revise Performance
Objectives
Modify Product
Concept
Evaluate
Performance Models
Construct
Performance Models
Establish Performance
Objectives
Add Software
Resource Requirements
[performance
acceptable]
[infeasible]
[feasible]
(a)-The General SPE Process
Performance
Tuning
1, 2
4
3, 5
7
6, 8, 9
6
50. 50Vahid Garousi
Our Stress-Test
Performance Engineering
(STPE) process versus the
general SPE Process
Identify Critical
Use Cases
Add Computer
Resource Requirements
Modify/Create
Scenarios
Verify and
Validate Models
Revise Performance
Objectives
Modify Product
Concept
Evaluate
Performance Models
Construct
Performance Models
Assess
Performance Risk
Establish Performance
Objectives
Add Software
Resource Requirements
Select Key
Performance Scenarios
[performance
acceptable]
[infeasible]
[feasible]
Original
Design
UML Model
Generate Stress
Test Requirements
[cycle=1]
Stress
Test Requirements
Generate Stress
Test Cases
Stress
Test Cases
Run Stress
Test Cases
“Modified” UML
Model
Analyze Stress
Test Results
Stress
Test Results
Update UML Models
and Source Code
[cycle>1]
[at least one RT failure]
[no RT failure]
RT
constraints
Extract RT
constraints
Revise (Loosen)
System Performance
Requirements
Upgrade
Network
Resources
cycle++
Tune/Re-factor
Architecture or Design
1
2
3
4
5
6 7 8
9
Performance
Measurement
Performance
Evaluation
Modify/create
scenarios
Revise performance
objectives
InputPerformance
Engineer
cycle=1
WhichModelToUse
FinishSTPEOrNot
Performance Tuning
[cycle>1]
Can be automated
Can be automated
(a)-The General SPE Process (b)-Stress-Test Performance Engineering Process
Performance
Measurement
Performance
Tuning
1, 2
4
3, 5
7
6, 8, 9
6
Decision making
51. 51Vahid Garousi
Performance tuning
The performance tuning stage of
STPE is undertaken if the
performance evaluation in Step 5
reports that at least one RT failure
(HRT or SRT) has occurred.
A decision tree for Value-Based
Performance Engineering (VBPE)…
Just like Value-Based Software
Engineering (VBSE)
Performance Tuning options
Re-factor Architecture or
Implementation
Upgrade Network
Resources
Weaken Performance
Requirements
Architecture Implementation
Possibility 1 Possibility nPossibility 1 Possibility m
... ...
Possibility 1:
Deadline value
Possibility 2:
RTmissProb value
Network 1 Network p...
Identify Critical
Use Cases
Add Computer
Resource Requirements
Modify/Create
Scenarios
Verify and
Validate Models
Construct
Performance Models
Assess
Performance Risk
Establish Performance
Objectives
Add Software
Resource Requirements
Select Key
Performance Scenarios
Original
Design
UML Model
Generate Stress
Test Requirements
[cycle=1]
Stress
Test Requirements
Generate Stress
Test Cases
Stress
“Modified” UML
Model
Update UML Models
and Source Code
[cycle>1]
RT
constraints
Extract RT
constraints
Revise (Loosen)
System Performance
Requirements
Upgrade
Network
Resources
cycle++
Tune/Re-factor
Architecture or Design
1
2
4
6 7 8
9
Performance
Measurement
Modify/create
scenarios
Revise performance
objectives
InputPerformance
Engineer
cycle=1
WhichModelToUse
Performance Tuning
[cycle>1]
Can be automated
Performance
Measurement
Performance
Tuning
1, 2
4
6, 8, 9
Decision making
52. 52Vahid Garousi
A case-study Experiment
System under analysis:
A prototype SCADA-based power distribution system
SCADA: Supervisory Control And Data Acquisition
A system to control the power distribution grid across Canada consisting of
several provinces.
Each province has several cities and regions.
There is one central server in each province which gathers the SCADA data
from Tele-Control units (TCs) from all over the province and sends them to the
national server.
53. 53Vahid Garousi
A case-study Experiment
RT constraints of the system under analysis
Overload control use-case of two Canadian provinces:
OM_ON (Ontario) and OM_QC (Quebec)
:ProvController
{node = SEV_QC}
sd OC
:ASA
{node = SEV_CA1}
:ProvController
{node = SEV_ON}
par
[overloadIn(:ASA:loadON)]
[else]
alt
loadON=balanceLoadON(:ASA.loadON, :ASA.loadQC)
setNewLoadPolicy(loadON)
[overloadIn(:ASA:loadQC)]
[else]
alt
loadQC=balanceLoadQC(:ASA.loadON, :ASA.loadQC)
setNewLoadPolicy(loadQC)
keepOldLoadPolicy()
keepOldLoadPolicy()
«SRTaction»
{RTduration<(1000,'ms'),
RTmissProb=0.9}
«HRTaction»
{RTduration<(1500,'ms'),
RTcriticality=0.95}
SRTC1
HRTC4
:ASA
{node = SEV_CA2}
backupLoads(loadON, loadQC)
ok
54. 54Vahid Garousi
A case-study Experiment
Applying the Stress-Test Performance Engineering (STPE)
Iteration 1: we conducted architecture/design refactoring
Iteration 2: we replaced the wireless network card (speed: 19 Mbps) of
SEV_CA1 with a faster wired network cards (speed: 100 Mbps).
HRTC4 - Iteration 3HRTC4 - Iteration 2HRTC4 - Iteration 1
1600
1550
1500
1450
1400
Time(ms)
Boxplot of HRTC4 values in iterations 1...3
«HRTaction»
{RTduration<(1500,'ms'),
RTcriticality=0.95}
HRTC4
55. 55Vahid Garousi
Outline
Background of the speaker and his research expertise
A systematic mapping of UML-Driven Software
Performance Engineering (UML-SPE)
Review of one UML-SPE technique
Q/A