SlideShare una empresa de Scribd logo
1 de 68
Descargar para leer sin conexión
Some Challenges of
Quality Assurance with
Multi-language Systems
Yann-Gaël Guéhéneuc
MSR Asia Summit
13/10/28

This work is licensed under a Creative
Commons Attribution-NonCommercialShareAlike 3.0 Unported License
2/67
Software development services?

3/67
4/67
Software costs?

5/67
6/67
7/67
Cost of bugs
http://www.di.unito.it/~damiani/ariane5rep.html

8/67
9/67
10/67
Cost of quality
http://calleam.com/WTPF/?p=4914

11/67
Maintainability is the ease with which a
software system can be modified
—IEEE Standard Glossary of Software
Engineering Terminology, 2013

12/67
Agenda
 Maintainability

– Quality models
– Good practices
– Social studies
– Developers studies
 Multi-language

Systems

 Challenges

– Maintainability
– Not only for quality assurance!
13/67
Metrics

Quality Models

Models

Good Practices

Definition

Maintainability

Detection

Social Studies

Measures

Occurrences

Characteristics
Factors

Developers Studies

Behaviour

14/67
Metrics

Quality Models

Models

Good Practices

Definition

Maintainability

Detection

Social Studies

Measures

Occurrences

Characteristics
Factors

Developers Studies

Behaviour

15/67
Quality model are models with the objective
to describe, assess, and–or predict quality
—Deissenboeck et al., WOSQ, 2009
(With minor adaptations)

16/67
Quality Models
 Basis

for quality models

– Software measures (aka metrics)
– Relationships among characteristics and metrics
• Theoretical
• Practical

17/67
Quality Models
 Metrics

have been well researched

– Chidamber and Kemerer
– Hitz and Montazeri
– Lorenz and Kidd
– McCabe
–…

(Do not miss Briand et al.’s surveys
on cohesion and coupling metrics)
18/67
Quality Models
 Different

input metrics, different output
characteristics
– Bansiya and Davis’ QMOOD
• Design metrics
• Maintainability-related characteristics

– Zimmermann et al.’s models
• Code and historical metrics
• Fault-proneness

–…
19/67
Quality Models

 Feedback

– Measures
– Occurrences
– Factors

to build “better” quality models
20/67
Metrics

Quality Models

Models

Good Practices

Definition

Maintainability

Detection

Social Studies

Measures

Occurrences

Characteristics
Factors

Developers Studies

Behaviour

21/67
22/67
Important assumptions
– That practices can be codified in such a way that
they can be shared between different designers
– That reuse will lead to “better” designs. There is
an obvious question here of what constitutes
“better”, but a key measure is maintainability

—Zhang and Budgen, 2012
(With minor adaptations)

23/67
Frame

DrawingEditor

Drawing

Handle

We can identify
in the architecture
of a systems
micro-architectures
similar to
design motifs
to explain the
problem solved

DrawingView

Tool

Good Practices

Panel

Figure

AbstractFigure

AttributeFigure

DecoratorFigure

PolyLineFigure

CompositeFigure

Figure

AttributeFigure

Component
Client

DecoratorFigure

PolyLineFigure

CompositeFigure

1..n

operation()

ramification
Leaf
operation()

Composite
add(Component)
remove(Component)
getComponent(int)
operation()

For each components
component.operation()

To compose objects
in a tree-like structure
to describe whole–part
hierarchies

24/67
Frame

DrawingEditor

Drawing

Handle

We can identify
in the architecture
of a systems
micro-architectures
similar to
design motifs
to explain the
problem solved

DrawingView

Tool

Good Practices

Panel

Figure

AbstractFigure

AttributeFigure

DecoratorFigure

PolyLineFigure

CompositeFigure

Figure

AttributeFigure

Component
Client

DecoratorFigure

PolyLineFigure

CompositeFigure

1..n

operation()

ramification
Leaf
operation()

Composite
add(Component)
remove(Component)
getComponent(int)
operation()

For each components
component.operation()

To compose objects
in a tree-like structure
to describe whole–part
hierarchies

25/67
Frame

DrawingEditor

Drawing

Handle

We can identify
in the architecture
of a systems
micro-architectures
similar to
design motifs
to explain the
problem solved

DrawingView

Tool

Good Practices

Panel

Figure

AbstractFigure

AttributeFigure

DecoratorFigure

PolyLineFigure

CompositeFigure

Figure

AttributeFigure

Component
Client

DecoratorFigure

PolyLineFigure

CompositeFigure

1..n

operation()

ramification
Leaf
operation()

Composite
add(Component)
remove(Component)
getComponent(int)
operation()

For each components
component.operation()

To compose objects
in a tree-like structure
to describe whole–part
hierarchies

26/67
Frame

DrawingEditor

Drawing

Handle

We can identify
in the architecture
of a systems
micro-architectures
similar to
design motifs
to explain the
problem solved

DrawingView

Tool

Good Practices

Panel

Figure

AbstractFigure

AttributeFigure

DecoratorFigure

PolyLineFigure

CompositeFigure

Figure

AttributeFigure

Component
Client

DecoratorFigure

PolyLineFigure

CompositeFigure

1..n

operation()

ramification
Leaf
operation()

Composite
add(Component)
remove(Component)
getComponent(int)
operation()

For each components
component.operation()

To compose objects
in a tree-like structure
to describe whole–part
hierarchies

27/67
Good Practices


Impact of practices
– “Good”, such as DPs
• Comprehension by Lange et al.
• Quality metrics by Masuda et al.
• Change-proneness by Bieman et al. and Khomh et al.

– “Bad”, such as APs
• Comprehension by Deligiannis et al. and Abbes et al.
• Change-proneness by Khomh et al.
• Fault-proneness by Li et al.



Feedback in quality models?
28/67
Metrics

Quality Models

Models

Good Practices

Definition

Maintainability

Detection

Social Studies

Measures

Occurrences

Characteristics
Factors

Developers Studies

Behaviour

29/67
Social Studies
 Developers’

characteristics

– Gender
– Status
– Expertise
– Training
– Processes
–…

30/67
31/67
Social Studies
 Need

for social studies, typically in the form
of experiments
– Independent variable (few)
– Dependent variables (many)
– Statistical analyses (few)
– Threats to validity (many)

32/67
Social Studies
 For

example, impact on identifiers on
program understandability
– Identifier styles by Sharif et al. and Binkley et al.
– Identifier quality by Lawrie et al.
– Identifiers styles and gender by Sharafi et al.
–…

33/67
Metrics

Quality Models

Models

Good Practices

Definition

Maintainability

Detection

Social Studies

Measures

Occurrences

Characteristics
Factors

Developers Studies

Behaviour

34/67
Developers Studies
 Developers’

thought processes

– Cognitive theories
•
•
•
•

Brooks’
Von Mayrhauser’s
Pennington’s
Soloway’s

– Memory theories
•
•
•
•

Kelly’s categories
Minsky’s frames
Piaget’s schema
Schank’s scripts

– Mental models
• Gentner and Stevens’ mental models
35/67
Developers Studies
 Picking

into developers’ thought processes

36/67
Developers Studies
 Picking

into developers’ thought processes

37/67
Developers Studies
 Developers’

thought processes

– Reading code by Hansen et al. and Sharafi et al.
– Reading design models
• Content by Kagdi et al. and Sharafi et al.
• Form by Cepeda et al.

–…

38/67
39/67
What’s with
today’s systems?

40/67
41/67
42/67
43/67
44/67
45/67
46/67
47/67
48/67
49/67
50/67
Multi-language Systems
 Today’s

systems are multi-languages

– Facebook
– Twitter
–…

– Even your “regular” software system is now
multi-language, typically a Web application
51/67
Multi-language Systems
 New

problems

– Different computational models
– Complex interfaces (API)
– Wrong assumptions
– Wrong conversions
–…

52/67
Multi-language Systems
 For

example, control- and data-flows
between Java and “native” C/C++ code
methods in Java are used by Java
classes but (typically) implemented in C/C++

 native

53/67
Multi-language Systems
 Control-flow

interactions

– Java code calls native code
– Native code calls Java methods
– Native code can “throw” and must catch
exceptions
 Data-flow

interactions

– Java code passes objects (pointers)
– Native code creates objects
–…
54/67
Multi-language Systems
 Different

computational models

static void *xmalloc(JNIEnv *env, size_t size) {
void *p = malloc(size);
if (p == NULL)
JNU_ThrowOutOfMemoryError(env, NULL);
return p;
}
#define NEW(type, n) ((type *) xmalloc(env, (n) * sizeof(type)))
static const char *const *splitPath(JNIEnv *env, const char *path) {
...
pathv = NEW(char *, count+1);
pathv[count] = NULL;
...
}
55/67
Multi-language Systems
 Different

computational models

static void *xmalloc(JNIEnv *env, size_t size) {
void *p = malloc(size);
if (p == NULL)
JNU_ThrowOutOfMemoryError(env, NULL);
return p;
}
#define NEW(type, n) ((type *) xmalloc(env, (n) * sizeof(type)))
static const char *const *splitPath(JNIEnv *env, const char *path) {
...
pathv = NEW(char *, count+1);
pathv[count] = NULL;
...
}

No diversion of control flow!
56/67
57/67
What challenges?

58/67
Unbalanced focus on
“mono”-language systems
vs. multi-language systems
59/67
Challenges
 Maintainability

– Quality models
• Metrics?
• Relations?

– Good practices
• “Border-line” practices?

– Social and developers’ studies
• Independent variables?

60/67
Challenges
 Not

only for quality assurance!
(Just for examples…)

61/67
Challenges
 Not

only for quality assurance!
(Just for examples…)

Build systems
descriptions

62/67
Challenges
 Not

only for quality assurance!
(Just for examples…)

Build systems
descriptions

Legal issues due
to interrelations

63/67
Challenges
 Not

only for quality assurance!
(Just for examples…)

Build systems
descriptions

Legal issues due
to interrelations

Clone definition
and detection

64/67
Challenges
 Not

only for quality assurance!
(Just for examples…)

Build systems
descriptions

Legal issues due
to interrelations

Clone definition
and detection

Impact on studies
of large systems

65/67
Conclusion

66/67
67/67
68/67

Más contenido relacionado

La actualidad más candente

Design Principles of Advanced Task Elicitation Systems
Design Principles of Advanced Task Elicitation SystemsDesign Principles of Advanced Task Elicitation Systems
Design Principles of Advanced Task Elicitation SystemsProf. Dr. Alexander Maedche
 
OO Development 5 - Analysis
OO Development 5 - AnalysisOO Development 5 - Analysis
OO Development 5 - AnalysisRandy Connolly
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignAnirban Majumdar
 
Context-Oriented Programming
Context-Oriented ProgrammingContext-Oriented Programming
Context-Oriented Programmingkim.mens
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionHenry Muccini
 
09 introduction to_modeling
09 introduction to_modeling09 introduction to_modeling
09 introduction to_modelingMajong DevJfu
 
A SURVEY ON USER MODELING IN HCI
A SURVEY ON USER MODELING IN HCIA SURVEY ON USER MODELING IN HCI
A SURVEY ON USER MODELING IN HCIcaijjournal
 
Cascon06 tooldemo.ppt
Cascon06 tooldemo.pptCascon06 tooldemo.ppt
Cascon06 tooldemo.pptPtidej Team
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptPtidej Team
 
The 5 principles of Model Based Systems Engineering (MBSE)
The 5 principles of Model Based Systems Engineering (MBSE)The 5 principles of Model Based Systems Engineering (MBSE)
The 5 principles of Model Based Systems Engineering (MBSE)James Towers
 
Iare ds lecture_notes_2
Iare ds lecture_notes_2Iare ds lecture_notes_2
Iare ds lecture_notes_2RajSingh734307
 
Introduction to Object Oriented Design
Introduction to Object Oriented DesignIntroduction to Object Oriented Design
Introduction to Object Oriented DesignComputing Cage
 
Design Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur UniversityDesign Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur UniversityShubham Narkhede
 
Best Practices - Software Engineering
Best Practices - Software EngineeringBest Practices - Software Engineering
Best Practices - Software Engineering3Quill Softwares
 

La actualidad más candente (20)

CS8592-OOAD Lecture Notes Unit-4
CS8592-OOAD Lecture Notes Unit-4CS8592-OOAD Lecture Notes Unit-4
CS8592-OOAD Lecture Notes Unit-4
 
Design Principles of Advanced Task Elicitation Systems
Design Principles of Advanced Task Elicitation SystemsDesign Principles of Advanced Task Elicitation Systems
Design Principles of Advanced Task Elicitation Systems
 
Ch09
Ch09Ch09
Ch09
 
ICSM09.ppt
ICSM09.pptICSM09.ppt
ICSM09.ppt
 
OO Development 5 - Analysis
OO Development 5 - AnalysisOO Development 5 - Analysis
OO Development 5 - Analysis
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Context-Oriented Programming
Context-Oriented ProgrammingContext-Oriented Programming
Context-Oriented Programming
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
09 introduction to_modeling
09 introduction to_modeling09 introduction to_modeling
09 introduction to_modeling
 
A SURVEY ON USER MODELING IN HCI
A SURVEY ON USER MODELING IN HCIA SURVEY ON USER MODELING IN HCI
A SURVEY ON USER MODELING IN HCI
 
Cascon06 tooldemo.ppt
Cascon06 tooldemo.pptCascon06 tooldemo.ppt
Cascon06 tooldemo.ppt
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
 
The 5 principles of Model Based Systems Engineering (MBSE)
The 5 principles of Model Based Systems Engineering (MBSE)The 5 principles of Model Based Systems Engineering (MBSE)
The 5 principles of Model Based Systems Engineering (MBSE)
 
Iare ds lecture_notes_2
Iare ds lecture_notes_2Iare ds lecture_notes_2
Iare ds lecture_notes_2
 
Object model
Object modelObject model
Object model
 
Ch01lect1 ud
Ch01lect1 udCh01lect1 ud
Ch01lect1 ud
 
Introduction to Object Oriented Design
Introduction to Object Oriented DesignIntroduction to Object Oriented Design
Introduction to Object Oriented Design
 
Design Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur UniversityDesign Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur University
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Best Practices - Software Engineering
Best Practices - Software EngineeringBest Practices - Software Engineering
Best Practices - Software Engineering
 

Destacado (16)

Mribp13.ppt
Mribp13.pptMribp13.ppt
Mribp13.ppt
 
Icsm07 tooldemo.pdf
Icsm07 tooldemo.pdfIcsm07 tooldemo.pdf
Icsm07 tooldemo.pdf
 
Software Design Patterns in Theory
Software Design Patterns in TheorySoftware Design Patterns in Theory
Software Design Patterns in Theory
 
Wcre12c.ppt
Wcre12c.pptWcre12c.ppt
Wcre12c.ppt
 
Ssbse12a.ppt
Ssbse12a.pptSsbse12a.ppt
Ssbse12a.ppt
 
Wcre13a.ppt
Wcre13a.pptWcre13a.ppt
Wcre13a.ppt
 
Wcre13c.pdf
Wcre13c.pdfWcre13c.pdf
Wcre13c.pdf
 
See12.ppt
See12.pptSee12.ppt
See12.ppt
 
Icsoc12 tooldemo.ppt
Icsoc12 tooldemo.pptIcsoc12 tooldemo.ppt
Icsoc12 tooldemo.ppt
 
Wcre12b.ppt
Wcre12b.pptWcre12b.ppt
Wcre12b.ppt
 
Wcre13b.ppt
Wcre13b.pptWcre13b.ppt
Wcre13b.ppt
 
Ssbse12b.ppt
Ssbse12b.pptSsbse12b.ppt
Ssbse12b.ppt
 
Ppap13a.ppt
Ppap13a.pptPpap13a.ppt
Ppap13a.ppt
 
Rsse12.ppt
Rsse12.pptRsse12.ppt
Rsse12.ppt
 
Ppap13b.ppt
Ppap13b.pptPpap13b.ppt
Ppap13b.ppt
 
Jcom02.ppt
Jcom02.pptJcom02.ppt
Jcom02.ppt
 

Similar a MSR Asia Summit

Management of Complexity in System Design of Large IT Solutions
Management of Complexity in System Design of Large IT SolutionsManagement of Complexity in System Design of Large IT Solutions
Management of Complexity in System Design of Large IT SolutionsMichael Heiss
 
Software development effort reduction with Co-op
Software development effort reduction with Co-opSoftware development effort reduction with Co-op
Software development effort reduction with Co-oplbergmans
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software EngineeringPurvik Rana
 
15 object orienteddesign
15 object orienteddesign15 object orienteddesign
15 object orienteddesignrandhirlpu
 
Lecture 1 uml with java implementation
Lecture 1 uml with java implementationLecture 1 uml with java implementation
Lecture 1 uml with java implementationthe_wumberlog
 
Chapter 7 Design Architecture and Methodology1.docx
Chapter 7 Design Architecture and Methodology1.docxChapter 7 Design Architecture and Methodology1.docx
Chapter 7 Design Architecture and Methodology1.docxmccormicknadine86
 
View Alignment Techniques
View Alignment TechniquesView Alignment Techniques
View Alignment TechniquesJIGAR MAKHIJA
 
Load Distribution Composite Design Pattern for Genetic Algorithm-Based Autono...
Load Distribution Composite Design Pattern for Genetic Algorithm-Based Autono...Load Distribution Composite Design Pattern for Genetic Algorithm-Based Autono...
Load Distribution Composite Design Pattern for Genetic Algorithm-Based Autono...ijsc
 
LOAD DISTRIBUTION COMPOSITE DESIGN PATTERN FOR GENETIC ALGORITHM-BASED AUTONO...
LOAD DISTRIBUTION COMPOSITE DESIGN PATTERN FOR GENETIC ALGORITHM-BASED AUTONO...LOAD DISTRIBUTION COMPOSITE DESIGN PATTERN FOR GENETIC ALGORITHM-BASED AUTONO...
LOAD DISTRIBUTION COMPOSITE DESIGN PATTERN FOR GENETIC ALGORITHM-BASED AUTONO...ijsc
 
lecture10-patterns.ppt
lecture10-patterns.pptlecture10-patterns.ppt
lecture10-patterns.pptAnkitPangasa1
 
lecture10-patterns.ppt
lecture10-patterns.pptlecture10-patterns.ppt
lecture10-patterns.pptbryafaissal
 
2014 01-ticosa
2014 01-ticosa2014 01-ticosa
2014 01-ticosaPharo
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Mozaic Works
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicDavid Solivan
 
Lessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at NetflixLessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at NetflixJustin Basilico
 
Design Pattern For C# Part 1
Design Pattern For C# Part 1Design Pattern For C# Part 1
Design Pattern For C# Part 1Shahzad
 
Managing Complexity and Change with Scalable Software Design
Managing Complexity and Change with Scalable Software DesignManaging Complexity and Change with Scalable Software Design
Managing Complexity and Change with Scalable Software Designlbergmans
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software DevelopmentJignesh Patel
 

Similar a MSR Asia Summit (20)

Management of Complexity in System Design of Large IT Solutions
Management of Complexity in System Design of Large IT SolutionsManagement of Complexity in System Design of Large IT Solutions
Management of Complexity in System Design of Large IT Solutions
 
Software development effort reduction with Co-op
Software development effort reduction with Co-opSoftware development effort reduction with Co-op
Software development effort reduction with Co-op
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
 
15 object orienteddesign
15 object orienteddesign15 object orienteddesign
15 object orienteddesign
 
Software Patterns
Software PatternsSoftware Patterns
Software Patterns
 
Lecture 1 uml with java implementation
Lecture 1 uml with java implementationLecture 1 uml with java implementation
Lecture 1 uml with java implementation
 
Chapter 7 Design Architecture and Methodology1.docx
Chapter 7 Design Architecture and Methodology1.docxChapter 7 Design Architecture and Methodology1.docx
Chapter 7 Design Architecture and Methodology1.docx
 
View Alignment Techniques
View Alignment TechniquesView Alignment Techniques
View Alignment Techniques
 
Load Distribution Composite Design Pattern for Genetic Algorithm-Based Autono...
Load Distribution Composite Design Pattern for Genetic Algorithm-Based Autono...Load Distribution Composite Design Pattern for Genetic Algorithm-Based Autono...
Load Distribution Composite Design Pattern for Genetic Algorithm-Based Autono...
 
LOAD DISTRIBUTION COMPOSITE DESIGN PATTERN FOR GENETIC ALGORITHM-BASED AUTONO...
LOAD DISTRIBUTION COMPOSITE DESIGN PATTERN FOR GENETIC ALGORITHM-BASED AUTONO...LOAD DISTRIBUTION COMPOSITE DESIGN PATTERN FOR GENETIC ALGORITHM-BASED AUTONO...
LOAD DISTRIBUTION COMPOSITE DESIGN PATTERN FOR GENETIC ALGORITHM-BASED AUTONO...
 
lecture10-patterns.ppt
lecture10-patterns.pptlecture10-patterns.ppt
lecture10-patterns.ppt
 
lecture10-patterns.ppt
lecture10-patterns.pptlecture10-patterns.ppt
lecture10-patterns.ppt
 
2014 01-ticosa
2014 01-ticosa2014 01-ticosa
2014 01-ticosa
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs Public
 
Lessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at NetflixLessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at Netflix
 
Design Pattern For C# Part 1
Design Pattern For C# Part 1Design Pattern For C# Part 1
Design Pattern For C# Part 1
 
Managing Complexity and Change with Scalable Software Design
Managing Complexity and Change with Scalable Software DesignManaging Complexity and Change with Scalable Software Design
Managing Complexity and Change with Scalable Software Design
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software Development
 

Más de Ptidej Team

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software MiniaturisationPtidej Team
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel BriandPtidej Team
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel AbdellatifPtidej Team
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh KermansaraviPtidej Team
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel GrichiPtidej Team
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano PolitowskiPtidej Team
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisisPtidej Team
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptPtidej Team
 
Thesis+of+étienne+duclos.ppt
Thesis+of+étienne+duclos.pptThesis+of+étienne+duclos.ppt
Thesis+of+étienne+duclos.pptPtidej Team
 

Más de Ptidej Team (20)

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
 
MIPA
MIPAMIPA
MIPA
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
 
Thesis+of+étienne+duclos.ppt
Thesis+of+étienne+duclos.pptThesis+of+étienne+duclos.ppt
Thesis+of+étienne+duclos.ppt
 

Último

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

MSR Asia Summit