Language Interaction and Quality Issues: An Exploratory Study

Marco Torchiano
Marco TorchianoAssociate Professor
Languages interaction and possible
   effects: an exploratory study




       Antonio Vetrò - Federico Tomassetti
       Marco Torchiano - Maurizio Morisio
No one writes in a single language anymore. Even trivial applications
have a general-purpose language, SQL, JavaScript, CSS, and dozens of
frameworks, each of which includes an external DSL
                                          Wampler 2010
How do those languages interact?

Is that interaction problematic?
Research questions
RQ1 How much interaction is there between the
    languages used in a project?

RQ2 Which language pairs interact more?

RQ3 Are Cross Language Modules more defect-
    prone than Intra Language Modules?
Plan
• Define a measure for the level of interaction
  among languages
• Investigate interaction vs. defect proneness

• Perform a case study
The Case Study
Apache Hadoop, which is a software to support
distributed data storage and processing.




Used in many real applications (e.g., Yahoo, Facebook).
Commit types
Language A (.extA)




                              Cross-Language Commit (CLC)




                                          Intra-Language Commit (ILC)



                     Language B (.extB)
RQ1 How much interaction is there between
    the languages present in a project?
Metric: Percentage of Cross-Language Commits

• All type of commits (RQ1.1)
• Commits divided by activity type (e.g., improvement,
  bug fixing, new feature) (RQ1.2)


  All      Bug    Improv New         Sub    Task   Test
(RQ 1.1)
                   ement Feature     task
 0.53      0.12     0.26  0.30       0.45   0.26   0.05
Cross Language Ratio
Language A (.extA)

                                  3 out of 4 commits involving
                                  m are Cross-Language
                                          Cross Language Ratio of
                                          module m CLRm = 0.75

                        m




Language C (.extC)   Language B (.extB)
Interaction level of a language
• Cross language ratio of an extension (language)
RQ2 Which extensions interact more?
Metric: CLRext

Considering one extension versus all the other
extensions (RQ2.1)

CLRext      Nr files     Extension
0.96        49           c
0.87        114          sh
0.72        75           properties
0.71        320          xml
0.59        4328         java
Focusing on extension pairs
Language A (.extA)
                                  2 out of 3 commits involving
                                  m together with extA are
                                  Cross Language
                                          Cross Language Ratio of
                                          module m w.r.t extA
                                          CLRm,extA = 0.67
                        m




Language C (.extC)   Language B (.extB)
Interaction level of a pair
• Cross language ratio of an extension w.r.t.
  another extension




  – Asymmetrical measure!
RQ2 Which extensions do interact more?
Metric: CLRextA,extB

Considering the most interacting ordered pairs of
extensions (RQ2.2).

extA/extB      C       Java   Properties Sh

C              -       0.51   0.10      0.50
Java           0.01    -      0.28      0.04
Properties     0       0.54   -         0.36
Sh             0.09    0.22   0.24      -
Xml            0.04    0.52   0.43      0.24
Cross vs. Intra Lang Modules

Cross Language Module (CLM): CLR is ≥ t%

Intra Language Modules (ILM): CLR is <
t%

                 t = 50%
RQ3 Are Cross Language Modules more defect-prone?
Metric: Odds ratio of CLM with/without defects , ILM
        with/without defects
- all module regardless of extension (RQ3.1)
- by extension (RQ3.2)

                 ILM      ILM    CLM    CLM p-value        OR
                no def.   def.  no def. def.
             all 1891       225   2875     89 <0.001       0.26

               c      2       0     46          1 1.000     Inf
           java    1692     201   2239         25 <0.001   0.09
      properties     19       1     45          7 0.429    2.92
              sh     10       5     64         13 0.162    0.41
            xml      96      11    184         24 0.851    1.14
RQ3 Are Cross Language Modules more defect-prone?
Metric: Odds ratio of CLM with/without defects , ILM
        with/without defects
Considering interaction between specific ordered
pairs of extensions (RQ3.3).
             C      Java   Properties sh               XML
           C -      Inf    0              0            Inf
        Java 2.79   -      0.32           0.43         0.96
   Properties Inf   1      -              12.08        0.94
          Sh 3.55   4.45   17.17          -            7.44
        Xml 3.83    0.95   3.22           4.73         -



                               In bold significant values
Threats
•   Confounding factors: age and size of modules
•   Usage of proxy for interaction between artifacts
•   Apache Hadoop representativeness
•   Renaming of modules
Conclusions
Language interaction depends on the type of activity
Frequent interactions are
generally not symmetric




                       Many of them involve XML
In general language interaction is not related to
higher defect proneness, see Java
Though several language pairs have CLMs
significantly more defect prone then ILMs, see C
Questions?

Languages interaction and possible
   effects: an exploratory study
       Antonio Vetrò - Federico Tomassetti
       Marco Torchiano - Maurizio Morisio
1 of 23

Recommended

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding by
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingBERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingMinh Quang-Nhat Pham
8.2K views40 slides
Deep Learning勉強会@小町研 "Learning Character-level Representations for Part-of-Sp... by
Deep Learning勉強会@小町研 "Learning Character-level Representations for Part-of-Sp...Deep Learning勉強会@小町研 "Learning Character-level Representations for Part-of-Sp...
Deep Learning勉強会@小町研 "Learning Character-level Representations for Part-of-Sp...Yuki Tomo
1.4K views34 slides
Reference Scope Identification in Citing Sentences by
Reference Scope Identification in Citing SentencesReference Scope Identification in Citing Sentences
Reference Scope Identification in Citing SentencesAkihiro Kameda
1.3K views19 slides
PL Lecture 01 - preliminaries by
PL Lecture 01 - preliminariesPL Lecture 01 - preliminaries
PL Lecture 01 - preliminariesSchwannden Kuo
129 views40 slides
Introduction to Transformers for NLP - Olga Petrova by
Introduction to Transformers for NLP - Olga PetrovaIntroduction to Transformers for NLP - Olga Petrova
Introduction to Transformers for NLP - Olga PetrovaAlexey Grigorev
403 views97 slides
NLP using transformers by
NLP using transformers NLP using transformers
NLP using transformers Arvind Devaraj
4.1K views67 slides

More Related Content

What's hot

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding by
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingBERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingYoung Seok Kim
908 views48 slides
Deep learning for NLP and Transformer by
 Deep learning for NLP  and Transformer Deep learning for NLP  and Transformer
Deep learning for NLP and TransformerArvind Devaraj
1.4K views47 slides
PL Lecture 02 - Binding and Scope by
PL Lecture 02 - Binding and ScopePL Lecture 02 - Binding and Scope
PL Lecture 02 - Binding and ScopeSchwannden Kuo
109 views36 slides
Named Entity Recognition using Hidden Markov Model (HMM) by
Named Entity Recognition using Hidden Markov Model (HMM)Named Entity Recognition using Hidden Markov Model (HMM)
Named Entity Recognition using Hidden Markov Model (HMM)kevig
16 views9 slides
Introduction to Transformer Model by
Introduction to Transformer ModelIntroduction to Transformer Model
Introduction to Transformer ModelNuwan Sriyantha Bandara
3.6K views13 slides
2017:12:06 acl読み会"Learning attention for historical text normalization by lea... by
2017:12:06 acl読み会"Learning attention for historical text normalization by lea...2017:12:06 acl読み会"Learning attention for historical text normalization by lea...
2017:12:06 acl読み会"Learning attention for historical text normalization by lea...ayaha osaki
48 views15 slides

What's hot(20)

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding by Young Seok Kim
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingBERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
Young Seok Kim908 views
Deep learning for NLP and Transformer by Arvind Devaraj
 Deep learning for NLP  and Transformer Deep learning for NLP  and Transformer
Deep learning for NLP and Transformer
Arvind Devaraj1.4K views
PL Lecture 02 - Binding and Scope by Schwannden Kuo
PL Lecture 02 - Binding and ScopePL Lecture 02 - Binding and Scope
PL Lecture 02 - Binding and Scope
Schwannden Kuo109 views
Named Entity Recognition using Hidden Markov Model (HMM) by kevig
Named Entity Recognition using Hidden Markov Model (HMM)Named Entity Recognition using Hidden Markov Model (HMM)
Named Entity Recognition using Hidden Markov Model (HMM)
kevig16 views
2017:12:06 acl読み会"Learning attention for historical text normalization by lea... by ayaha osaki
2017:12:06 acl読み会"Learning attention for historical text normalization by lea...2017:12:06 acl読み会"Learning attention for historical text normalization by lea...
2017:12:06 acl読み会"Learning attention for historical text normalization by lea...
ayaha osaki48 views
A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev... by Minh Quang-Nhat Pham
A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...
A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...
Notes on attention mechanism by Khang Pham
Notes on attention mechanismNotes on attention mechanism
Notes on attention mechanism
Khang Pham2K views
BERT: Bidirectional Encoder Representations from Transformers by Liangqun Lu
BERT: Bidirectional Encoder Representations from TransformersBERT: Bidirectional Encoder Representations from Transformers
BERT: Bidirectional Encoder Representations from Transformers
Liangqun Lu1.9K views
Enriching Word Vectors with Subword Information by Seonghyun Kim
Enriching Word Vectors with Subword InformationEnriching Word Vectors with Subword Information
Enriching Word Vectors with Subword Information
Seonghyun Kim63 views
Deep Learning for Machine Translation by Matīss
Deep Learning for Machine TranslationDeep Learning for Machine Translation
Deep Learning for Machine Translation
Matīss 2.4K views
C# Common Type System & Common Language Specification by Prem Kumar Badri
C# Common Type System & Common Language Specification C# Common Type System & Common Language Specification
C# Common Type System & Common Language Specification
Prem Kumar Badri475 views
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding by Seonghyun Kim
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingBERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
Seonghyun Kim92 views
Seq2seq Model to Tokenize the Chinese Language by Jinho Choi
Seq2seq Model to Tokenize the Chinese LanguageSeq2seq Model to Tokenize the Chinese Language
Seq2seq Model to Tokenize the Chinese Language
Jinho Choi59 views
Transformers to Learn Hierarchical Contexts in Multiparty Dialogue by Jinho Choi
Transformers to Learn Hierarchical Contexts in Multiparty DialogueTransformers to Learn Hierarchical Contexts in Multiparty Dialogue
Transformers to Learn Hierarchical Contexts in Multiparty Dialogue
Jinho Choi91 views

Similar to Language Interaction and Quality Issues: An Exploratory Study

MLE_keynote.pdf by
MLE_keynote.pdfMLE_keynote.pdf
MLE_keynote.pdfmiso_uam
38 views58 slides
Common language runtime clr by
Common language runtime clrCommon language runtime clr
Common language runtime clrSanSan149
2.2K views16 slides
Architecting Domain-Specific Languages by
Architecting Domain-Specific LanguagesArchitecting Domain-Specific Languages
Architecting Domain-Specific LanguagesMarkus Voelter
1.2K views154 slides
Keynote joearmstrong by
Keynote joearmstrongKeynote joearmstrong
Keynote joearmstrongSentifi
492 views73 slides
Hate speech detection by
Hate speech detectionHate speech detection
Hate speech detectionNASIM ALAM
6.7K views21 slides
Seeking Clojure by
Seeking ClojureSeeking Clojure
Seeking Clojurechrisriceuk
1.3K views29 slides

Similar to Language Interaction and Quality Issues: An Exploratory Study(20)

MLE_keynote.pdf by miso_uam
MLE_keynote.pdfMLE_keynote.pdf
MLE_keynote.pdf
miso_uam38 views
Common language runtime clr by SanSan149
Common language runtime clrCommon language runtime clr
Common language runtime clr
SanSan1492.2K views
Architecting Domain-Specific Languages by Markus Voelter
Architecting Domain-Specific LanguagesArchitecting Domain-Specific Languages
Architecting Domain-Specific Languages
Markus Voelter1.2K views
Keynote joearmstrong by Sentifi
Keynote joearmstrongKeynote joearmstrong
Keynote joearmstrong
Sentifi492 views
Hate speech detection by NASIM ALAM
Hate speech detectionHate speech detection
Hate speech detection
NASIM ALAM6.7K views
Seeking Clojure by chrisriceuk
Seeking ClojureSeeking Clojure
Seeking Clojure
chrisriceuk1.3K views
Re-implementing Thrift using MDE by Sina Madani
Re-implementing Thrift using MDERe-implementing Thrift using MDE
Re-implementing Thrift using MDE
Sina Madani153 views
Future Programming Language by YLTO
Future Programming LanguageFuture Programming Language
Future Programming Language
YLTO1K views
Semantic Web languages: Expressivity vs scalability by nvitucci
Semantic Web languages: Expressivity vs scalabilitySemantic Web languages: Expressivity vs scalability
Semantic Web languages: Expressivity vs scalability
nvitucci275 views
Sioux Hot-or-Not: Functional programming: unlocking the real power of multi-c... by siouxhotornot
Sioux Hot-or-Not: Functional programming: unlocking the real power of multi-c...Sioux Hot-or-Not: Functional programming: unlocking the real power of multi-c...
Sioux Hot-or-Not: Functional programming: unlocking the real power of multi-c...
siouxhotornot1.9K views
Reflective and Refractive Variables: A Model for Effective and Maintainable A... by Vincenzo De Florio
Reflective and Refractive Variables: A Model for Effective and Maintainable A...Reflective and Refractive Variables: A Model for Effective and Maintainable A...
Reflective and Refractive Variables: A Model for Effective and Maintainable A...
Vincenzo De Florio3.6K views
Session2 (3) by DrUjwala1
Session2 (3)Session2 (3)
Session2 (3)
DrUjwala195 views
Distributed Reactive Services with Reactor & Spring - Stéphane Maldini by VMware Tanzu
Distributed Reactive Services with Reactor & Spring - Stéphane MaldiniDistributed Reactive Services with Reactor & Spring - Stéphane Maldini
Distributed Reactive Services with Reactor & Spring - Stéphane Maldini
VMware Tanzu683 views

More from Marco Torchiano

Testing the UI of Mobile Applications by
Testing the UI of Mobile ApplicationsTesting the UI of Mobile Applications
Testing the UI of Mobile ApplicationsMarco Torchiano
337 views118 slides
Software Engineering II Course at Politecnico di Torino by
Software Engineering II Course at Politecnico di TorinoSoftware Engineering II Course at Politecnico di Torino
Software Engineering II Course at Politecnico di TorinoMarco Torchiano
187 views14 slides
Espresso vs. EyeAutomate: comparing two generations of Android GUI testing tools by
Espresso vs. EyeAutomate: comparing two generations of Android GUI testing toolsEspresso vs. EyeAutomate: comparing two generations of Android GUI testing tools
Espresso vs. EyeAutomate: comparing two generations of Android GUI testing toolsMarco Torchiano
240 views30 slides
Research Activities: past, present, and future. by
Research Activities: past, present, and future.Research Activities: past, present, and future.
Research Activities: past, present, and future.Marco Torchiano
185 views21 slides
Data Quality - Standards e Applicazioni by
Data Quality - Standards e ApplicazioniData Quality - Standards e Applicazioni
Data Quality - Standards e ApplicazioniMarco Torchiano
626 views32 slides
Data Quality - Standards and Application to Open Data by
Data Quality - Standards and Application to Open DataData Quality - Standards and Application to Open Data
Data Quality - Standards and Application to Open DataMarco Torchiano
845 views62 slides

More from Marco Torchiano(14)

Testing the UI of Mobile Applications by Marco Torchiano
Testing the UI of Mobile ApplicationsTesting the UI of Mobile Applications
Testing the UI of Mobile Applications
Marco Torchiano337 views
Software Engineering II Course at Politecnico di Torino by Marco Torchiano
Software Engineering II Course at Politecnico di TorinoSoftware Engineering II Course at Politecnico di Torino
Software Engineering II Course at Politecnico di Torino
Marco Torchiano187 views
Espresso vs. EyeAutomate: comparing two generations of Android GUI testing tools by Marco Torchiano
Espresso vs. EyeAutomate: comparing two generations of Android GUI testing toolsEspresso vs. EyeAutomate: comparing two generations of Android GUI testing tools
Espresso vs. EyeAutomate: comparing two generations of Android GUI testing tools
Marco Torchiano240 views
Research Activities: past, present, and future. by Marco Torchiano
Research Activities: past, present, and future.Research Activities: past, present, and future.
Research Activities: past, present, and future.
Marco Torchiano185 views
Data Quality - Standards e Applicazioni by Marco Torchiano
Data Quality - Standards e ApplicazioniData Quality - Standards e Applicazioni
Data Quality - Standards e Applicazioni
Marco Torchiano626 views
Data Quality - Standards and Application to Open Data by Marco Torchiano
Data Quality - Standards and Application to Open DataData Quality - Standards and Application to Open Data
Data Quality - Standards and Application to Open Data
Marco Torchiano845 views
Riflessioni su Riforma Costituzionale "Renzi-Boschi" by Marco Torchiano
Riflessioni su Riforma Costituzionale "Renzi-Boschi"Riflessioni su Riforma Costituzionale "Renzi-Boschi"
Riflessioni su Riforma Costituzionale "Renzi-Boschi"
Marco Torchiano205 views
Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech... by Marco Torchiano
Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech...Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech...
Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech...
Marco Torchiano392 views
Energy Consumption Analysis
 of Image Encoding and Decoding Algorithms by Marco Torchiano
Energy Consumption Analysis
 of Image Encoding and Decoding AlgorithmsEnergy Consumption Analysis
 of Image Encoding and Decoding Algorithms
Energy Consumption Analysis
 of Image Encoding and Decoding Algorithms
Marco Torchiano475 views
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech... by Marco Torchiano
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
Marco Torchiano611 views
A Model-Based Approach to Language Integration by Marco Torchiano
A Model-Based Approach to Language Integration A Model-Based Approach to Language Integration
A Model-Based Approach to Language Integration
Marco Torchiano532 views
On the computation of Truck Factor by Marco Torchiano
On the computation of Truck FactorOn the computation of Truck Factor
On the computation of Truck Factor
Marco Torchiano444 views
The impact of process maturity on defect density by Marco Torchiano
The impact of process maturity on defect densityThe impact of process maturity on defect density
The impact of process maturity on defect density
Marco Torchiano1.3K views

Recently uploaded

Business Analyst Series 2023 - Week 4 Session 7 by
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7DianaGray10
152 views31 slides
AI + Memoori = AIM by
AI + Memoori = AIMAI + Memoori = AIM
AI + Memoori = AIMMemoori
15 views9 slides
The Power of Heat Decarbonisation Plans in the Built Environment by
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built EnvironmentIES VE
85 views20 slides
Future of AR - Facebook Presentation by
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook PresentationRob McCarty
66 views27 slides
AIM102-S_Cognizant_CognizantCognitive by
AIM102-S_Cognizant_CognizantCognitiveAIM102-S_Cognizant_CognizantCognitive
AIM102-S_Cognizant_CognizantCognitivePhilipBasford
23 views36 slides
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023 by
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023BookNet Canada
46 views19 slides

Recently uploaded(20)

Business Analyst Series 2023 - Week 4 Session 7 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray10152 views
AI + Memoori = AIM by Memoori
AI + Memoori = AIMAI + Memoori = AIM
AI + Memoori = AIM
Memoori15 views
The Power of Heat Decarbonisation Plans in the Built Environment by IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE85 views
Future of AR - Facebook Presentation by Rob McCarty
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
Rob McCarty66 views
AIM102-S_Cognizant_CognizantCognitive by PhilipBasford
AIM102-S_Cognizant_CognizantCognitiveAIM102-S_Cognizant_CognizantCognitive
AIM102-S_Cognizant_CognizantCognitive
PhilipBasford23 views
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023 by BookNet Canada
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
BookNet Canada46 views
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue209 views
"Package management in monorepos", Zoltan Kochan by Fwdays
"Package management in monorepos", Zoltan Kochan"Package management in monorepos", Zoltan Kochan
"Package management in monorepos", Zoltan Kochan
Fwdays37 views
"Node.js Development in 2024: trends and tools", Nikita Galkin by Fwdays
"Node.js Development in 2024: trends and tools", Nikita Galkin "Node.js Development in 2024: trends and tools", Nikita Galkin
"Node.js Development in 2024: trends and tools", Nikita Galkin
Fwdays37 views
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by The Digital Insurer
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...
Deep Tech and the Amplified Organisation: Core Concepts by Holonomics
Deep Tech and the Amplified Organisation: Core ConceptsDeep Tech and the Amplified Organisation: Core Concepts
Deep Tech and the Amplified Organisation: Core Concepts
Holonomics17 views
Discover Aura Workshop (12.5.23).pdf by Neo4j
Discover Aura Workshop (12.5.23).pdfDiscover Aura Workshop (12.5.23).pdf
Discover Aura Workshop (12.5.23).pdf
Neo4j20 views
Cocktail of Environments. How to Mix Test and Development Environments and St... by Aleksandr Tarasov
Cocktail of Environments. How to Mix Test and Development Environments and St...Cocktail of Environments. How to Mix Test and Development Environments and St...
Cocktail of Environments. How to Mix Test and Development Environments and St...
Adopting Karpenter for Cost and Simplicity at Grafana Labs.pdf by MichaelOLeary82
Adopting Karpenter for Cost and Simplicity at Grafana Labs.pdfAdopting Karpenter for Cost and Simplicity at Grafana Labs.pdf
Adopting Karpenter for Cost and Simplicity at Grafana Labs.pdf
MichaelOLeary8213 views
"Running students' code in isolation. The hard way", Yurii Holiuk by Fwdays
"Running students' code in isolation. The hard way", Yurii Holiuk "Running students' code in isolation. The hard way", Yurii Holiuk
"Running students' code in isolation. The hard way", Yurii Holiuk
Fwdays38 views
This talk was not generated with ChatGPT: how AI is changing science by Elena Simperl
This talk was not generated with ChatGPT: how AI is changing scienceThis talk was not generated with ChatGPT: how AI is changing science
This talk was not generated with ChatGPT: how AI is changing science
Elena Simperl34 views
The Coming AI Tsunami.pptx by johnhandby
The Coming AI Tsunami.pptxThe Coming AI Tsunami.pptx
The Coming AI Tsunami.pptx
johnhandby14 views
GDSC GLAU Info Session.pptx by gauriverrma4
GDSC GLAU Info Session.pptxGDSC GLAU Info Session.pptx
GDSC GLAU Info Session.pptx
gauriverrma415 views
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And... by ShapeBlue
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
ShapeBlue120 views
Mobile Core Solutions & Successful Cases.pdf by IPLOOK Networks
Mobile Core Solutions & Successful Cases.pdfMobile Core Solutions & Successful Cases.pdf
Mobile Core Solutions & Successful Cases.pdf
IPLOOK Networks16 views

Language Interaction and Quality Issues: An Exploratory Study

  • 1. Languages interaction and possible effects: an exploratory study Antonio Vetrò - Federico Tomassetti Marco Torchiano - Maurizio Morisio
  • 2. No one writes in a single language anymore. Even trivial applications have a general-purpose language, SQL, JavaScript, CSS, and dozens of frameworks, each of which includes an external DSL Wampler 2010
  • 3. How do those languages interact? Is that interaction problematic?
  • 4. Research questions RQ1 How much interaction is there between the languages used in a project? RQ2 Which language pairs interact more? RQ3 Are Cross Language Modules more defect- prone than Intra Language Modules?
  • 5. Plan • Define a measure for the level of interaction among languages • Investigate interaction vs. defect proneness • Perform a case study
  • 6. The Case Study Apache Hadoop, which is a software to support distributed data storage and processing. Used in many real applications (e.g., Yahoo, Facebook).
  • 7. Commit types Language A (.extA) Cross-Language Commit (CLC) Intra-Language Commit (ILC) Language B (.extB)
  • 8. RQ1 How much interaction is there between the languages present in a project? Metric: Percentage of Cross-Language Commits • All type of commits (RQ1.1) • Commits divided by activity type (e.g., improvement, bug fixing, new feature) (RQ1.2) All Bug Improv New Sub Task Test (RQ 1.1) ement Feature task 0.53 0.12 0.26 0.30 0.45 0.26 0.05
  • 9. Cross Language Ratio Language A (.extA) 3 out of 4 commits involving m are Cross-Language Cross Language Ratio of module m CLRm = 0.75 m Language C (.extC) Language B (.extB)
  • 10. Interaction level of a language • Cross language ratio of an extension (language)
  • 11. RQ2 Which extensions interact more? Metric: CLRext Considering one extension versus all the other extensions (RQ2.1) CLRext Nr files Extension 0.96 49 c 0.87 114 sh 0.72 75 properties 0.71 320 xml 0.59 4328 java
  • 12. Focusing on extension pairs Language A (.extA) 2 out of 3 commits involving m together with extA are Cross Language Cross Language Ratio of module m w.r.t extA CLRm,extA = 0.67 m Language C (.extC) Language B (.extB)
  • 13. Interaction level of a pair • Cross language ratio of an extension w.r.t. another extension – Asymmetrical measure!
  • 14. RQ2 Which extensions do interact more? Metric: CLRextA,extB Considering the most interacting ordered pairs of extensions (RQ2.2). extA/extB C Java Properties Sh C - 0.51 0.10 0.50 Java 0.01 - 0.28 0.04 Properties 0 0.54 - 0.36 Sh 0.09 0.22 0.24 - Xml 0.04 0.52 0.43 0.24
  • 15. Cross vs. Intra Lang Modules Cross Language Module (CLM): CLR is ≥ t% Intra Language Modules (ILM): CLR is < t% t = 50%
  • 16. RQ3 Are Cross Language Modules more defect-prone? Metric: Odds ratio of CLM with/without defects , ILM with/without defects - all module regardless of extension (RQ3.1) - by extension (RQ3.2) ILM ILM CLM CLM p-value OR no def. def. no def. def. all 1891 225 2875 89 <0.001 0.26 c 2 0 46 1 1.000 Inf java 1692 201 2239 25 <0.001 0.09 properties 19 1 45 7 0.429 2.92 sh 10 5 64 13 0.162 0.41 xml 96 11 184 24 0.851 1.14
  • 17. RQ3 Are Cross Language Modules more defect-prone? Metric: Odds ratio of CLM with/without defects , ILM with/without defects Considering interaction between specific ordered pairs of extensions (RQ3.3). C Java Properties sh XML C - Inf 0 0 Inf Java 2.79 - 0.32 0.43 0.96 Properties Inf 1 - 12.08 0.94 Sh 3.55 4.45 17.17 - 7.44 Xml 3.83 0.95 3.22 4.73 - In bold significant values
  • 18. Threats • Confounding factors: age and size of modules • Usage of proxy for interaction between artifacts • Apache Hadoop representativeness • Renaming of modules
  • 20. Language interaction depends on the type of activity
  • 21. Frequent interactions are generally not symmetric Many of them involve XML
  • 22. In general language interaction is not related to higher defect proneness, see Java Though several language pairs have CLMs significantly more defect prone then ILMs, see C
  • 23. Questions? Languages interaction and possible effects: an exploratory study Antonio Vetrò - Federico Tomassetti Marco Torchiano - Maurizio Morisio

Editor's Notes

  1. NB: file type = extension!!
  2. CLR_{m,ext} = \\frac{\\# CLC_{m,ext}}{\\# CLC_{m,ext} + \\# ILC_{m,ext}} CLR_{ext} = \\frac{\\displaystyle\\sum_{m \\in ext}{CLR_{m,ext}}}{\\# m \\in ext} CLR_{extA,extB} = \\frac{\\displaystyle\\sum_{m \\in extA}{CLR_{m,extB}}}{\\# m \\in extA}
  3. CLR_{m,ext} = \\frac{\\# CLC_{m,ext}}{\\# CLC_{m,ext} + \\# ILC_{m,ext}} CLR_{ext} = \\frac{\\displaystyle\\sum_{m \\in ext}{CLR_{m,ext}}}{\\# m \\in ext} CLR_{extA,extB} = \\frac{\\displaystyle\\sum_{m \\in extA}{CLR_{m,extB}}}{\\# m \\in extA}
  4. CLR_{m,ext} = \\frac{\\# CLC_{m,ext}}{\\# CLC_{m,ext} + \\# ILC_{m,ext}} CLR_{ext} = \\frac{\\displaystyle\\sum_{m \\in ext}{CLR_{m,ext}}}{\\# m \\in ext} CLR_{extA,extB} = \\frac{\\displaystyle\\sum_{m \\in extA}{CLR_{m,extB}}}{\\# m \\in extA}