Movatterモバイル変換


[0]ホーム

URL:


Ivano Malavolta, profile picture
Uploaded byIvano Malavolta
1,549 views

[2016/2017] RESEARCH in software engineering

Ivano Malavolta discusses various aspects of software engineering research, emphasizing the importance of empirical methods, architectural modeling, and collaboration. The document outlines course structures, homework tasks, and specific research themes, as well as the distinction between software engineering and computer science. Additionally, it presents findings from a study on hybrid mobile apps, highlighting user perceptions and performance comparisons between hybrid and native applications.

Related topics:

Embed presentation

Downloaded 47 times
Ivano MalavoltaRESEARCHin software engineeringVRIJEUNIVERSITEITAMSTERDAM
HelloEmpirical software engineering+ Software Architecture + MDE+applied toComplex systemsAutonomous robotsMobile-enabled systemsIf you think good architecture is expensive,try bad architecture.... Brian Foote and Joseph Yoder
Course overview (from my perspective)Module name #hours InstructorIntroduction to the course 2 InverardiSE principles, Eclipse IDE, MDE 8 IovinoResearch in software engineering 2 MalavoltaCollaborative software development 2 MalavoltaSoftware architecture 6 MalavoltaModern development paradigms 2 MalavoltaCode generation, applications of MDE, LAB, etc. 10 IovinoPrinciples of software testing 4 BertolinoHomework 1Christmas breakHomework 2
Homework 1Tasks• create an AADL specification describing the architecture of a chosen system• write an Acceleo program that takes as input the AADL model and producesan HTML5 report or other artifact• write a report describing the performed activitiesGoals• to understand what are the advantages of SE principles like abstraction andseparation of concerns• to concretely understand what architectural modeling means• to be exposed to concerns and issues related to dependability• to understand how to use MDE techniques like model transformations andcode generatorsTentative deadline20/12/2016
Homework 2Tasks• pick a set of articles related to a chosen research theme• carefully read them and explore the state of the art about the researchtheme• write a report about your findings• make a presentation to the classroomGoals• to study a specific area of software engineering that may be of interest toyou• to design a scientific paper• to train yourself in reading and writing scientific papersTentative deadline20/01/2017Research themes willbe available soon
RoadmapSoftware engineering researchEmpirical strategiesWriting good research papers
Software engineering research
The application of engineering to softwareWe deal with software systems that are:– large and complex– built by teams– exist in many versions– last many years– undergo changesProgramming skills are not enough“Physicist example”Software engineeringProgrammer:complete programSoftware engineer:software component
Software engineering VScomputer scienceComputer Science– Computability, algorithms and complexity, programminglanguages, data structures, databases, artificial intelligence,etc.Software Engineering– The APPLICATION of computer science, mathematics,project management to build high quality software
My vision about researchResearchTheory Industrial projectsProgramming ExperimentationIvano Malavolta. Research Statement. November 2013. http://goo.gl/99N5AS
Research objectiveKey objectives• Quality àutility + functional correctness• Cost à development + use• Timeliness à good-enough result, when it’s neededAddress problems that affect practical softwareReal worldpractical PROBLEMReal worldpractical SOLUTION?
Research objective: example
Example
Research strategyReal worldpractical PROBLEMReal worldpractical SOLUTIONResearch settingIDEALIZED PROBLEMResearch settingSOLUTION toIDEALIZED PROBLEMResearch product(technique, method,model, system, …)
Research product: example
Validation of the resultsReal worldpractical PROBLEMReal worldpractical SOLUTIONResearch settingIDEALIZED PROBLEMResearch settingSOLUTION toIDEALIZED PROBLEMResearch product(technique, method,model, system, …)
Validation of the resultsReal worldpractical PROBLEMReal worldpractical SOLUTIONResearch settingIDEALIZED PROBLEMResearch settingSOLUTION toIDEALIZED PROBLEMResearch product(technique, method,model, system, …)Validation task 1Does the productsolve the idealized problem?
Validation of the resultsReal worldpractical PROBLEMReal worldpractical SOLUTIONResearch settingIDEALIZED PROBLEMResearch settingSOLUTION toIDEALIZED PROBLEMResearch product(technique, method,model, system, …)Validation task 1Does the productsolve the idealized problem?Validation task 2Does the producthelp to solve the practical problem?
Validation of the results: example
SE research processResearchquestionsResearchvalidationResearchresults
Types of research questionsFEASIBILITYCHARACTERIZATIONMETHOD/MEANSGENERALIZATIONDISCRIMINATIONDoes X exist, and what is it?Is it possible to do X at all?What are the characteristics of X?What exactly do we mean by X?What are the varieties of X, and how arethey related?How can we do X?What is a better way to do X?How can we automate doing X?Is X always true of Y?Given X, what will Y be?How do I decide whether X or Y?
LAB
SE research processResearchquestionsResearchresultsResearchvalidation
Research resultsReal worldpractical PROBLEMReal worldpractical SOLUTIONResearch settingIDEALIZED PROBLEMResearch product(technique, method,model, system, …)
Types of research resultsQUALITATIVE &DESCRIPTIVEMODELSTECHNIQUESSYSTEMEMPIRICALMODELSANALYTICMODELSReport interesting observationsGeneralize from (real-life) examplesStructure a problem area; ask good questionsInvent new ways to do some tasks, includingimplementation techniquesDevelop ways to select from alternativesEmbody result in a system, using the systemboth for insight and as carrier of resultsDevelop empirical predictive models fromobserved dataDevelop structural models that permit formalanalysis
LAB
SE research processResearchquestionsResearchresultsResearchvalidation
Research validationReal worldpractical PROBLEMReal worldpractical SOLUTIONResearch settingIDEALIZED PROBLEMResearch settingSOLUTION toIDEALIZED PROBLEMResearch product(technique, method,model, system, …)Validation task 1Does the productsolve the idealized problem?Validation task 2Does the resulthelp to solve the practical problem?
Types of research validationPERSUASION I thought hard about this, and I believe…IMPLEMENTATION Here is a prototype of a system that…EVALUATION Given these criteria, the object rates as…ANALYSIS Given the facts, here are consequences…Formal model Rigorous derivation and proofEmpirical model Data on use in controlled situationEXPERIENCE Report on use in practiceQualitative model NarrativeDecision criteria Comparison of systems in actual useEmpirical model Data, usually statistical, on practice
LAB
Building blocks for researchFeasibilityCharacterizationMethod/meansGeneralizationSelectionQualitative modelTechniqueSystemEmpirical modelAnalytic modelPersuasionImplementationEvaluationAnalysisExperienceQuestion Result Validation
Is this a good plan?FeasibilityCharacterizationMethod/meansGeneralizationSelectionQualitative modelTechniqueSystemEmpirical modelAnalytic modelPersuasionImplementationEvaluationAnalysisExperienceQuestion Result Validation
A common good planFeasibilityCharacterizationCan X bedone better?GeneralizationSelectionQualitative modelTechniqueBuild YEmpirical modelAnalytic modelPersuasionImplementationMeasure Y,compare to XAnalysisExperienceQuestion Result Validation
Is this a good plan?FeasibilityCharacterizationMethod/meansGeneralizationSelectionQualitative modelTechniqueSystemEmpirical modelAnalytic modelPersuasionImplementationEvaluationAnalysisExperienceQuestion Result Validation
A common, but bad, planFeasibilityCharacterizationMethod/meansGeneralizationSelectionQualitative modelTechniqueSystemEmpirical modelAnalytic modelPersuasionImplementationEvaluationAnalysisExperienceQuestion Result Validation
Two other good plansCan X be doneat all?CharacterizationIs X alwaystrue of Y?SelectionQualitative modelTechniqueBuild a Ythat does XEmpirical modelFormally modelY, prove X“Look it works!”ImplementationCheck proofExperienceQuestion Result ValidationMethod/means Evaluation
LABChoose a research paper and try to map it into the buildingblocks of SE researchFeasibilityCharacterizationMethod/meansGeneralizationSelectionQualitative modelTechniqueSystemEmpirical modelAnalytic modelPersuasionImplementationEvaluationAnalysisExperienceQuestion Result Validation
“NO-NO”s for software engineeringresearch• Assume that a result demonstrated fro a 10K-line systemwill scale to a 500K-line system• Expect everyone to do things “my way”• Believe functional correctness is sufficient• Assume the existence of a complete, consistentspecification• Just build things without extracting enduring lessons• Devise a solution in ignorance of how the world reallyworks
How do you trust a research then?1. What are the problems from the real world?– Are they “real” and widespread?2. Are the solutions general? What are their limits?Real worldpractical PROBLEMReal worldpractical SOLUTION?EMPIRICAL SOFTWARE ENGINEERING
Empirical strategies**We will have an advanced course on this topic
Empirical software engineeringScientific use of quantitative and qualitative data to– understand and– improvesoftware products and software development processesData is central to address any research questionIssues related to validity addressed continuously[Victor Basili]
Intuition• You apply the scientific method– ask yourself a question– observe a phenomenon– formulate an hypothesis– build a prediction– setup an experiment– perform analysis on your results
ExampleEnd Users’ Perception of Hybrid Mobile Appsin the Google Play StoreIvano Malavolta, Stefano RubertoTommaso Soru, Valerio TerragniIvano MalavoltaGran Sasso Science Institute (Italy)ivano.malavolta@gssi.infn.itABSTRACTRecently, companies like IBM and Adobe and a growingcommunity of developers advocate hybrid mobile appsdevelopment as a possible solution to mobile platformsfragmentation. Hybrid mobile apps are consistent acrossplatforms and built on web standards.In this study, we present an empirical investigation into mobilehybrid apps. Our goal is to identify and analyse the traits anddistinctions of publicly available hybrid mobile apps from endusers’ perspective. The study has been conducted by mining11,917 free apps and 3,041,315 reviews from the Google PlayStore, and analyzing them from the end users’ perceptionperspective. The results of this study build an objective andreproducible snapshot about how hybrid mobile development isperforming “in the wild” in real projects, thus establishing a basefor future methods and techniques for developing hybrid mobileapps.FINDINGS•  hybrid development frameworks are perceived as bettersuited for data-intensive mobile apps, whereas theyperform poorly when dealing with low-level, platform-specific features•  end users value hybrid and native apps similarly•  in some categories, end users perceive native apps betterthan hybrid apps with respect to performance and thepresence of bugsRESEARCH QUESTIONSWhat is the difference between hybrid and native mobile appsas perceived by end users?– RQ1: What is the difference in the perceived value betweenhybrid and native mobile apps?– RQ2: What is the difference in the perceived performancebetween hybrid and native mobile apps?– RQ3: What is the difference in the perceived bugginessbetween hybrid and native mobile apps?– RQ4: What is the difference in the initial download overheadbetween hybrid and native mobile apps?
Dimensions of empirical studies“In the lab” versus “in the wild” studiesQualitative versus quantitative studiesPrimary versus secondary studies
“In the lab” versus “in the wild”studiesCommon “in the lab” methods– Controlled experiments– Literature reviews– SimulationsCommon “in the wild” methods– Quasi-experiments– Case studies– Survey research– Ethnographies– Action research
Examples
Qualitative versus quantitativestudiesQualitative researchstudying objects in their natural setting and letting thefindings emerge from the observations– inductive process– the subject is the personQuantitative researchquantifying a relationship with the aim to identify a cause-effect relationship– fixed implied factors– focus on collected quantitative data à promotes comparison andstatistical analysesThey arecomplementary
Primary versus secondary studiesPrimary studiesempirical studies in which we directly make measurementsor observations about the objects of interest, whether bysurveys, experiments, case studies, etc.Secondary studiesempirical studies that do not generate any data from directmeasurements, but:– analyze a set of primary studies– usually seek to aggregate the results from these in order toprovide stronger forms of evidence about a phenomenon
Examples
…and what about this?
Types of empirical studies• Survey• Case study• Experiment
SurveyDef: a system for collecting information from or aboutpeople to describe, compare or explain their knowledge,attitudes and behaviorOften an investigation performed in retrospectInterviews and questionnaires are the primary means ofgathering qualitative or quantitative dataThese are done through taking a sample which isrepresentative from the population to be studied
Example: our survey on arch. languages1. ALs Identification– Definition of a preliminary set of ALs– Systematic search2. Planning the Survey3. Designing the survey4. Analyzing the Data– vertical analysis (and coding) + horizontal analysis
Case studyDef: an empirical enquiry to investigate one instance (or asmall number of instances) of a contemporary softwareengineering phenomenon within its real-life context,especially when the boundary between phenomenon andcontext cannot be clearly specifiedObservational studyData collected to track a specific attribute or establishingrelationships between different attributesMultivariate statistical analysis is often applied
Example
ExperimentDef: an empirical enquiry that manipulates one factor orvariable of the studied setting1. Identify and understand the variables that play a role in softwaredevelopment, and the connections between variables2. Learn cause-effect relationships between the developmentprocess and the obtained products3. Establish laws and best practices about software construction
Experimentprocess
Examplehttp://dl.acm.org/citation.cfm?id=2491411.2491428
Examples of empirical studies in SE• Nejati, Javad, and Aruna Balasubramanian. "An in-depth study ofmobile browser performance." Proceedings of the 25th InternationalConference on World Wide Web. International World Wide WebConferences Steering Committee, 2016.• Hassan, Safwat, Weiyi Shang, and Ahmed E. Hassan. "An empiricalstudy of emergency updates for top android mobile apps." EmpiricalSoftware Engineering (2016): 1-42.• Tufano, Michele, et al. "An empirical investigation into the nature oftest smells." Proceedings of the 31st IEEE/ACM InternationalConference on Automated Software Engineering. ACM, 2016.• Linares-Vásquez, Mario, et al. "Mining energy-greedy api usagepatterns in android apps: an empirical study." Proceedings of the 11thWorking Conference on Mining Software Repositories. ACM, 2014.• Procaccianti, Giuseppe, Héctor Fernández, and Patricia Lago."Empirical evaluation of two best practices for energy-efficientsoftware development." Journal of Systems and Software 117 (2016):185-198.
How to have an impact in reality?This is called technology transfer
Writing good softwareengineering papers
Let’s reconsider our SE researchprocess…ResearchquestionsResearchresultsResearchvalidation
Research questionsThe program committee looks for– a clear statement of the specific problem you solved– the question about software development you answered– an explanation of how the answer will help solve an importantsoftware engineering problemYou'll devote most of your paper to describing your result,but you should begin by explaining what question youare answering and why the answer mattersResearchquestions
Research resultsExplain precisely– what you have contributed to the catalogue of softwareengineering knowledge– how this is useful beyond your own project
Why should the reader believe yourresult?Show evidence that your result• is valid• helps to solve the problem
A couple of words on the abstract ofa paper• People judge papers by their abstracts– usually decide whether to read the whole paper based onabstract• It's important for the abstract to tell the whole story– background and context– goals– method– results– conclusion• Often it is the only part freely accessible
Example of an abstract structure:1. Two or three sentences about the current state of the art,identifying a particular problem2. One or two sentences about what this paper contributes toimproving the situation3. One or two sentences about the specific result of the paperand the main idea behind it4. A sentence about how the result is demonstrated ordefended
Coming back to the initial example…State ofthe artOverallcontributionSpecificresultsValidation✗ ✓✓✗ ✗
Second try…State ofthe artOverallcontributionSpecificresultsValidation
What this lecture means to you?Software engineering != computer scienceYou now know how to carry on research in SEDon’t focus on the “size” of the problem, but on– the relevance (the practical, but also the theoretical!)– the accuracy in the investigation (problem and evaluationresearch)When conducting empirical research, don’t make claimsyou cannot eventually measure
Suggested readings about scientificwriting• Shaw, M. (2003), Writing Good Software Engineering ResearchPapers, in Lori A. Clarke; Laurie Dillon & Walter F. Tichy, ed., 'ICSE' ,IEEE Computer Society, , pp. 726-737 .• Shaw, M. (2002), 'What makes good research in softwareengineering?', STTT 4 (1) , 1-7 .
Referenceshttp://link.springer.com/book/10.1007%2F978-3-642-29044-2
ContactIvano Malavolta |Assistant professorVrije Universiteit Amsterdamiivanooi.malavolta@vu.nlwww.ivanomalavolta.com
AcknowledgementSome parts of this lecture are inspired by:• Ivica Crnkovic’s lecture on software engineering research atMälardalen University (Sweden)• Matthias Galster ‘s tutorial titled “Introduction to Empirical ResearchMethodologies” at ECSA 2014

Recommended

PDF
Wykonywanie protez szkieletowych
DOCX
Apa itu cpkb
PPTX
4 - Interaksi Antar Obat 2023.pptx
PDF
1. Stosowanie przepisów bezpieczeństwa i higieny pracy, ochrony przeciwpożaro...
PPT
Prof. A. Fudholi (Teknologi Farmasi).ppt
PPTX
Farmakologi Obat Batuk.pptx
PPTX
swamedikasi nyeri dan demam
PPTX
4 QC.pptx
PDF
7. Analizowanie procesów technologicznych produkcji leków
PDF
Analizowanie budowy, fizjologii i patofizjologii narządu żucia
PPTX
CPKB.pptx
PDF
8. Opracowywanie planu profilaktyczno-leczniczego
PPTX
Dispensing obat part 1 indo.pptx
PPT
cpob.ppt
PDF
Презентация переработки рыбы
PDF
Przestrzeganie przepisów bezpieczeństwa i higieny pracy, ochrony przeciwpożar...
PPTX
penyampaian informasi obat h.Menyebutkan dan menjelaskan Konsep Dasar Pelayan...
PPT
Bhpstomatologia
PDF
Preparación de Extractos de Cannabis 23-07.pdf
PPTX
Tata cara pelaporan Efek Samping Obat Tradisional
PPTX
Farmakovigilans.pptx
PDF
2. Nawiązywanie i utrzymywanie kontaktów społecznych
PPT
cpob (1).ppt
PDF
[2016/2017] AADL (Architecture Analysis and Design Language)
PDF
[2016/2017] Architectural languages
PDF
[2016/2017] Introduction to Software Architecture
PDF
Modeling behaviour via UML state machines [Software Modeling] [Computer Scie...
PDF
[2016/2017] Modern development paradigms
PDF
Structure modeling with UML [Software Modeling] [Computer Science] [Vrije Uni...

More Related Content

PDF
Wykonywanie protez szkieletowych
DOCX
Apa itu cpkb
PPTX
4 - Interaksi Antar Obat 2023.pptx
PDF
1. Stosowanie przepisów bezpieczeństwa i higieny pracy, ochrony przeciwpożaro...
PPT
Prof. A. Fudholi (Teknologi Farmasi).ppt
PPTX
Farmakologi Obat Batuk.pptx
PPTX
swamedikasi nyeri dan demam
PPTX
4 QC.pptx
Wykonywanie protez szkieletowych
Apa itu cpkb
4 - Interaksi Antar Obat 2023.pptx
1. Stosowanie przepisów bezpieczeństwa i higieny pracy, ochrony przeciwpożaro...
Prof. A. Fudholi (Teknologi Farmasi).ppt
Farmakologi Obat Batuk.pptx
swamedikasi nyeri dan demam
4 QC.pptx

What's hot

PDF
7. Analizowanie procesów technologicznych produkcji leków
PDF
Analizowanie budowy, fizjologii i patofizjologii narządu żucia
PPTX
CPKB.pptx
PDF
8. Opracowywanie planu profilaktyczno-leczniczego
PPTX
Dispensing obat part 1 indo.pptx
PPT
cpob.ppt
PDF
Презентация переработки рыбы
PDF
Przestrzeganie przepisów bezpieczeństwa i higieny pracy, ochrony przeciwpożar...
PPTX
penyampaian informasi obat h.Menyebutkan dan menjelaskan Konsep Dasar Pelayan...
PPT
Bhpstomatologia
PDF
Preparación de Extractos de Cannabis 23-07.pdf
PPTX
Tata cara pelaporan Efek Samping Obat Tradisional
PPTX
Farmakovigilans.pptx
PDF
2. Nawiązywanie i utrzymywanie kontaktów społecznych
PPT
cpob (1).ppt
7. Analizowanie procesów technologicznych produkcji leków
Analizowanie budowy, fizjologii i patofizjologii narządu żucia
CPKB.pptx
8. Opracowywanie planu profilaktyczno-leczniczego
Dispensing obat part 1 indo.pptx
cpob.ppt
Презентация переработки рыбы
Przestrzeganie przepisów bezpieczeństwa i higieny pracy, ochrony przeciwpożar...
penyampaian informasi obat h.Menyebutkan dan menjelaskan Konsep Dasar Pelayan...
Bhpstomatologia
Preparación de Extractos de Cannabis 23-07.pdf
Tata cara pelaporan Efek Samping Obat Tradisional
Farmakovigilans.pptx
2. Nawiązywanie i utrzymywanie kontaktów społecznych
cpob (1).ppt

Viewers also liked

PDF
[2016/2017] AADL (Architecture Analysis and Design Language)
PDF
[2016/2017] Architectural languages
PDF
[2016/2017] Introduction to Software Architecture
PDF
Modeling behaviour via UML state machines [Software Modeling] [Computer Scie...
PDF
[2016/2017] Modern development paradigms
PDF
Structure modeling with UML [Software Modeling] [Computer Science] [Vrije Uni...
PDF
Object-oriented design patterns in UML [Software Modeling] [Computer Science...
PDF
Modeling objects interaction via UML sequence diagrams [Software Modeling] [...
PDF
Unbearable Test Code Smell
PDF
[2015/2016] RESEARCH in software engineering
PDF
[2015/2016] Architectural languages
PDF
[2015/2016] JavaScript
PDF
The road ahead for architectural languages [ACVI 2016]
PDF
Sitemaps & Wireframing
PDF
PhoneGap
PDF
Javascript and jQuery for Mobile
PDF
Microservices in the Enterprise: A Research Study and Reference Architecture
PDF
The Green Lab - [09 B] Experiment validity
PDF
The Green Lab - [04 B] [PWA] Experiment setup
PDF
HTML5 and CSS3 Refresher
[2016/2017] AADL (Architecture Analysis and Design Language)
[2016/2017] Architectural languages
[2016/2017] Introduction to Software Architecture
Modeling behaviour via UML state machines [Software Modeling] [Computer Scie...
[2016/2017] Modern development paradigms
Structure modeling with UML [Software Modeling] [Computer Science] [Vrije Uni...
Object-oriented design patterns in UML [Software Modeling] [Computer Science...
Modeling objects interaction via UML sequence diagrams [Software Modeling] [...
Unbearable Test Code Smell
[2015/2016] RESEARCH in software engineering
[2015/2016] Architectural languages
[2015/2016] JavaScript
The road ahead for architectural languages [ACVI 2016]
Sitemaps & Wireframing
PhoneGap
Javascript and jQuery for Mobile
Microservices in the Enterprise: A Research Study and Reference Architecture
The Green Lab - [09 B] Experiment validity
The Green Lab - [04 B] [PWA] Experiment setup
HTML5 and CSS3 Refresher

Similar to [2016/2017] RESEARCH in software engineering

PDF
[2017/2018] RESEARCH in software engineering
PDF
RESEARCH in software engineering
PDF
Research-Based Innovation with Industry: Project Experience and Lessons Learned
PDF
Software Engineering Research: Leading a Double-Agent Life.
PDF
Lionel Briand ICSM 2011 Keynote
PDF
IRJET- Scientific-Theoretical Basics of Software Engineering
PDF
Empirical Methods in Software Engineering - an Overview
PPTX
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
PPT
Software engineering
PDF
[2015/2016] Software systems engineering PRINCIPLES
DOCX
1How to Perform ExperimentsBasic Concepts CSCI .docx
PPT
Software engineering new slides carrerr.ppt
PPTX
Slides môn Công nghệ phần mềm Software Engineering
PPTX
5-empirical investigation-13-08-2024.pptx
PPT
CSE320 SOFTWARE ENGINEERING Lecture01 (1).ppt
PPTX
Bertrand Meyer - Challenges in computing research at SIT Insights in Technolo...
DOCX
software engineering notes pdf jntuh R18
PDF
A practical guide for using Statistical Tests to assess Randomized Algorithms...
PDF
Software Evaluation
[2017/2018] RESEARCH in software engineering
RESEARCH in software engineering
Research-Based Innovation with Industry: Project Experience and Lessons Learned
Software Engineering Research: Leading a Double-Agent Life.
Lionel Briand ICSM 2011 Keynote
IRJET- Scientific-Theoretical Basics of Software Engineering
Empirical Methods in Software Engineering - an Overview
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
Software engineering
[2015/2016] Software systems engineering PRINCIPLES
1How to Perform ExperimentsBasic Concepts CSCI .docx
Software engineering new slides carrerr.ppt
Slides môn Công nghệ phần mềm Software Engineering
5-empirical investigation-13-08-2024.pptx
CSE320 SOFTWARE ENGINEERING Lecture01 (1).ppt
Bertrand Meyer - Challenges in computing research at SIT Insights in Technolo...
software engineering notes pdf jntuh R18
A practical guide for using Statistical Tests to assess Randomized Algorithms...
Software Evaluation

More from Ivano Malavolta

PDF
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...
PDF
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
PDF
The H2020 experience
PDF
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
PDF
Software sustainability and Green IT
PDF
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
PDF
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
PDF
Collaborative Model-Driven Software Engineering: a Classification Framework a...
PDF
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
PDF
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
PDF
Modeling behaviour via UML state machines [Software Design] [Computer Science...
PDF
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
PDF
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
PDF
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
PDF
Modeling and abstraction, software development process [Software Design] [Com...
PDF
[2017/2018] Agile development
PDF
Reconstructing microservice-based architectures
PDF
[2017/2018] AADL - Architecture Analysis and Design Language
PDF
[2017/2018] Architectural languages
PDF
[2017/2018] Introduction to Software Architecture
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
The H2020 experience
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
Software sustainability and Green IT
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Modeling and abstraction, software development process [Software Design] [Com...
[2017/2018] Agile development
Reconstructing microservice-based architectures
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] Architectural languages
[2017/2018] Introduction to Software Architecture

Recently uploaded

PPTX
Working Session — Build a Document Understanding Automation Using an OOTB ML ...
PPTX
TechSprint Inauguration at SJB Institute of Technology held on 18 December 2025
PDF
What Is the Azure AI Foundry and Why Does It Matter for Enterprises?
PDF
Poročilo odbora CIS (CH08873) za leto 2025 na letni skupščini IEEE Slovenija ...
PDF
Track Phone Location via Number (2026)_ What Actually Works, What’s a Scam, a...
PDF
Mount File Systems using UUID and Label - RHCSA (RH134).pdf
PDF
UiPath Automation Developer Associate Training Series 2026 - Session 1
PPTX
Retrieval Augmented Generation- The Synergistic Power of Prompt Engineering
PDF
OpenCharacter AI Reviews: Features, Plans, and Best Alternative
PPTX
Career-Opportunities in Industrial Arts Grade 8 PPT Lesson 2
PDF
Writing GPU-Ready AI Models in Pure Java with Babylon
PDF
Configure and Manage Systemd Timers- RHCSA (RH134).pdf
PDF
Safer’s Picks: The 5 FME Transformers You Didn’t Know You Needed
PDF
Why Many Smart Device Platforms Fail to Scale?
PDF
ICT500 - CRITICAL AND CREATIVE THINKING FOR INFORMATION TECHNOLOGY SOLUTIONS:...
PDF
Rustici Software: eLearning standards in the age of AI
PDF
Chapter 4 Network Security in computer security
PDF
Traditional-Security-Models-No-Longer-Work.pptx (1).pdf
PDF
Understanding Foldable 3-Wheel Electric Scooters for Everyday Use
PPTX
2026 SCORM Troubleshooting Rustici + dominKnow.pptx
Working Session — Build a Document Understanding Automation Using an OOTB ML ...
TechSprint Inauguration at SJB Institute of Technology held on 18 December 2025
What Is the Azure AI Foundry and Why Does It Matter for Enterprises?
Poročilo odbora CIS (CH08873) za leto 2025 na letni skupščini IEEE Slovenija ...
Track Phone Location via Number (2026)_ What Actually Works, What’s a Scam, a...
Mount File Systems using UUID and Label - RHCSA (RH134).pdf
UiPath Automation Developer Associate Training Series 2026 - Session 1
Retrieval Augmented Generation- The Synergistic Power of Prompt Engineering
OpenCharacter AI Reviews: Features, Plans, and Best Alternative
Career-Opportunities in Industrial Arts Grade 8 PPT Lesson 2
Writing GPU-Ready AI Models in Pure Java with Babylon
Configure and Manage Systemd Timers- RHCSA (RH134).pdf
Safer’s Picks: The 5 FME Transformers You Didn’t Know You Needed
Why Many Smart Device Platforms Fail to Scale?
ICT500 - CRITICAL AND CREATIVE THINKING FOR INFORMATION TECHNOLOGY SOLUTIONS:...
Rustici Software: eLearning standards in the age of AI
Chapter 4 Network Security in computer security
Traditional-Security-Models-No-Longer-Work.pptx (1).pdf
Understanding Foldable 3-Wheel Electric Scooters for Everyday Use
2026 SCORM Troubleshooting Rustici + dominKnow.pptx

[2016/2017] RESEARCH in software engineering

  • 1.
    Ivano MalavoltaRESEARCHin softwareengineeringVRIJEUNIVERSITEITAMSTERDAM
  • 3.
    HelloEmpirical software engineering+Software Architecture + MDE+applied toComplex systemsAutonomous robotsMobile-enabled systemsIf you think good architecture is expensive,try bad architecture.... Brian Foote and Joseph Yoder
  • 4.
    Course overview (frommy perspective)Module name #hours InstructorIntroduction to the course 2 InverardiSE principles, Eclipse IDE, MDE 8 IovinoResearch in software engineering 2 MalavoltaCollaborative software development 2 MalavoltaSoftware architecture 6 MalavoltaModern development paradigms 2 MalavoltaCode generation, applications of MDE, LAB, etc. 10 IovinoPrinciples of software testing 4 BertolinoHomework 1Christmas breakHomework 2
  • 5.
    Homework 1Tasks• createan AADL specification describing the architecture of a chosen system• write an Acceleo program that takes as input the AADL model and producesan HTML5 report or other artifact• write a report describing the performed activitiesGoals• to understand what are the advantages of SE principles like abstraction andseparation of concerns• to concretely understand what architectural modeling means• to be exposed to concerns and issues related to dependability• to understand how to use MDE techniques like model transformations andcode generatorsTentative deadline20/12/2016
  • 6.
    Homework 2Tasks• picka set of articles related to a chosen research theme• carefully read them and explore the state of the art about the researchtheme• write a report about your findings• make a presentation to the classroomGoals• to study a specific area of software engineering that may be of interest toyou• to design a scientific paper• to train yourself in reading and writing scientific papersTentative deadline20/01/2017Research themes willbe available soon
  • 7.
    RoadmapSoftware engineering researchEmpiricalstrategiesWriting good research papers
  • 8.
  • 9.
    The application ofengineering to softwareWe deal with software systems that are:– large and complex– built by teams– exist in many versions– last many years– undergo changesProgramming skills are not enough“Physicist example”Software engineeringProgrammer:complete programSoftware engineer:software component
  • 10.
    Software engineering VScomputerscienceComputer Science– Computability, algorithms and complexity, programminglanguages, data structures, databases, artificial intelligence,etc.Software Engineering– The APPLICATION of computer science, mathematics,project management to build high quality software
  • 11.
    My vision aboutresearchResearchTheory Industrial projectsProgramming ExperimentationIvano Malavolta. Research Statement. November 2013. http://goo.gl/99N5AS
  • 12.
    Research objectiveKey objectives•Quality àutility + functional correctness• Cost à development + use• Timeliness à good-enough result, when it’s neededAddress problems that affect practical softwareReal worldpractical PROBLEMReal worldpractical SOLUTION?
  • 13.
  • 14.
  • 15.
    Research strategyReal worldpracticalPROBLEMReal worldpractical SOLUTIONResearch settingIDEALIZED PROBLEMResearch settingSOLUTION toIDEALIZED PROBLEMResearch product(technique, method,model, system, …)
  • 16.
  • 17.
    Validation of theresultsReal worldpractical PROBLEMReal worldpractical SOLUTIONResearch settingIDEALIZED PROBLEMResearch settingSOLUTION toIDEALIZED PROBLEMResearch product(technique, method,model, system, …)
  • 18.
    Validation of theresultsReal worldpractical PROBLEMReal worldpractical SOLUTIONResearch settingIDEALIZED PROBLEMResearch settingSOLUTION toIDEALIZED PROBLEMResearch product(technique, method,model, system, …)Validation task 1Does the productsolve the idealized problem?
  • 19.
    Validation of theresultsReal worldpractical PROBLEMReal worldpractical SOLUTIONResearch settingIDEALIZED PROBLEMResearch settingSOLUTION toIDEALIZED PROBLEMResearch product(technique, method,model, system, …)Validation task 1Does the productsolve the idealized problem?Validation task 2Does the producthelp to solve the practical problem?
  • 20.
    Validation of theresults: example
  • 21.
  • 22.
    Types of researchquestionsFEASIBILITYCHARACTERIZATIONMETHOD/MEANSGENERALIZATIONDISCRIMINATIONDoes X exist, and what is it?Is it possible to do X at all?What are the characteristics of X?What exactly do we mean by X?What are the varieties of X, and how arethey related?How can we do X?What is a better way to do X?How can we automate doing X?Is X always true of Y?Given X, what will Y be?How do I decide whether X or Y?
  • 23.
  • 24.
  • 25.
    Research resultsReal worldpracticalPROBLEMReal worldpractical SOLUTIONResearch settingIDEALIZED PROBLEMResearch product(technique, method,model, system, …)
  • 26.
    Types of researchresultsQUALITATIVE &DESCRIPTIVEMODELSTECHNIQUESSYSTEMEMPIRICALMODELSANALYTICMODELSReport interesting observationsGeneralize from (real-life) examplesStructure a problem area; ask good questionsInvent new ways to do some tasks, includingimplementation techniquesDevelop ways to select from alternativesEmbody result in a system, using the systemboth for insight and as carrier of resultsDevelop empirical predictive models fromobserved dataDevelop structural models that permit formalanalysis
  • 27.
  • 28.
  • 29.
    Research validationReal worldpracticalPROBLEMReal worldpractical SOLUTIONResearch settingIDEALIZED PROBLEMResearch settingSOLUTION toIDEALIZED PROBLEMResearch product(technique, method,model, system, …)Validation task 1Does the productsolve the idealized problem?Validation task 2Does the resulthelp to solve the practical problem?
  • 30.
    Types of researchvalidationPERSUASION I thought hard about this, and I believe…IMPLEMENTATION Here is a prototype of a system that…EVALUATION Given these criteria, the object rates as…ANALYSIS Given the facts, here are consequences…Formal model Rigorous derivation and proofEmpirical model Data on use in controlled situationEXPERIENCE Report on use in practiceQualitative model NarrativeDecision criteria Comparison of systems in actual useEmpirical model Data, usually statistical, on practice
  • 31.
  • 32.
    Building blocks forresearchFeasibilityCharacterizationMethod/meansGeneralizationSelectionQualitative modelTechniqueSystemEmpirical modelAnalytic modelPersuasionImplementationEvaluationAnalysisExperienceQuestion Result Validation
  • 33.
    Is this agood plan?FeasibilityCharacterizationMethod/meansGeneralizationSelectionQualitative modelTechniqueSystemEmpirical modelAnalytic modelPersuasionImplementationEvaluationAnalysisExperienceQuestion Result Validation
  • 34.
    A common goodplanFeasibilityCharacterizationCan X bedone better?GeneralizationSelectionQualitative modelTechniqueBuild YEmpirical modelAnalytic modelPersuasionImplementationMeasure Y,compare to XAnalysisExperienceQuestion Result Validation
  • 35.
    Is this agood plan?FeasibilityCharacterizationMethod/meansGeneralizationSelectionQualitative modelTechniqueSystemEmpirical modelAnalytic modelPersuasionImplementationEvaluationAnalysisExperienceQuestion Result Validation
  • 36.
    A common, butbad, planFeasibilityCharacterizationMethod/meansGeneralizationSelectionQualitative modelTechniqueSystemEmpirical modelAnalytic modelPersuasionImplementationEvaluationAnalysisExperienceQuestion Result Validation
  • 37.
    Two other goodplansCan X be doneat all?CharacterizationIs X alwaystrue of Y?SelectionQualitative modelTechniqueBuild a Ythat does XEmpirical modelFormally modelY, prove X“Look it works!”ImplementationCheck proofExperienceQuestion Result ValidationMethod/means Evaluation
  • 38.
    LABChoose a researchpaper and try to map it into the buildingblocks of SE researchFeasibilityCharacterizationMethod/meansGeneralizationSelectionQualitative modelTechniqueSystemEmpirical modelAnalytic modelPersuasionImplementationEvaluationAnalysisExperienceQuestion Result Validation
  • 39.
    “NO-NO”s for softwareengineeringresearch• Assume that a result demonstrated fro a 10K-line systemwill scale to a 500K-line system• Expect everyone to do things “my way”• Believe functional correctness is sufficient• Assume the existence of a complete, consistentspecification• Just build things without extracting enduring lessons• Devise a solution in ignorance of how the world reallyworks
  • 40.
    How do youtrust a research then?1. What are the problems from the real world?– Are they “real” and widespread?2. Are the solutions general? What are their limits?Real worldpractical PROBLEMReal worldpractical SOLUTION?EMPIRICAL SOFTWARE ENGINEERING
  • 41.
    Empirical strategies**We willhave an advanced course on this topic
  • 42.
    Empirical software engineeringScientificuse of quantitative and qualitative data to– understand and– improvesoftware products and software development processesData is central to address any research questionIssues related to validity addressed continuously[Victor Basili]
  • 43.
    Intuition• You applythe scientific method– ask yourself a question– observe a phenomenon– formulate an hypothesis– build a prediction– setup an experiment– perform analysis on your results
  • 44.
    ExampleEnd Users’ Perceptionof Hybrid Mobile Appsin the Google Play StoreIvano Malavolta, Stefano RubertoTommaso Soru, Valerio TerragniIvano MalavoltaGran Sasso Science Institute (Italy)ivano.malavolta@gssi.infn.itABSTRACTRecently, companies like IBM and Adobe and a growingcommunity of developers advocate hybrid mobile appsdevelopment as a possible solution to mobile platformsfragmentation. Hybrid mobile apps are consistent acrossplatforms and built on web standards.In this study, we present an empirical investigation into mobilehybrid apps. Our goal is to identify and analyse the traits anddistinctions of publicly available hybrid mobile apps from endusers’ perspective. The study has been conducted by mining11,917 free apps and 3,041,315 reviews from the Google PlayStore, and analyzing them from the end users’ perceptionperspective. The results of this study build an objective andreproducible snapshot about how hybrid mobile development isperforming “in the wild” in real projects, thus establishing a basefor future methods and techniques for developing hybrid mobileapps.FINDINGS•  hybrid development frameworks are perceived as bettersuited for data-intensive mobile apps, whereas theyperform poorly when dealing with low-level, platform-specific features•  end users value hybrid and native apps similarly•  in some categories, end users perceive native apps betterthan hybrid apps with respect to performance and thepresence of bugsRESEARCH QUESTIONSWhat is the difference between hybrid and native mobile appsas perceived by end users?– RQ1: What is the difference in the perceived value betweenhybrid and native mobile apps?– RQ2: What is the difference in the perceived performancebetween hybrid and native mobile apps?– RQ3: What is the difference in the perceived bugginessbetween hybrid and native mobile apps?– RQ4: What is the difference in the initial download overheadbetween hybrid and native mobile apps?
  • 45.
    Dimensions of empiricalstudies“In the lab” versus “in the wild” studiesQualitative versus quantitative studiesPrimary versus secondary studies
  • 46.
    “In the lab”versus “in the wild”studiesCommon “in the lab” methods– Controlled experiments– Literature reviews– SimulationsCommon “in the wild” methods– Quasi-experiments– Case studies– Survey research– Ethnographies– Action research
  • 47.
  • 48.
    Qualitative versus quantitativestudiesQualitativeresearchstudying objects in their natural setting and letting thefindings emerge from the observations– inductive process– the subject is the personQuantitative researchquantifying a relationship with the aim to identify a cause-effect relationship– fixed implied factors– focus on collected quantitative data à promotes comparison andstatistical analysesThey arecomplementary
  • 49.
    Primary versus secondarystudiesPrimary studiesempirical studies in which we directly make measurementsor observations about the objects of interest, whether bysurveys, experiments, case studies, etc.Secondary studiesempirical studies that do not generate any data from directmeasurements, but:– analyze a set of primary studies– usually seek to aggregate the results from these in order toprovide stronger forms of evidence about a phenomenon
  • 50.
  • 51.
  • 52.
    Types of empiricalstudies• Survey• Case study• Experiment
  • 53.
    SurveyDef: a systemfor collecting information from or aboutpeople to describe, compare or explain their knowledge,attitudes and behaviorOften an investigation performed in retrospectInterviews and questionnaires are the primary means ofgathering qualitative or quantitative dataThese are done through taking a sample which isrepresentative from the population to be studied
  • 54.
    Example: our surveyon arch. languages1. ALs Identification– Definition of a preliminary set of ALs– Systematic search2. Planning the Survey3. Designing the survey4. Analyzing the Data– vertical analysis (and coding) + horizontal analysis
  • 55.
    Case studyDef: anempirical enquiry to investigate one instance (or asmall number of instances) of a contemporary softwareengineering phenomenon within its real-life context,especially when the boundary between phenomenon andcontext cannot be clearly specifiedObservational studyData collected to track a specific attribute or establishingrelationships between different attributesMultivariate statistical analysis is often applied
  • 56.
  • 57.
    ExperimentDef: an empiricalenquiry that manipulates one factor orvariable of the studied setting1. Identify and understand the variables that play a role in softwaredevelopment, and the connections between variables2. Learn cause-effect relationships between the developmentprocess and the obtained products3. Establish laws and best practices about software construction
  • 58.
  • 59.
  • 60.
    Examples of empiricalstudies in SE• Nejati, Javad, and Aruna Balasubramanian. "An in-depth study ofmobile browser performance." Proceedings of the 25th InternationalConference on World Wide Web. International World Wide WebConferences Steering Committee, 2016.• Hassan, Safwat, Weiyi Shang, and Ahmed E. Hassan. "An empiricalstudy of emergency updates for top android mobile apps." EmpiricalSoftware Engineering (2016): 1-42.• Tufano, Michele, et al. "An empirical investigation into the nature oftest smells." Proceedings of the 31st IEEE/ACM InternationalConference on Automated Software Engineering. ACM, 2016.• Linares-Vásquez, Mario, et al. "Mining energy-greedy api usagepatterns in android apps: an empirical study." Proceedings of the 11thWorking Conference on Mining Software Repositories. ACM, 2014.• Procaccianti, Giuseppe, Héctor Fernández, and Patricia Lago."Empirical evaluation of two best practices for energy-efficientsoftware development." Journal of Systems and Software 117 (2016):185-198.
  • 61.
    How to havean impact in reality?This is called technology transfer
  • 62.
  • 63.
    Let’s reconsider ourSE researchprocess…ResearchquestionsResearchresultsResearchvalidation
  • 64.
    Research questionsThe programcommittee looks for– a clear statement of the specific problem you solved– the question about software development you answered– an explanation of how the answer will help solve an importantsoftware engineering problemYou'll devote most of your paper to describing your result,but you should begin by explaining what question youare answering and why the answer mattersResearchquestions
  • 65.
    Research resultsExplain precisely–what you have contributed to the catalogue of softwareengineering knowledge– how this is useful beyond your own project
  • 66.
    Why should thereader believe yourresult?Show evidence that your result• is valid• helps to solve the problem
  • 67.
    A couple ofwords on the abstract ofa paper• People judge papers by their abstracts– usually decide whether to read the whole paper based onabstract• It's important for the abstract to tell the whole story– background and context– goals– method– results– conclusion• Often it is the only part freely accessible
  • 68.
    Example of anabstract structure:1. Two or three sentences about the current state of the art,identifying a particular problem2. One or two sentences about what this paper contributes toimproving the situation3. One or two sentences about the specific result of the paperand the main idea behind it4. A sentence about how the result is demonstrated ordefended
  • 69.
    Coming back tothe initial example…State ofthe artOverallcontributionSpecificresultsValidation✗ ✓✓✗ ✗
  • 70.
    Second try…State oftheartOverallcontributionSpecificresultsValidation
  • 71.
    What this lecturemeans to you?Software engineering != computer scienceYou now know how to carry on research in SEDon’t focus on the “size” of the problem, but on– the relevance (the practical, but also the theoretical!)– the accuracy in the investigation (problem and evaluationresearch)When conducting empirical research, don’t make claimsyou cannot eventually measure
  • 72.
    Suggested readings aboutscientificwriting• Shaw, M. (2003), Writing Good Software Engineering ResearchPapers, in Lori A. Clarke; Laurie Dillon & Walter F. Tichy, ed., 'ICSE' ,IEEE Computer Society, , pp. 726-737 .• Shaw, M. (2002), 'What makes good research in softwareengineering?', STTT 4 (1) , 1-7 .
  • 73.
  • 74.
    ContactIvano Malavolta |AssistantprofessorVrije Universiteit Amsterdamiivanooi.malavolta@vu.nlwww.ivanomalavolta.com
  • 75.
    AcknowledgementSome parts ofthis lecture are inspired by:• Ivica Crnkovic’s lecture on software engineering research atMälardalen University (Sweden)• Matthias Galster ‘s tutorial titled “Introduction to Empirical ResearchMethodologies” at ECSA 2014

[8]ページ先頭

©2009-2026 Movatter.jp