SlideShare a Scribd company logo
1 of 23
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

More Related Content

What's hot

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
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
 
Deep learning for NLP and Transformer
 Deep learning for NLP  and Transformer Deep learning for NLP  and Transformer
Deep learning for NLP and TransformerArvind Devaraj
 
PL Lecture 02 - Binding and Scope
PL Lecture 02 - Binding and ScopePL Lecture 02 - Binding and Scope
PL Lecture 02 - Binding and ScopeSchwannden Kuo
 
Named Entity Recognition using Hidden Markov Model (HMM)
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
 
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...
2017:12:06 acl読み会"Learning attention for historical text normalization by lea...ayaha osaki
 
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...
A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...Minh Pham
 
Notes on attention mechanism
Notes on attention mechanismNotes on attention mechanism
Notes on attention mechanismKhang Pham
 
BERT: Bidirectional Encoder Representations from Transformers
BERT: Bidirectional Encoder Representations from TransformersBERT: Bidirectional Encoder Representations from Transformers
BERT: Bidirectional Encoder Representations from TransformersLiangqun Lu
 
Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)
Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)
Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)Universitat Politècnica de Catalunya
 
Enriching Word Vectors with Subword Information
Enriching Word Vectors with Subword InformationEnriching Word Vectors with Subword Information
Enriching Word Vectors with Subword InformationSeonghyun Kim
 
C# Common Type System & Common Language Specification
C# Common Type System & Common Language Specification C# Common Type System & Common Language Specification
C# Common Type System & Common Language Specification Prem Kumar Badri
 
Tiancheng Zhao - 2017 - Learning Discourse-level Diversity for Neural Dialog...
Tiancheng Zhao - 2017 -  Learning Discourse-level Diversity for Neural Dialog...Tiancheng Zhao - 2017 -  Learning Discourse-level Diversity for Neural Dialog...
Tiancheng Zhao - 2017 - Learning Discourse-level Diversity for Neural Dialog...Association for Computational Linguistics
 
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
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 UnderstandingSeonghyun Kim
 
Seq2seq Model to Tokenize the Chinese Language
Seq2seq Model to Tokenize the Chinese LanguageSeq2seq Model to Tokenize the Chinese Language
Seq2seq Model to Tokenize the Chinese LanguageJinho Choi
 
Transformers to Learn Hierarchical Contexts in Multiparty Dialogue
Transformers to Learn Hierarchical Contexts in Multiparty DialogueTransformers to Learn Hierarchical Contexts in Multiparty Dialogue
Transformers to Learn Hierarchical Contexts in Multiparty DialogueJinho Choi
 

What's hot (20)

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
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
 
Deep learning for NLP and Transformer
 Deep learning for NLP  and Transformer Deep learning for NLP  and Transformer
Deep learning for NLP and Transformer
 
PL Lecture 02 - Binding and Scope
PL Lecture 02 - Binding and ScopePL Lecture 02 - Binding and Scope
PL Lecture 02 - Binding and Scope
 
Named Entity Recognition using Hidden Markov Model (HMM)
Named Entity Recognition using Hidden Markov Model (HMM)Named Entity Recognition using Hidden Markov Model (HMM)
Named Entity Recognition using Hidden Markov Model (HMM)
 
Introduction to Transformer Model
Introduction to Transformer ModelIntroduction to Transformer Model
Introduction to Transformer Model
 
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...
2017:12:06 acl読み会"Learning attention for historical text normalization by lea...
 
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...
A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...
 
Notes on attention mechanism
Notes on attention mechanismNotes on attention mechanism
Notes on attention mechanism
 
BERT: Bidirectional Encoder Representations from Transformers
BERT: Bidirectional Encoder Representations from TransformersBERT: Bidirectional Encoder Representations from Transformers
BERT: Bidirectional Encoder Representations from Transformers
 
Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)
Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)
Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)
 
[Paper review] BERT
[Paper review] BERT[Paper review] BERT
[Paper review] BERT
 
Enriching Word Vectors with Subword Information
Enriching Word Vectors with Subword InformationEnriching Word Vectors with Subword Information
Enriching Word Vectors with Subword Information
 
Deep Learning for Machine Translation
Deep Learning for Machine TranslationDeep Learning for Machine Translation
Deep Learning for Machine Translation
 
C# Common Type System & Common Language Specification
C# Common Type System & Common Language Specification C# Common Type System & Common Language Specification
C# Common Type System & Common Language Specification
 
Tiancheng Zhao - 2017 - Learning Discourse-level Diversity for Neural Dialog...
Tiancheng Zhao - 2017 -  Learning Discourse-level Diversity for Neural Dialog...Tiancheng Zhao - 2017 -  Learning Discourse-level Diversity for Neural Dialog...
Tiancheng Zhao - 2017 - Learning Discourse-level Diversity for Neural Dialog...
 
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
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
 
Probabilistic content models,
Probabilistic content models,Probabilistic content models,
Probabilistic content models,
 
Seq2seq Model to Tokenize the Chinese Language
Seq2seq Model to Tokenize the Chinese LanguageSeq2seq Model to Tokenize the Chinese Language
Seq2seq Model to Tokenize the Chinese Language
 
Transformers to Learn Hierarchical Contexts in Multiparty Dialogue
Transformers to Learn Hierarchical Contexts in Multiparty DialogueTransformers to Learn Hierarchical Contexts in Multiparty Dialogue
Transformers to Learn Hierarchical Contexts in Multiparty Dialogue
 
Bert
BertBert
Bert
 

Similar to Language Interaction and Quality Issues: An Exploratory Study

MLE_keynote.pdf
MLE_keynote.pdfMLE_keynote.pdf
MLE_keynote.pdfmiso_uam
 
Common language runtime clr
Common language runtime clrCommon language runtime clr
Common language runtime clrSanSan149
 
Architecting Domain-Specific Languages
Architecting Domain-Specific LanguagesArchitecting Domain-Specific Languages
Architecting Domain-Specific LanguagesMarkus Voelter
 
Keynote joearmstrong
Keynote joearmstrongKeynote joearmstrong
Keynote joearmstrongSentifi
 
Hate speech detection
Hate speech detectionHate speech detection
Hate speech detectionNASIM ALAM
 
Re-implementing Thrift using MDE
Re-implementing Thrift using MDERe-implementing Thrift using MDE
Re-implementing Thrift using MDESina Madani
 
Future Programming Language
Future Programming LanguageFuture Programming Language
Future Programming LanguageYLTO
 
.Net framework components by naveen kumar veligeti
.Net framework components by naveen kumar veligeti.Net framework components by naveen kumar veligeti
.Net framework components by naveen kumar veligetiNaveen Kumar Veligeti
 
C#_01_CLROverview.ppt
C#_01_CLROverview.pptC#_01_CLROverview.ppt
C#_01_CLROverview.pptMarcEdwards35
 
Semantic Web languages: Expressivity vs scalability
Semantic Web languages: Expressivity vs scalabilitySemantic Web languages: Expressivity vs scalability
Semantic Web languages: Expressivity vs scalabilitynvitucci
 
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...
Sioux Hot-or-Not: Functional programming: unlocking the real power of multi-c...siouxhotornot
 
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...
Reflective and Refractive Variables: A Model for Effective and Maintainable A...Vincenzo De Florio
 
Session2 (3)
Session2 (3)Session2 (3)
Session2 (3)DrUjwala1
 
Distributed Reactive Services with Reactor & Spring - Stéphane Maldini
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 MaldiniVMware Tanzu
 

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

MLE_keynote.pdf
MLE_keynote.pdfMLE_keynote.pdf
MLE_keynote.pdf
 
Common language runtime clr
Common language runtime clrCommon language runtime clr
Common language runtime clr
 
Architecting Domain-Specific Languages
Architecting Domain-Specific LanguagesArchitecting Domain-Specific Languages
Architecting Domain-Specific Languages
 
Keynote joearmstrong
Keynote joearmstrongKeynote joearmstrong
Keynote joearmstrong
 
Hate speech detection
Hate speech detectionHate speech detection
Hate speech detection
 
Seeking Clojure
Seeking ClojureSeeking Clojure
Seeking Clojure
 
Re-implementing Thrift using MDE
Re-implementing Thrift using MDERe-implementing Thrift using MDE
Re-implementing Thrift using MDE
 
Future Programming Language
Future Programming LanguageFuture Programming Language
Future Programming Language
 
.Net framework components by naveen kumar veligeti
.Net framework components by naveen kumar veligeti.Net framework components by naveen kumar veligeti
.Net framework components by naveen kumar veligeti
 
Microsoft.Net
Microsoft.NetMicrosoft.Net
Microsoft.Net
 
Net framework
Net frameworkNet framework
Net framework
 
CNN for modeling sentence
CNN for modeling sentenceCNN for modeling sentence
CNN for modeling sentence
 
C#_01_CLROverview.ppt
C#_01_CLROverview.pptC#_01_CLROverview.ppt
C#_01_CLROverview.ppt
 
Semantic Web languages: Expressivity vs scalability
Semantic Web languages: Expressivity vs scalabilitySemantic Web languages: Expressivity vs scalability
Semantic Web languages: Expressivity vs scalability
 
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...
Sioux Hot-or-Not: Functional programming: unlocking the real power of multi-c...
 
Asp.net main
Asp.net mainAsp.net main
Asp.net main
 
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...
Reflective and Refractive Variables: A Model for Effective and Maintainable A...
 
Session2 (3)
Session2 (3)Session2 (3)
Session2 (3)
 
Transformers AI PPT.pptx
Transformers AI PPT.pptxTransformers AI PPT.pptx
Transformers AI PPT.pptx
 
Distributed Reactive Services with Reactor & Spring - Stéphane Maldini
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
 

More from Marco Torchiano

Testing the UI of Mobile Applications
Testing the UI of Mobile ApplicationsTesting the UI of Mobile Applications
Testing the UI of Mobile ApplicationsMarco Torchiano
 
Software Engineering II Course at Politecnico di Torino
Software Engineering II Course at Politecnico di TorinoSoftware Engineering II Course at Politecnico di Torino
Software Engineering II Course at Politecnico di TorinoMarco Torchiano
 
Espresso vs. EyeAutomate: comparing two generations of Android GUI testing tools
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
 
Research Activities: past, present, and future.
Research Activities: past, present, and future.Research Activities: past, present, and future.
Research Activities: past, present, and future.Marco Torchiano
 
Data Quality - Standards e Applicazioni
Data Quality - Standards e ApplicazioniData Quality - Standards e Applicazioni
Data Quality - Standards e ApplicazioniMarco Torchiano
 
Data Quality - Standards and Application to Open Data
Data Quality - Standards and Application to Open DataData Quality - Standards and Application to Open Data
Data Quality - Standards and Application to Open DataMarco Torchiano
 
Riflessioni su Riforma Costituzionale "Renzi-Boschi"
Riflessioni su Riforma Costituzionale "Renzi-Boschi"Riflessioni su Riforma Costituzionale "Renzi-Boschi"
Riflessioni su Riforma Costituzionale "Renzi-Boschi"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...
Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech...Marco Torchiano
 
Energy Consumption Analysis
 of Image Encoding and Decoding Algorithms
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 AlgorithmsMarco 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...
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...Marco Torchiano
 
A Model-Based Approach to Language Integration
A Model-Based Approach to Language Integration A Model-Based Approach to Language Integration
A Model-Based Approach to Language Integration Marco Torchiano
 
On the computation of Truck Factor
On the computation of Truck FactorOn the computation of Truck Factor
On the computation of Truck FactorMarco Torchiano
 
The impact of process maturity on defect density
The impact of process maturity on defect densityThe impact of process maturity on defect density
The impact of process maturity on defect densityMarco Torchiano
 

More from Marco Torchiano (14)

Testing the UI of Mobile Applications
Testing the UI of Mobile ApplicationsTesting the UI of Mobile Applications
Testing the UI of Mobile Applications
 
Software Engineering II Course at Politecnico di Torino
Software Engineering II Course at Politecnico di TorinoSoftware Engineering II Course at Politecnico di Torino
Software Engineering II Course at Politecnico di Torino
 
Espresso vs. EyeAutomate: comparing two generations of Android GUI testing tools
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
 
Research Activities: past, present, and future.
Research Activities: past, present, and future.Research Activities: past, present, and future.
Research Activities: past, present, and future.
 
Data Quality - Standards e Applicazioni
Data Quality - Standards e ApplicazioniData Quality - Standards e Applicazioni
Data Quality - Standards e Applicazioni
 
Data Quality - Standards and Application to Open Data
Data Quality - Standards and Application to Open DataData Quality - Standards and Application to Open Data
Data Quality - Standards and Application to Open Data
 
Data Visualization
Data VisualizationData Visualization
Data Visualization
 
Riflessioni su Riforma Costituzionale "Renzi-Boschi"
Riflessioni su Riforma Costituzionale "Renzi-Boschi"Riflessioni su Riforma Costituzionale "Renzi-Boschi"
Riflessioni su Riforma Costituzionale "Renzi-Boschi"
 
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...
Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech...
 
Energy Consumption Analysis
 of Image Encoding and Decoding Algorithms
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
 
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...
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
 
A Model-Based Approach to Language Integration
A Model-Based Approach to Language Integration A Model-Based Approach to Language Integration
A Model-Based Approach to Language Integration
 
On the computation of Truck Factor
On the computation of Truck FactorOn the computation of Truck Factor
On the computation of Truck Factor
 
The impact of process maturity on defect density
The impact of process maturity on defect densityThe impact of process maturity on defect density
The impact of process maturity on defect density
 

Recently uploaded

[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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Recently uploaded (20)

[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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

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}