industry-academia collaborations in software engineering research: experience from canada and turkey

111
1 Dr. Vahid Garousi Industry-academia collaborations in software engineering research: Experience from Canada and Turkey Dr. Vahid Garousi Associate Professor of Software Engineering Department of Computer Engineering Hacettepe University, Ankara, Turkey [email protected] http://web.cs.hacettepe.edu.tr/~vahid vgarousi

Upload: vahid-garousi

Post on 14-Apr-2017

31 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

1Dr. Vahid Garousi

Industry-academia collaborations in software engineering research:

Experience from Canada and Turkey

Dr. Vahid GarousiAssociate Professor of Software Engineering

Department of Computer EngineeringHacettepe University, Ankara, Turkey

[email protected]://web.cs.hacettepe.edu.tr/~vahid

vgarousi

Page 2: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

2Dr. Vahid Garousi

Outline

Background Of the Principal Investigator (PI), and his research teams in the past

Success stories of industry-academia collaborations Success stories in Canada Success stories in Turkey Challenges, best practices, and collaboration models

Page 3: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

3Dr. Vahid Garousi

About the Speaker Work experience:

Hacettepe University, Turkey, Feb. 2015- University of Calgary, Canada, 2006-2014 Middle East Technical University, Turkey, 2013 Founder, Maral Software Consulting Corporation, 2008-

Education: PhD, Carleton University, Canada, 2006 MSc, University of Waterloo, Canada, 2003 BSc, Sharif University of Technology, Iran, 2000

Research expertise: Software Engineering Software Testing and Quality Assurance (QA) Software Maintenance Agile methodologies “Action research”, i.e., industry-academia collaborations

Cultural background and citizenship: Dual citizenship: Canadian-Iranian, now living in Turkey

Page 4: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

4Dr. Vahid Garousi

Research in University of Calgary, Canada2006-2014• Established and led the Software Quality Engineering

Research Group (SoftQual)• www.softqual.ucalgary.ca

• Alumni 1 Post-doctoral fellow 3 PhD students 9 MSc students 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.3 Million CND in funding in 6 years

• Output: • More than 30 journal papers and 45 conference papers• Several software tools• One start-up firm and one commercialized software

product

Page 5: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

5Dr. Vahid Garousi

Page 6: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

6Dr. Vahid Garousi

Hacettepe University Software Engineering (HUSE)

2 faculty members 20+ graduate students 10+ industry partners

Page 7: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

7Dr. Vahid Garousi

Researcher's profile: International collaborations

Page 8: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

8Dr. Vahid Garousi

Outline

Background Of the speaker, his research team and expertise

Success stories of industry-academia collaborations Success stories in Canada Success stories in Turkey Challenges, best practices, and collaboration models

Page 9: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

9Dr. Vahid Garousi

Collaboration model Our research approach: “Action Research”

T. Gorschek, C. Wohlin, P. Carre, and S. Larsson, "A Model for Technology Transfer in Practice," IEEE Software, vol. 23, pp. 88-95, 2006

Page 10: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

10Dr. Vahid Garousi

Success stories in Canada Project 1

Industry partner: Pason Systems Corporation, Calgary, Canada Challenge: The company could not systematically decide “when to

automate testing” and “what (test cases) to automate”

Project 2 Industry partner: NovAtel Inc., Calgary, Canada Challenge: Huge amounts of effort had been spent for developing and

maintaining software documentation

Project 3 Industry partner: MR Control Systems International,

Calgary, Canada Challenge: The cost of manual testing was very high. Need for test

automation

Project 4 Industry partner: Alberta Energy Resources Conservation Board

(ERCB), Calgary, Canada Challenge: The cost of manual “environment configuration” testing

was very high. Need for test automation

Page 11: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

11Dr. Vahid Garousi

Selected Project #1 Industry partner: Pason Systems Corporation, Calgary, Canada.

Developing software and hardware for oil rig reservoirs Challenge: The company could not decide “when to automate testing”

and “what to automate” Systems under test (SUT’s):

Page 12: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

12Dr. Vahid Garousi

Selected Project #1 Solution: Decision support for balancing manual software

testing versus test automation

Test-case Design

Test Scripting

Test Execution

Test Evaluation

Pass

Fail

Test Suites (set of test

cases)

Test Results

Bug (Defect) Reports

Scripted test suites

“Exercise” (test)

Manual test suites

Automated test suites (e.g., Junit)

AM

Criteria-based (Systematic)

Human knowledge-based

(Exploratory)

Computer(Automated)

Human(Manual)

M

OR/AND

AM

System Under Test (SUT)

AM

AM

Activity

Data/ Entity

Legend

Test-Result

Reporting

Page 13: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

13Dr. Vahid Garousi

Selected Project #1 Solution: Decision support for balancing manual software

testing versus test automation

UC: use-case

Goal: maximize

Test-case Design

Test Scripting

Test Execution

Test Evaluation

Pass

Fail

Test Suites (set of test

cases)

Test Results

Bug (Defect) Reports

Scripted test suites

“Exercise” (test)

Manual test suites

Automated test suites (e.g., Junit)

AM

Criteria-based (Systematic)

Human knowledge-based

(Exploratory)

Computer(Automated)

Human(Manual)

M

OR/AND

AM

System Under Test (SUT)

AM

AM

Activity

Data/ Entity

Legend

Test-Result

Reporting

Page 14: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

14Dr. Vahid Garousi

Selected Project #1 Solution: Decision support for balancing manual software

testing versus test automation

Page 15: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

15Dr. Vahid Garousi

Selected Project #1 Solution: Decision support for balancing manual software

testing versus test automation More details in the following papers:

Invited paper

Page 16: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

16Dr. Vahid Garousi

Outline

Background Of the speaker, his research team and expertise

Success stories of industry-academia collaborations Success stories in Canada Success stories in Turkey Challenges, best practices, and collaboration models

Page 17: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

17Dr. Vahid Garousi

Success stories in Turkey Multiple projects (since 2015)

Industry partner: HAVELSAN (Hava Elektronik Sanayi, Aviation Electronics Industries), 2015-now

1. Test automation for several test groups2. Assessing and improving an in-house test automation framework for

test group Q3. Establishing a systematic, effective and efficient GQM-based

measurement program for the testing directorate4. Assessment and improvement of test process maturity using TMMI

and TPI-Next 5. Bi-directional knowledge transfer from/to international venues and

organizations in the aviation industry, e.g., NASA, DoD

2015 Industry partner: Turkish Aerospace Industries, Inc. (TAI) Project topic: A tool for automated inspection of software design

documents

2013 Industry partner: Department for Turks Abroad and Relative Societies

(Yurtdışı Türkler ve Akraba Topluluklar Başkanlığı) Challenge: The performance (response time) of the web application

became poor and non-responsive when many users used the system in high user loads, response time~50 seconds!

Page 18: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

18Dr. Vahid Garousi

Company background An example product: Helicopter simulators

Page 19: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

19Dr. Vahid Garousi

Collaborations with HAVELSAN Multiple projects

Industry partner: HAVELSAN (HAVa ELektronik SANayi, Aviation Electronics Industries), 2015-now

1. Test automation for test group X (an overview next…)2. Test automation for test group Y3. Test automation for test group Z4. Assessing and improving an in-house test automation framework for test group Q5. Establishing a systematic, effective and efficient GQM-based measurement program

for the testing directorate6. Assessment and improvement of test process maturity using TMMI and TPI-Next 7. Bi-directional knowledge transfer from/to international venues and organizations in

the aviation industry, e.g., NASA, DoD

We even wrote a methodological paper on how we came up with the above list of projects…

Page 20: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

20Dr. Vahid Garousi

Collaborations with HAVELSAN Context: Visual GUI testing of tactical map systems

(not the real SUT, but a good representative taken from internet)

Page 21: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

21Dr. Vahid Garousi

Collaborations with HAVELSAN Context: Visual GUI testing of tactical map systems Two test tools were chosen:

Sikuli jAutomate

Goal: To compare Sikuli and JAutomate in order to determine a suitable tool for GUI

testing in the project GQM was used:

How do features of the two tools compare to each other (static comparison)? How do the two tools compare when they are used to develop test scripts and

test SUTs (dynamic comparison)?How do the two tools compare in terms of quality of the Record and Replay features?How do the two tools compare in terms of robustness and repeatability?How do the two tools compare in terms of fault tolerance?How do the two tools compare in terms of test development effort? (some overview next…)How do the two tools compare in terms of test maintenance effort?How do the two tools compare in terms of fault detection effectiveness?

Page 22: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

22Dr. Vahid Garousi

Collaborations with HAVELSAN Several papers have been written so far…

Page 23: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

23Dr. Vahid Garousi

Outline

Background Of the speaker, his research team and expertise

Success stories of industry-academia collaborations Success stories in Canada Success stories in Turkey Challenges, best practices, and collaboration models

Page 24: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

24Dr. Vahid Garousi

Challenges and best practices Synthesized the findings of 33 primary studies

And 30 other studies…

Page 25: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

25Dr. Vahid Garousi

Challenges and best practices

Challenges Best practices (success patterns)1. Lack of research relevance2. Research method related3. Lack of training, experience, and

skills4. Lack or drop of interest /

commitment5. Mismatch between industry and

academia6. Communication-related issues7. Human and organizational factors8. Management-related issues9. Resource-related issues10. Contractual, and privacy concerns

1. Knowledge management (communication, terminology, transfer, training and skills)

2. Ensure engagement and manage commitment3. Consider and understand industry's needs,

challenges, goals and problems4. Ensure giving explicit industry benefits and solve the

right problem5. Have mutual respect, understanding and

appreciation6. Be Agile7. Work in (as) a team and involving the "right"

practitioners8. Consider and manage risks and limitations9. Researcher's on-site presence and access10. Follow a proper research/data collection method11. Manage funding/recruiting/partnerships and

contracting privacy12. Understand the context, constraints and language13. Efficient research project management14. Conduct measurement/ assessment15. Test pilot solutions before using them in industry16. Provide tool support for solutions

Page 26: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

26Dr. Vahid Garousi

Collaboration models Our research approach: “Action Research”

T. Gorschek, C. Wohlin, P. Carre, and S. Larsson, "A Model for Technology Transfer in Practice," IEEE Software, vol. 23, pp. 88-95, 2006

Page 27: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

27Dr. Vahid Garousi

End of the talk

Background Of the speaker, his research team and expertise

Success stories of industry-academia collaborations Success stories in Canada Success stories in Turkey Challenges, best practices, and collaboration models

Questions and answers

Page 28: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

28Dr. Vahid Garousi

End of the talk

Page 29: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

29Dr. Vahid Garousi

Success stories in Canada Project 1

Industry partner: Pason Systems Corporation, Calgary, Canada Challenge: The company could not decide “when to automate testing”

and “what to automate”

Project 2 Industry partner: NovAtel Inc., Calgary, Canada Challenge: Huge amounts of effort had been spent for developing and

maintaining software documentation

Project 3 Industry partner: MR Control Systems International,

Calgary, Canada Challenge: The cost of manual testing was very high. Need for test

automation

Project 4 Industry partner: Alberta Energy Resources Conservation Board

(ERCB), Calgary, Canada Challenge: The cost of manual “environment configuration” testing

was very high. Need for test automation

Page 30: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

30Dr. Vahid Garousi

Success stories in Canada Industry partner:

NovAtel Inc., Calgary, Canada, a global leader in GPS and GNSS software and systems (embedded software with C/C++ code inside)

Page 31: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

31Dr. Vahid Garousi

Success stories in Canada Industry partner:

NovAtel Inc., Calgary, Canada The company had CMMI Level-3 certification

Challenge: Huge amounts of effort (cost $$$) were spent for developing and

maintaining software documentation in the last several yearsReminder: Software maintenance typically consumes 40 to 80% of

software project costs.

Solution: A systematic approach for optimizing cost of software documentation was

developed and deployed in the industrial context

Impact : Based on quantitative measurements, the approach optimized cost of

developing and maintaining software documentation.

Page 32: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

32Dr. Vahid Garousi

How did we systematically optimize cost of software documentation?

SW Architect (Requirements Engineer,

Business analyst…)

Reviews

Change the doc and create the Next Version

Draft

Comprehension Activity

<<may lead to a change in the doc>>

Developer(down the stream)

Approver (Team lead, etc.)

For requirements and design documents

Revision

Creating 1st

Draft First Draft

Activity

Artifact/Document

Working Draft

ApprovedVersion Use doc to develop

artifact/product at hand(e.g., design, code, etc.)

Maintainer(debugger, developer)

Artifact at hand

Bug reports

Feature Requests

SW maintenance (super) activity

SW maintenance (super) activity

Activity 1...

Activity n...

E.g., do the actual changes to fix the bug at hand

Next Version Draft

LegendLegend

E.g., fault localization, root-cause analysis, impact analysis

Doc-related Activity incurring costs

Activity using documentation

(benefits)

0a

0b, 0c, ...

1a2a

Page 33: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

33Dr. Vahid Garousi

• Initial cost• Number of minutes• Number of words in the file

• Maintenance cost • The above• + Amount of change from

each version to the next• …

• Benefit (usage) during development cycle• Benefit (usage) after the development:

during maintenance• Which sections of a certain

documentation are used?• How much help a certain

documentation artifact has made for a task at hand?

Benefit MetricsCost Metrics

Requirements Design Implementation Test CasesBug/maintenance

Reports

Artifacts... ... ... ... ...

Page 34: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

34Dr. Vahid Garousi

How can we systematically optimize cost of software documentation?

Page 35: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

35Dr. Vahid Garousi

Economics (how we applied it in our context)

35

CostCost)(BenefitROI

Min=-1 when benefit=0

No extra benefit…when benefit=cost

-1 0

Worth having a given artifact (investing in it)

Does not worth having it

Benefit>costBenefit<cost

0

5

10

15

20

25

30

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29N

umbe

r of h

ours

Month #

Hypothetical example for Cost Benefit of a Requirements Document

Cost

Benefit

In above example, ROI=-0.60

Page 36: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

36Dr. Vahid Garousi

How can we systematically optimize cost of software documentation?

Recommendations were given to the team to:

First Draft

Reviews/Revisions

Version Approved

Next Version Draft

Usage during development

Usage during maintenance

Purpose: for development of down-the-stream artifacts

Purpose: for comprehension purposes for Bug fixing or Feature adding

COST

BENEFIT

Artifact retired/archived

E.g., the team may decide it is no longer worth it or needed to keep this artifact updated

minimize

maximize

Page 37: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

37Dr. Vahid Garousi

Success stories in Canada Industry partner:

NovAtel Inc., Calgary, Canada Solution:

A systematic approach for optimizing cost of software documentation was developed and released to the industrial context.

More details in the following articles:

Page 38: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

38Dr. Vahid Garousi

Collaboration models There are similar models, such as the: “design

science” Also used in other disciplines

Page 39: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

39Dr. Vahid Garousi

Collaboration models Also, called “design science”

https://biologytodesign.wordpress.com/2011/09/12/how-to-read-scientific-papers/

Page 40: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

40Dr. Vahid Garousi

Collaborations with HAVELSAN Goal: To compare Sikuli and JAutomate in order to determine a

suitable tool for GUI testing in the project Two SUTs:

Script Development Effort (SDE) versus # of test steps

Page 41: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

41Dr. Vahid Garousi

Why should industry and academia collaborate? If done

Collaboration between industry and academia supports improvement and innovation in industry …

and helps to ensure industrial relevance in academic research. If not done: The lack of collaboration between industry and academia hurts

both sides: Practitioners will not learn what researchers have already discovered that might be useful

to them While researchers will have fewer insights on the problems that are important to

practitioners Unfortunately, many software engineering practitioners and researchers are

not talking to each other (adequately). Various reasons have been discussed by researchers and practitioners for

such a lack of motivation for collaborations between industry and academia, such as:

Each side having different objectives, industrial problems lacking scientific novelty or challenges, and the low applicability and scalability problems of the solutions developed in academia

Page 42: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

42Dr. Vahid Garousi

A typical simplified process for industry-academia collaborations

Inception (formation) phase: approaching and topic selection

Initiator

Initiator

Joint discussions

Operational phase: controlling and monitoring projects

Transition phase: technology/knowledge transfer and impact

Joint efforts

Joint efforts

Another upcoming collaborative proj ect?

Project/case under study

studystudy

Project/case under studyResearch

literature

review

Research literature

contribute positively impact

Planning

Joint efforts

Project plan (objectives, etc.)

define

Motivationsinfluence influenceinfluence influence

Success criteria

Measures of success and satisfaction

use d to measure

define

use d to measure

Challenges

Success factors (patterns)

Anti-patterns

Outcomes

Cross-cutting

influence

influence influence

influence

Page 43: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

43Dr. Vahid Garousi

Success stories in Turkey Multiple projects (since 2015)

Industry partner: HAVELSAN (Hava Elektronik Sanayi, Aviation Electronics Industries), 2015-now

1. Test automation for test group X2. Test automation for test group Y3. Test automation for test group Z4. Assessing and improving an in-house test automation framework for test group Q5. Establishing a systematic, effective and efficient GQM-based measurement

program for the testing directorate6. Assessment and improvement of test process maturity using TMMI and TPI-Next 7. Bi-directional knowledge transfer from/to international venues and organizations

in the aviation industry, e.g., NASA, DoD

2015 Industry partner: Turkish Aerospace Industries, Inc. (TAI) Project topic: A tool for automated inspection of software design documents

2013 Industry partner: Department for Turks Abroad and Relative Societies (Yurtdışı

Türkler ve Akraba Topluluklar Başkanlığı) Challenge: The performance (response time) of the web application became poor

and non-responsive when many users used the system in high user loads, response time~50 seconds!

Page 44: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

44Dr. Vahid Garousi

Joint work with Turkish Aerospace Industries, Inc. (TAI) Industry partner:

Turkish Aerospace Industries, Inc. (TAI) Challenge:

Manual inspection of software design documents is time consuming (expensive) and error prone

Manual checklist…

Page 45: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

45Dr. Vahid Garousi

Joint work with Turkish Aerospace Industries, Inc. (TAI) Industry partner:

Turkish Aerospace Industries, Inc. (TAI)

Challenge: Manual inspection of software design documents is time consuming (expensive)

and error prone

Need: A tool for automated inspection of software design documents

Solution: A tool for automated inspection of software design documents

Impact : Based on quantitative and qualitative measurements, the tool reduced the

inspection cost of design documents and increased inspection effectiveness (ability to detect defects)

Page 46: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

46Dr. Vahid Garousi

Joint work with Turkish Aerospace Industries, Inc. (TAI) A tool for automated inspection of software design documents

AutoInspect

input toSoftware Design Document

Inspection Engineer

Design inspection rules

inspects interacts with

Defects found during inspection

Design verification report

uses

analyzes

Page 47: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

47Dr. Vahid Garousi

Joint work with Turkish Aerospace Industries, Inc. (TAI)

A tool for automated inspection of software design documents

Page 48: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

48Dr. Vahid Garousi

Joint work with Turkish Aerospace Industries, Inc. (TAI)

Measuring the Efficiency and Effectiveness of the approach

Design document

name

Size metrics Efficiency (inspection effort in hours) Effectiveness (# of defects found)

Number of pages

Number of GUI

screensManual Automate

dImprovement % Manual Automate

dImprovement %

EYTS 52 12 8 4 50% 6 8 33%EFAB 109 31 29 17 41% 100 129 29%TAS 321 34 51 27 47% 13 16 23%

Page 49: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

49Dr. Vahid Garousi

Joint work with Turkish Aerospace Industries, Inc. (TAI)

Paper…

Page 50: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

50Dr. Vahid Garousi

Success stories in Turkey Multiple projects (since 2015)

Industry partner: HAVELSAN (Hava Elektronik Sanayi, Aviation Electronics Industries), 2015-now

1. Test automation for test group X2. Test automation for test group Y3. Test automation for test group Z4. Assessing and improving an in-house test automation framework for test group Q5. Establishing a systematic, effective and efficient GQM-based measurement

program for the testing directorate6. Assessment and improvement of test process maturity using TMMI and TPI-Next 7. Bi-directional knowledge transfer from/to international venues and organizations

in the aviation industry, e.g., NASA, DoD

2015 Industry partner: Turkish Aerospace Industries, Inc. (TAI) Project topic: A tool for automated inspection of software design documents

2013 Industry partner: Department for Turks Abroad and Relative Societies (Yurtdışı

Türkler ve Akraba Topluluklar Başkanlığı) Project 1: Performance engineering of a major web application used by

thousands of users world-wide Project 2: Usability assessment (testing) of the web app

Page 51: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

51Dr. Vahid Garousi

Another project

Industry partner: Department for Turks Abroad and Relative Societies (Yurtdışı Türkler ve

Akraba Topluluklar Başkanlığı)

System under test (SUT): A major .Net-based web application was developed Serving over 50,000 Industry partners from all over the world each year, who would

submit applications and documents Staff members review and score the applications using this system

Page 52: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

52Dr. Vahid Garousi

Another project

Challenge: Project 1-The performance (response time) of the web application became

poor and non-responsive when many users used the system in high user loads, response time~50 seconds!

Project 2-Usability of the web app needed systematic assessment (testing)

Led to these projects: Project 1-Systematic performance engineering of the web app:

measurements, testing and improvement Project 2-Usability assessment (testing) of the web app based on these

standards: ISO 9241-151 - Ergonomics of human-system interaction — Guidance on WWW

user interfaces ISO 9241-20 ICT Accessibility guidelines Kamu Kurumları İnternet Sitesi (KAKIS ) Önerileri Rehberi

Page 53: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

53Dr. Vahid Garousi

Software Performance Engineering

Challenge: Need for systematic software performance testing and detection of performance

problems (e.g., bottlenecks)

Solution:

Page 54: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

54Dr. Vahid Garousi

Challenge: Need for systematic software performance testing and detection of performance

problems (e.g., bottlenecks)

Solution: systematically used various performance testing and engineering tools in the Visual Studio environment

Concurrency and Contentions

Creating additional database Indices

Software Performance Engineering

Page 55: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

55Dr. Vahid Garousi

Solution: performance testing and engineering Measured and reduce wait times in the DBMS

Software Performance Engineering

Page 56: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

56Dr. Vahid Garousi

Challenge: Need for systematic software performance testing and

detection of performance problems (e.g., bottlenecks)

Solution: We systematically applied various performance testing

and engineering tools

Outcome and impact: Thanks to systematic software performance testing … The performance (response time) of the web application

improved significantly when many users use the system

Software Performance Engineering

Page 57: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

57Dr. Vahid Garousi

Approach: Objective usability assessment and testing of the web app based on these standards: ISO 9241-151 - Ergonomics of human-system interaction — Guidance on

WWW user interfaces ISO 9241-20 ICT Accessibility guidelines Kamu Kurumları İnternet Sitesi (KAKIS ) Önerileri Rehberi

Output: A comprehensive report

Impact: Major improvement of the web app usability as reported by the stakeholders

Usability assessment (testing) of the web app

Page 58: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

58Dr. Vahid Garousi

What to do to ensure success

Page 59: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

59Dr. Vahid Garousi

Challenges, best practices, and collaboration models

Our research approach: “Action Research” Example…

Need (challenge) Solution ImpactFurther reading (resulting papers)

Lack of a systematic approach to decide what test cases to automate in software testing

A systematic approach, based on optimization and on system dynamics, was developed and released to the industrial context.

Based on quantitative measurements, the approach improved the cost effectiveness of software testing activities.

[Amannejad, Garousi, et al. 2014][Sahaf, Garousi, et al. 2014]

Page 60: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

60Dr. Vahid Garousi

BACK UP

Page 61: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

61Dr. Vahid Garousi

Success stories of industry-academia collaborations in Software Engineering:

Experience from Canada and Turkey

Yazılım mühendisliğinde üniversite-sanayi işbirliği başarı hikayeleri: Kanada ve Türkiye'den tecrübe ve kanıtlar

Doç. Dr. Vahid GarousiAssociate Professor of Software Engineering

Hacettepe University Software Engineering Research Group (HUSE)Department of Computer EngineeringHacettepe University, Ankara, Turkey

Senior Software Consultant and Managing PartnerMaral Software Engineering Consulting Corporation, Calgary, Canada

[email protected]://web.cs.hacettepe.edu.tr/~vahid

vgarousi

Page 62: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

62Dr. Vahid Garousi

Researcher's publication record More than 38 journal papers in ‘high-profile’ journals More than 45 conference papers in top IEEE/ACM conferences

Page 63: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

63Dr. Vahid Garousi

Five levels of different closeness between academia and industry

Level 1: Not in Touch

Source:

Page 64: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

64Dr. Vahid Garousi

Five levels of different closeness between academia and industry

Level 2: Hearsay

Page 65: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

65Dr. Vahid Garousi

Five levels of different closeness between academia and industry

Level 3: Sales Pitch

Page 66: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

66Dr. Vahid Garousi

Five levels of different closeness between academia and industry

Level 4: Offline

Page 67: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

67Dr. Vahid Garousi

Five levels of different closeness between academia and industry

Level 5: One Team (true collaboration)

1

2

3

Page 68: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

68Dr. Vahid Garousi

About the Speaker Education:

PhD (Carleton University, Canada), 2006 MSc (University of Waterloo, Canada), 2003 BSc (Sharif University of Technology, Tehran, Iran), 2000 High school, Sadi High school, Tabriz, Iran, 1996

Work experience: Hacettepe University, Ankara, Türkiye, since Feb. 2015 Atılım University, Ankara, Türkiye, 2014 Middle East Technical University, Ankara, Türkiye, 2013 University of Calgary, Canada, 2006-2013

Research expertise: Software Engineering Software Testing and Quality Assurance (QA) Software Requirements and Software Maintenance “Action research”, i.e., industry-academia collaborations

Cultural and ethnic background: Canadian citizen, with Azerbaijani background (from Iran), now

living in Turkey

Page 69: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

69Dr. Vahid Garousi

Challenges, best practices, and collaboration models

Exploratory case studies are particularly useful To systematically understand “what is going on” in a

given industrial context and to identify challenges and issues to be addressed

Improving case studies are also useful Systematic means to improve a certain aspect of the

studied phenomenon Essentially, we need to conduct precise “before” and

“after” analyses Example:

Page 70: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

70Dr. Vahid Garousi

Challenges, best practices, and collaboration models Source: "A Model for Technology Transfer in Practice", IEEE Software, 2006

Page 71: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

71Dr. Vahid Garousi

Brainstorming

Discussing the software engineering opportunities and mutual interest areas with the Industry partner…

What type of software engineering challenges do you have? Software requirements? Need for more software test automation? Having hard time deciding “when to automate

testing” and “what to automate”? …

Page 72: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

72Dr. Vahid Garousi

,

Page 73: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

73Dr. Vahid Garousi

Survey of software testing practices in Turkey

Page 74: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

74Dr. Vahid Garousi

Survey of software testing practices in Turkey

Test Türleri/Seviyeleri (soru 1)

Page 75: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

75Dr. Vahid Garousi

Success stories in Canada Project 1

Industry partner: Pason Systems Corporation, Calgary, Canada Challenge: The company could not decide “when to automate testing”

and “what to automate”

Project 2 Industry partner: NovAtel Inc., Calgary, Canada Challenge: Huge amounts of effort had been spent for developing and

maintaining software documentation

Project 3 Industry partner: MR Control Systems International,

Calgary, Canada Challenge: The cost of manual testing was very high. Need for test

automation

Project 4 Industry partner: Alberta Energy Resources Conservation Board

(ERCB), Calgary, Canada Challenge: The cost of manual “environment configuration” testing

was very high. Need for test automation

Page 76: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

76Dr. Vahid Garousi

Selected Project #2 Industry partner: MR Control Systems International, Calgary, Canada.

Developing software for energy and process control (SCADA) SCADA: Supervisory Control and Data Acquisition Challenge: The cost of manual testing was very high. Need for test

automation System under test (SUT): named Rocket Had been tested manually during development, for 5 years

Page 77: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

77Dr. Vahid Garousi

Selected Project #2 Solution: Development and evaluation of automated unit and

functional testing infrastructure We proceeded with automated black-box Unit Testing (BBUT)

But it has challenges:• If we apply the equivalence classing, we will get 19,683 test cases for

only this function block. Bad news ;( • Challenge 1: Coding of test cases (in NUnit): Too much effort• Challenge 2: Coupling of test cases to test input data • Challenge 3: Manual generation of expected outputs (test oracle)

Page 78: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

78Dr. Vahid Garousi

Selected Project #2 Solution: Development and evaluation of automated unit and

functional testing infrastructure• One possible solution → Automated generation of NUnit test

code• We implemented a test tool

Page 79: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

79Dr. Vahid Garousi

Selected Project #2 Reminder: Test code is automatically generated, saving

many hours

Page 80: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

80Dr. Vahid Garousi

Return On Investment (ROI) of Test Automation•Cost and benefit drivers in the project:

Cost Drivers Benefit DriversCD 1: Development of the AutoBBUT tool

BD 1: Time saving and test repeatability – No need any more to conduct manual regression testing

CD 2: Maintenance of automated unit test suite

BD 2: Time saving - No need to manually develop the test code and some of the test oracles (expected outputs)

CD 3: Manual coding of some of the expected outputs (test oracles) in test code

BD 3: Detection of faults undetected in manual testing iterations

Page 81: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

81Dr. Vahid Garousi

In-depth Analysis of the ROI of Test Automation•Careful measurements were conducted•Summary: We could get a time saving of:

ROI = -120 hours (AutoBBUT’s development time)-3 hours (test code inspection and completion)+87 hours (initial development of manual test suite, if it was to be done)+87*6 hours (test code maintenance, since the system evolved 6 times)ROI = 486 hours = 60 man-days

•More details in: our article in the IEEE International Conference on Software Testing, Verification and Validation (ICST), Industry Track, April 2012

Page 82: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

82Dr. Vahid Garousi

Success stories in Canada Project 1

Industry partner: Pason Systems Corporation, Calgary, Canada Challenge: The company could not decide “when to automate testing”

and “what to automate”

Project 2 Industry partner: NovAtel Inc., Calgary, Canada Challenge: Huge amounts of effort had been spent for developing and

maintaining software documentation

Project 3 Industry partner: MR Control Systems International,

Calgary, Canada Challenge: The cost of manual testing was very high. Need for test

automation

Project 4 Industry partner: Alberta Energy Resources Conservation Board

(ERCB), Calgary, Canada Challenge: The cost of manual “environment configuration” testing

was very high. Need for test automation

Page 83: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

83Dr. Vahid Garousi

Selected Project #3 Industry partner: Alberta Energy Resources Conservation Board (ERCB), Calgary,

Canada. Developing enterprise software for public and internal use for monitoring energy resources

Challenge: The cost of manual “environment configuration” testing was very high. Need for test automation

System under test (SUT): The organization’s projects are developed on a

backbone of four staging environments: development, test, acceptance, and production

Issue: Staging Environment Instability All in-house development teams share the

staging servers. Software applications have to be deployed on

several staging environments during different milestones of the release lifecycle.

Changes to server configurations made by one team

have the potential to impact other teams. This situation happened very frequently in the

organization under study.

Page 84: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

84Dr. Vahid Garousi

Selected Project #3 Challenge:

Issue: Staging Environment Instability The cost of manual “environment

configuration” testing was very high. Need for test automation

As a result: Teams had to constantly and manually

verify server configurations to ensure that all different environments were set-up correctly for their applications.

The entire situation was almost ad-hoc, caused last-minute surprises, and chaos in many occasions.

“It worked for me yesterday, but I don’t know why it doesn't work today!”

Page 85: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

85Dr. Vahid Garousi

Selected Project #3 Challenge:

Issue: Staging Environment Instability The cost of manual “environment configuration” testing was very high. Need for test automation

Solution: Automated environment configuration testing

Automated test cases (using NUnit) were developed in ten groups (configurations they were trying to validate):

(1) folder permissions, (2) database stored procedures permissions, (3) services availability, (4) COM+ installation and access, (5) universal data links, (6) web configuration files, (7) IIS settings, (8) network and machine user membership, (9) global assembly cache, (10) database security.

Page 86: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

86Dr. Vahid Garousi

Selected Project #3 Solution: Automated environment configuration testing An example of the XML test case inputs and expected output

Page 87: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

87Dr. Vahid Garousi

Selected Project #3 Solution: automated build verification testing (BVT) Impact of the solution:

Page 88: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

88Dr. Vahid Garousi

Selected Project #3 Solution: automated build verification testing

Details in:

Page 89: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

89Dr. Vahid Garousi

Success stories in Turkey

Project 1 Industry partner: Yurtdışı Türkler ve Akraba Topluluklar Başkanlığı

(Department for Turks Abroad and Relative Societies) Challenge: The performance (response time) of the web application

became poor and non-responsive when many users used the system in high user loads, response time~50 seconds!

Multiple projects Industry partner: HAVELSAN (Hava Elektronik Sanayi, Aviation

Electornics Industries) Test automation for test group X Test automation for test group Y Test automation for test group Z Assessing and improving an in-house test automation framework for

test group Q Establishing a systematic, effective and efficient GQM-based

measurement program for the testing directorate Assessment and improvement of test process maturity using TMMI

[30] and TPI-Next [31] Bi-directional knowledge transfer from/to international venues and

organizations in the aviation industry

Page 90: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

90Dr. Vahid Garousi

Research in Atilim UniversityJan. 2014-Feb. 2015

• Established the System and Software Quality Engineering Research Group (SySoQual) in Atilim Uni.

• se.atilim.edu.tr/sysoqual• Students:

4 MSc students 10+ undergraduate students

• Provided several consulting R&D projects• Was involved in one ITEA2• Some of industry partners:

Page 91: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

91Dr. Vahid Garousi

Researcher's publication record Systematic Literature Review (SLR) and Systematic Mapping (SM)

papers, like “survey” papers

Page 92: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

92Dr. Vahid Garousi

Researcher's publication record What is in a Systematic Literature Review (SLR) and Systematic

Mapping (SM) paper? Let’s review this one…

Page 93: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

93Dr. Vahid Garousi

Page 94: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

94Dr. Vahid Garousi

The classification scheme developed and used in our study

Page 95: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

95Dr. Vahid Garousi

The classification scheme developed and used in our study

Page 96: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

96Dr. Vahid Garousi

Researcher's publication record Systematic Literature Review

(SLR) and Systematic Mapping (SM) papers, like “survey” papers

Page 97: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

97Dr. Vahid Garousi

Researcher's leadership record Involved as an organizing or program committee member in many top

international conference, such as ICST, ICSP, CSEE&T and the Turkish National Software Engineering Conference.

Page 98: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

98Dr. Vahid Garousi

A reminder of Software Engineering Software engineering is the study and an application of

engineering to the design, development, testing and maintenance of software.

Software Engineering is not just programming (development)!

Many people ask me “what language do you program in?” !

Project 1 Industry partner: Pason Systems Corporation,

Calgary, Canada Challenge: The company could not systematically

decide “when to automate testing” and “what test cases to automate”

Project 2 Industry partner: NovAtel Inc., Calgary, Canada Challenge: Huge amounts of effort had been spent

for developing and maintaining software documentation

Page 99: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

99Dr. Vahid Garousi

Selected Project #1 A decision support tool was developed for balancing manual software testing

versus test automation

Page 100: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

100Dr. Vahid Garousi

Company background

Page 101: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

101Dr. Vahid Garousi

Success stories in Canada Project 1

Industry partner: Pason Systems Corporation, Calgary, Canada Challenge: The company could not decide “when to automate testing”

and “what to automate”

Project 2 Industry partner: NovAtel Inc., Calgary, Canada Challenge: Huge amounts of effort had been spent for developing and

maintaining software documentation

Project 3 Industry partner: MR Control Systems International,

Calgary, Canada Challenge: The cost of manual testing was very high. Need for test

automation

Project 4 Industry partner: Alberta Energy Resources Conservation Board

(ERCB), Calgary, Canada Challenge: The cost of manual “environment configuration” testing

was very high. Need for test automation

Page 102: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

102Dr. Vahid Garousi

Selected Project #2 Industry partner: MR Control Systems International, Calgary, Canada.

Developing software for energy and process control (SCADA) SCADA: Supervisory Control and Data Acquisition Challenge: The cost of manual testing was very high. Need for test

automation System under test (SUT): named Rocket Had been tested manually during development, for 5 years

Page 103: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

103Dr. Vahid Garousi

Selected Project #2 Solution: Development and evaluation of automated unit and

functional testing infrastructure We proceeded with automated black-box Unit Testing (BBUT)

But it has challenges:• If we apply the equivalence classing, we will get 19,683 test cases for

only this function block. Bad news ;( • Challenge 1: Coding of test cases (in NUnit): Too much effort• Challenge 2: Coupling of test cases to test input data • Challenge 3: Manual generation of expected outputs (test oracle)

Page 104: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

104Dr. Vahid Garousi

Selected Project #2 Solution: Development and evaluation of automated unit and

functional testing infrastructure• One possible solution → Automated generation of NUnit test

code• We implemented a test tool

Page 105: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

105Dr. Vahid Garousi

Selected Project #2 Reminder: Test code is automatically generated, saving

many hours

Page 106: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

106Dr. Vahid Garousi

Return On Investment (ROI) of Test Automation•Cost and benefit drivers in the project:

Cost Drivers Benefit DriversCD 1: Development of the AutoBBUT tool

BD 1: Time saving and test repeatability – No need any more to conduct manual regression testing

CD 2: Maintenance of automated unit test suite

BD 2: Time saving - No need to manually develop the test code and some of the test oracles (expected outputs)

CD 3: Manual coding of some of the expected outputs (test oracles) in test code

BD 3: Detection of faults undetected in manual testing iterations

Page 107: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

107Dr. Vahid Garousi

In-depth Analysis of the ROI of Test Automation•Careful measurements were conducted•Summary: We could get a time saving of:

ROI = -120 hours (AutoBBUT’s development time)-3 hours (test code inspection and completion)+87 hours (initial development of manual test suite, if it was to be done)+87*6 hours (test code maintenance, since the system evolved 6 times)ROI = 486 hours = 60 man-days

Page 108: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

108Dr. Vahid Garousi

Resulting papers

Page 109: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

109Dr. Vahid Garousi

What we do (offer): Software Engineering Software engineering is the study and an application of

engineering to the specification, design, development, testing and maintenance of software systems.

Software Engineering is not just programming (development)

Page 110: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

110Dr. Vahid Garousi

Data collection techniques

Analysis of documentation usage logs using an automated tool…

1-Apr-12

1-Jan-12

1-Oct-11

1-Jul-11

1-Apr-11

1-Jan-11

1-Oct-10

1-Jul-10

1-Apr-10

1-Jan-10

1-Oct-09

1-Jul-09

1-Apr-09

1-Jan-09

1-Oct-08

1-Jul-08

1-Apr-08

1-Jan-08

1-Oct-07

1-Jul-07

D15673D13850D13680D13613D13612D13212D12974D12810D12694D12224D12218D11562D11551D11471D11452D11376D11308D11162D11064D09633

Access Time

Doc

No.

Distribution of Design Documents Accesses over Timeline (including all revisions)

File server

Automated tool

Page 111: Industry-academia collaborations in software engineering research: Experience from Canada and Turkey

111Dr. Vahid Garousi

Hacettepe University Software Engineering (HUSE) Research areas:

Software Engineering, in general Software testing Software requirements, software

maintenance and software documentation

Empirical studies and experimentation in software engineering

Search-based Software Engineering (SBSE)

Software engineering education research: testing education in particular

Software process improvement Software metrics Process maturity, attributes and

performance Healthcare IT and process analytics