Classification of languages interactions

454 views
364 views

Published on

Context: the presence of several languages interacting
each other within the same project is an almost universal
feature in software development. Earlier work shows that this
interaction might be source of problems.
Goal: we aim at identifying and characterizing the crosslanguage
interactions at semantic level.
Method: we took the commits of an open source project
and analyzed the cross-language pairs of files occurring in the
same commit to identify possible semantic interactions. We both
defined a taxonomy and applied it.
Result: we identify 6 categories of semantic interactions. The
most common category is the one based on shared ids, the next
is when an artifact provides a description of another artifact.
Conclusions: the deeper knowledge of cross-language interactions
represents the basis for implementing a tool supporting the
management of this kind of interactions and the detection of
related problems at compile time.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
454
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Classification of languages interactions

  1. 1. Technische Universität München Languages interaction classification Antonio Vetro’ Technische Universität München Germany Joint work with Federico Tomassetti, Marco Torchiano Politecnico di Torino, Italy ESEM 2013 Baltimore, MD, USA 11 October 2013 @phisaz
  2. 2. Technische Universität München A proposal to handle languages integration ESEM 2013 ESEM 2012 MISE 2013 Can language interaction be source of problems ? What type of language interactions we need to detect ?
  3. 3. Technische Universität München Problem
  4. 4. Technische Universität München Problem
  5. 5. Technische Universität München Problem
  6. 6. Technische Universität München Commit types Language A (.extA) Cross-Language Commit (CLC) Intra-Language Commit (ILC) Language B (.extB)
  7. 7. Technische Universität München 1. Screening Cross-Language Fix Commit 2. Selection
  8. 8. Technische Universität München
  9. 9. Technische Universität München 3. Manual verification
  10. 10. Technische Universität München 4. Semantic interaction manual confirmation and classification
  11. 11. Technische Universität München Classification
  12. 12. Technische Universität München Share ID The same ID is used among the artifacts involved in the interaction. src/java/core-default.xml src/java/or/apache/hadoop/fs/s3/S3FileSystem.java Commit 1058343
  13. 13. Technische Universität München Shared data A piece of data have to hold exactly the same value among the different artifacts involved. ivy/hadoop-common-template.xml ivy/libraries.properties Commit 1134857
  14. 14. Technische Universität München Data loading A data from one of the file involved is loaded by the code in another file involved. src/test/test-fake-default src/test/core/org/apache/hadoop/conf/Test/ConfigurationDeprecation.java Commit 1126719
  15. 15. Technische Universität München Generation One or more files are completely or partially generated by the execution of one file. Also the modification of part of a file is accepted. src/main/packages/hadoop-setup-conf.sh .../mapred-site.xml Commit 1190035
  16. 16. Technische Universität München Description One of the file involved contained a description of the content of another file (a part or the whole file). src/docs/src/documentation/content/xdocs/cluster_setup.xml src/java/org/apache/hadoop/security/authorize/AccessControlList.java Commit 998001
  17. 17. Technische Universität München Execution One file executes the code contained in another file pom.xml src/java/org/apache/hadoop/classification/tools/IncludePublicAnnotationsStandard Doclet.java Commit 1195817
  18. 18. Technische Universität München Classification Shared ID Shared data Data loading Generation Description Execution
  19. 19. Technische Universität München
  20. 20. Technische Universität München
  21. 21. Technische Universität München A proposal to handle languages integration Automatic interaction detection ESEM 2013 ESEM 2012 MISE 2013 Can language interaction be source of problems ? Tool support for What type of developers language interaction we need to detect ?
  22. 22. Technische Universität München Languages interaction classification Questions? Antonio Vetro’ Technische Universität München Germany Joint work with Federico Tomassetti, Marco Torchiano Politecnico di Torino, Italy ESEM 2013 Baltimore, MD, USA 11 October 2013 @phisaz
  23. 23. Technische Universität München Thank you

×