SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
The impact of 
supercomputers on MSR 
Y. Kamei A. Osaka C. Huang N. Ubayashi 
MSR Next Generation 2014@HKUST
Who am I? 
❖ Yasutaka Kamei 
http://posl.ait.kyushu-u.ac.jp/~kamei/ 
❖ My research interests are 
2 
Summer Winter 
Understanding 
OSS Collaboration 
Improving 
Software Quality 
Scaling up 
MSR Analysis
Today... 
❖ Derive messages from HPC community 
to MSR community. 
• Make use of High Performance Computing 
(HPC) in MSR. 
HPC MSR 
3
2014: A Space Odyssey 
❖ MSR researchers will explore treasure in 
the Universe anytime soon. 
4 
2004 2014
2014: A Space Odyssey 
❖ MSR researchers will explore treasure in 
the Universe anytime soon. 
5 
Diversity in software engineering 
research @ FSE 2013 
20,028 projects as the Universe 
2004 2014
2014: A Space Odyssey 
❖ MSR researchers will explore treasure in 
the Universe anytime soon. 
6 
Diversity in software engineering 
research @ FSE 2013 
20,028 projects as the Universe 
Challenges in Mining Whole 
Software Universe 
2004 2014
One solution is 
❖ Supercomputer 
❖ In the case of FX10, 
• CPU: 16 cores 
• Memory: 32 GByte 
× 4,800 nodes 
7
However… 
❖ The adoption rate for HPC is still low. 
8 
Domain-Specific 
techniques for 
Only Fortran using HPC? 
and C? 
My tool is imple-mented 
by
Prof. Chiba says 
❖ Via collaboration of CREST project, 
9 
We can use Java, Ruby 
and Python on FX10!
Case Study 
❖ Evaluate the impact that HPC can have 
on MSR analyses. 
❖ Apply HPC (FX10) to Code Clone 
Detection. 
10
Code Clone 
❖ A code fragment that has identical or 
similar code fragments 
11 
copy%and%paste copy%and%paste 
code%clone 
clone%fragment 
clone%fragment 
clone%fragment 
Hotta et al. CSMR 2012
Type-3 Clones 
❖ Programmers often make some changes 
to code fragments after copy-and-paste. 
Zhang et al. ICSM 2012 
12 
final 
public 
void 
daload() 
{ 
 countLabels 
= 
0; 
 try 
{ 
position++; 
bCodeStream[i++] 
= 
OPC_daload; 
} 
catch 
(Exception 
e) 
{ 
resizeByteArray(OPC_daload); 
} 
}
Type-3 Clones 
❖ Programmers often make some changes 
to code fragments after copy-and-paste. 
Zhang et al. ICSM 2012 
13 
final 
public 
void 
daload() 
{ 
 countLabels 
= 
0; 
 try 
{ 
position++; 
bCodeStream[i++] 
= 
OPC_daload; 
} 
catch 
(Exception 
e) 
{ 
resizeByteArray(OPC_daload); 
} 
} 
final 
public 
void 
daload() 
{ 
countLabels 
= 
0; 
try 
{ 
position++; 
bCodeStream[i++] 
= 
OPC_daload; 
} 
catch 
(Exception 
e) 
{ 
resizeByteArray(OPC_daload); 
} 
} 
copy-and-paste
Type-3 Clones 
❖ Programmers often make some changes 
to code fragments after copy-and-paste. 
Zhang et al. ICSM 2012 
14 
final 
public 
void 
daload() 
{ 
 countLabels 
= 
0; 
 try 
{ 
position++; 
bCodeStream[i++] 
= 
OPC_daload; 
} 
catch 
(Exception 
e) 
{ 
resizeByteArray(OPC_daload); 
} 
} 
final 
public 
void 
daload() 
{ 
countLabels 
= 
0; 
stackDepth 
+= 
2; 
if 
(stackDepth 
 
stackMax) 
stackMax 
= 
stackDepth; 
try 
{ 
position++; 
bCodeStream[i++] 
= 
OPC_daload; 
} 
catch 
(Exception 
e) 
{ 
resizeByteArray(OPC_daload); 
} 
} 
copy-and-paste 
gap 
added code 
fragment 
Type-3 clones
Our collaborator 
❖ Dr. Keisuke Hotta 
• Postdoc 
• Osaka University, Japan 
• Visiting Researcher 
• Bremen University, Germany 
❖ Help our group to use Scorpio (jar file), 
which is a PDG-based Type-3 clone 
detection tool. 
15
Case Study Setting 
❖ Environment 
❖ Dataset 
• Apache CXF 
• LOC: 830K 
• SIZE: 150MB 
16 
CPU 
Memory [GB] 
per node 
Cores × Nodes 
Desktop 1 
Intel® Core™ i7 
16 
12×1 
Desktop 2 
Xeon E5-2630 v2 
144 
12×1 
FX10 
SPARC64™ IXfx 
32 
16×190
17 
FX10 is much faster! 
127h28m 
42s 
2h15m 
16m58s 
Desktop 1 Desktop 2 FX10 
Time
How to run Scorpio in FX10 
❖ Describe only 20-30 lines of (bash) 
code to run Scorpio in FX10. 
18 
#!/bin/bash 
#PJM ‒L “rscgrp=debug” 
#PJM ‒L “node=190” 
#PJM ‒L “elapse=30:00” 
#PJB ‒j 
#PJM ‒S 
module load Java 
…⋯ 
java scorpio.jar 
How many nodes do 
we use? 
How long do we use 
FX10? 
What are output 
options?
Current our challenges 
19 
Apache CXF 
6,000 files 
Apache All 
Projects 
770,000 files 
UCI Dataset 
390,000,000 
files 
Done Doing ToDo
Challenges in Mining Whole 
Software Universe 
2140 
Diversity in software engineering 
research @ FSE 2013 
20,028 projects as the Universe 
FX10 is much faster! 
127h28m 
42s 
2h15m 
16m58s 
Desktop 1 Desktop 2 FX10 
Time 
Case Study 
❖ Evaluate the impact that HPC can have 
on MSR analyses. 
❖ Apply HPC (FX10) to Code Clone 
Detection. 
7 
Today... 
❖ Derive messages from HPC community 
to MSR community. 
• Make use of High Performance Computing 
(HPC) in MSR. 
HPC MSR 
2 
2014: A Space Odyssey 
❖ MSR researchers will explore treasure in 
the Universe anytime soon. 
3 
2004 2014

Mais conteúdo relacionado

Mais procurados

Mirage: ML kernels in the cloud (ML Workshop 2010)
Mirage: ML kernels in the cloud (ML Workshop 2010)Mirage: ML kernels in the cloud (ML Workshop 2010)
Mirage: ML kernels in the cloud (ML Workshop 2010)
Anil Madhavapeddy
 
Tracing versus Partial Evaluation: Which Meta-Compilation Approach is Better ...
Tracing versus Partial Evaluation: Which Meta-Compilation Approach is Better ...Tracing versus Partial Evaluation: Which Meta-Compilation Approach is Better ...
Tracing versus Partial Evaluation: Which Meta-Compilation Approach is Better ...
Stefan Marr
 

Mais procurados (20)

[Paper Reading]Chucky: A Succinct Cuckoo Filter for LSM-Tree
[Paper Reading]Chucky: A Succinct Cuckoo Filter for LSM-Tree[Paper Reading]Chucky: A Succinct Cuckoo Filter for LSM-Tree
[Paper Reading]Chucky: A Succinct Cuckoo Filter for LSM-Tree
 
Code gpu with cuda - CUDA introduction
Code gpu with cuda - CUDA introductionCode gpu with cuda - CUDA introduction
Code gpu with cuda - CUDA introduction
 
Mirage: ML kernels in the cloud (ML Workshop 2010)
Mirage: ML kernels in the cloud (ML Workshop 2010)Mirage: ML kernels in the cloud (ML Workshop 2010)
Mirage: ML kernels in the cloud (ML Workshop 2010)
 
Tracing versus Partial Evaluation: Which Meta-Compilation Approach is Better ...
Tracing versus Partial Evaluation: Which Meta-Compilation Approach is Better ...Tracing versus Partial Evaluation: Which Meta-Compilation Approach is Better ...
Tracing versus Partial Evaluation: Which Meta-Compilation Approach is Better ...
 
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
 
Всеволод Поляков (DevOps Team Lead в Grammarly)
Всеволод Поляков (DevOps Team Lead в Grammarly)Всеволод Поляков (DevOps Team Lead в Grammarly)
Всеволод Поляков (DevOps Team Lead в Grammarly)
 
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...
 
function* - ES6, generators, and all that (JSRomandie meetup, February 2014)
function* - ES6, generators, and all that (JSRomandie meetup, February 2014)function* - ES6, generators, and all that (JSRomandie meetup, February 2014)
function* - ES6, generators, and all that (JSRomandie meetup, February 2014)
 
C++ in kernel mode
C++ in kernel modeC++ in kernel mode
C++ in kernel mode
 
Compiler basics: lisp to assembly
Compiler basics: lisp to assemblyCompiler basics: lisp to assembly
Compiler basics: lisp to assembly
 
Goroutine stack and local variable allocation in Go
Goroutine stack and local variable allocation in GoGoroutine stack and local variable allocation in Go
Goroutine stack and local variable allocation in Go
 
Why Is Concurrent Programming Hard? And What Can We Do about It?
Why Is Concurrent Programming Hard? And What Can We Do about It?Why Is Concurrent Programming Hard? And What Can We Do about It?
Why Is Concurrent Programming Hard? And What Can We Do about It?
 
LCDS - State Presentation
LCDS - State PresentationLCDS - State Presentation
LCDS - State Presentation
 
Status at 2015, Ruby implementation of openEHR
Status at 2015, Ruby implementation of openEHRStatus at 2015, Ruby implementation of openEHR
Status at 2015, Ruby implementation of openEHR
 
FOSDEM 2020: Querying over millions and billions of metrics with M3DB's index
FOSDEM 2020: Querying over millions and billions of metrics with M3DB's indexFOSDEM 2020: Querying over millions and billions of metrics with M3DB's index
FOSDEM 2020: Querying over millions and billions of metrics with M3DB's index
 
Slide smallfiles
Slide smallfilesSlide smallfiles
Slide smallfiles
 
JavaScriptCore's DFG JIT (JSConf EU 2012)
JavaScriptCore's DFG JIT (JSConf EU 2012)JavaScriptCore's DFG JIT (JSConf EU 2012)
JavaScriptCore's DFG JIT (JSConf EU 2012)
 
.NET Memory Primer (Martin Kulov)
.NET Memory Primer (Martin Kulov).NET Memory Primer (Martin Kulov)
.NET Memory Primer (Martin Kulov)
 
Мониторинг. Опять, rootconf 2016
Мониторинг. Опять, rootconf 2016Мониторинг. Опять, rootconf 2016
Мониторинг. Опять, rootconf 2016
 
Metrics: where and how
Metrics: where and howMetrics: where and how
Metrics: where and how
 

Destaque

Icsm2010 kamei
Icsm2010 kameiIcsm2010 kamei
Icsm2010 kamei
SAIL_QU
 
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A Study of the Quality-Impacting Practices of Modern Code Review at Sony MobileA Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
SAIL_QU
 
Revisiting the Applicability of the Pareto Principle to Core Development Team...
Revisiting the Applicability of the Pareto Principle to Core Development Team...Revisiting the Applicability of the Pareto Principle to Core Development Team...
Revisiting the Applicability of the Pareto Principle to Core Development Team...
SAIL_QU
 
Icse2011 build maintenance
Icse2011 build maintenanceIcse2011 build maintenance
Icse2011 build maintenance
SAIL_QU
 
An Empirical Study of Goto in C Code from GitHub Repositories
An Empirical Study of Goto in C Code from GitHub RepositoriesAn Empirical Study of Goto in C Code from GitHub Repositories
An Empirical Study of Goto in C Code from GitHub Repositories
SAIL_QU
 

Destaque (8)

Defect Prediction: Accomplishments and Future Challenges
Defect Prediction: Accomplishments and Future ChallengesDefect Prediction: Accomplishments and Future Challenges
Defect Prediction: Accomplishments and Future Challenges
 
Icsm2010 kamei
Icsm2010 kameiIcsm2010 kamei
Icsm2010 kamei
 
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A Study of the Quality-Impacting Practices of Modern Code Review at Sony MobileA Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
 
Revisiting the Applicability of the Pareto Principle to Core Development Team...
Revisiting the Applicability of the Pareto Principle to Core Development Team...Revisiting the Applicability of the Pareto Principle to Core Development Team...
Revisiting the Applicability of the Pareto Principle to Core Development Team...
 
Icse2011 build maintenance
Icse2011 build maintenanceIcse2011 build maintenance
Icse2011 build maintenance
 
An Automated Approach for Recommending When to Stop Performance Tests
An Automated Approach for Recommending When to Stop Performance TestsAn Automated Approach for Recommending When to Stop Performance Tests
An Automated Approach for Recommending When to Stop Performance Tests
 
A Holistic Approach to Evolving Software Systems
A Holistic Approach to Evolving Software SystemsA Holistic Approach to Evolving Software Systems
A Holistic Approach to Evolving Software Systems
 
An Empirical Study of Goto in C Code from GitHub Repositories
An Empirical Study of Goto in C Code from GitHub RepositoriesAn Empirical Study of Goto in C Code from GitHub Repositories
An Empirical Study of Goto in C Code from GitHub Repositories
 

Semelhante a The impact of supercomputers on MSR

Finding Xori: Malware Analysis Triage with Automated Disassembly
Finding Xori: Malware Analysis Triage with Automated DisassemblyFinding Xori: Malware Analysis Triage with Automated Disassembly
Finding Xori: Malware Analysis Triage with Automated Disassembly
Priyanka Aash
 
Alto Desempenho com Java
Alto Desempenho com JavaAlto Desempenho com Java
Alto Desempenho com Java
codebits
 

Semelhante a The impact of supercomputers on MSR (20)

Experiences building a distributed shared log on RADOS - Noah Watkins
Experiences building a distributed shared log on RADOS - Noah WatkinsExperiences building a distributed shared log on RADOS - Noah Watkins
Experiences building a distributed shared log on RADOS - Noah Watkins
 
Scala & Spark(1.6) in Performance Aspect for Scala Taiwan
Scala & Spark(1.6) in Performance Aspect for Scala TaiwanScala & Spark(1.6) in Performance Aspect for Scala Taiwan
Scala & Spark(1.6) in Performance Aspect for Scala Taiwan
 
Java On CRaC
Java On CRaCJava On CRaC
Java On CRaC
 
Finding Xori: Malware Analysis Triage with Automated Disassembly
Finding Xori: Malware Analysis Triage with Automated DisassemblyFinding Xori: Malware Analysis Triage with Automated Disassembly
Finding Xori: Malware Analysis Triage with Automated Disassembly
 
Alto Desempenho com Java
Alto Desempenho com JavaAlto Desempenho com Java
Alto Desempenho com Java
 
Java Memory Model
Java Memory ModelJava Memory Model
Java Memory Model
 
Crystal internals (part 1)
Crystal internals (part 1)Crystal internals (part 1)
Crystal internals (part 1)
 
Crystal internals (part 1)
Crystal internals (part 1)Crystal internals (part 1)
Crystal internals (part 1)
 
Crystal internals (part 1)
Crystal internals (part 1)Crystal internals (part 1)
Crystal internals (part 1)
 
Kubernetes @ Squarespace (SRE Portland Meetup October 2017)
Kubernetes @ Squarespace (SRE Portland Meetup October 2017)Kubernetes @ Squarespace (SRE Portland Meetup October 2017)
Kubernetes @ Squarespace (SRE Portland Meetup October 2017)
 
Engineer Engineering Software
Engineer Engineering SoftwareEngineer Engineering Software
Engineer Engineering Software
 
presentation
presentationpresentation
presentation
 
The Proto-Burst Buffer: Experience with the flash-based file system on SDSC's...
The Proto-Burst Buffer: Experience with the flash-based file system on SDSC's...The Proto-Burst Buffer: Experience with the flash-based file system on SDSC's...
The Proto-Burst Buffer: Experience with the flash-based file system on SDSC's...
 
InfluxDB IOx Tech Talks: Intro to the InfluxDB IOx Read Buffer - A Read-Optim...
InfluxDB IOx Tech Talks: Intro to the InfluxDB IOx Read Buffer - A Read-Optim...InfluxDB IOx Tech Talks: Intro to the InfluxDB IOx Read Buffer - A Read-Optim...
InfluxDB IOx Tech Talks: Intro to the InfluxDB IOx Read Buffer - A Read-Optim...
 
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at NightHow Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
 
Understanding and Measuring I/O Performance
Understanding and Measuring I/O PerformanceUnderstanding and Measuring I/O Performance
Understanding and Measuring I/O Performance
 
차세대컴파일러, VM의미래: 애플 오픈소스 LLVM
차세대컴파일러, VM의미래: 애플 오픈소스 LLVM차세대컴파일러, VM의미래: 애플 오픈소스 LLVM
차세대컴파일러, VM의미래: 애플 오픈소스 LLVM
 
Revelation pyconuk2016
Revelation pyconuk2016Revelation pyconuk2016
Revelation pyconuk2016
 
SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)
SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)
SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)
 
QNIBTerminal: Understand your datacenter by overlaying multiple information l...
QNIBTerminal: Understand your datacenter by overlaying multiple information l...QNIBTerminal: Understand your datacenter by overlaying multiple information l...
QNIBTerminal: Understand your datacenter by overlaying multiple information l...
 

Último

Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
amitlee9823
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
amitlee9823
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
amitlee9823
 
Probability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter LessonsProbability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter Lessons
JoseMangaJr1
 
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
amitlee9823
 

Último (20)

Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptx
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
ELKO dropshipping via API with DroFx.pptx
ELKO dropshipping via API with DroFx.pptxELKO dropshipping via API with DroFx.pptx
ELKO dropshipping via API with DroFx.pptx
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
 
Probability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter LessonsProbability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter Lessons
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
Sampling (random) method and Non random.ppt
Sampling (random) method and Non random.pptSampling (random) method and Non random.ppt
Sampling (random) method and Non random.ppt
 
Anomaly detection and data imputation within time series
Anomaly detection and data imputation within time seriesAnomaly detection and data imputation within time series
Anomaly detection and data imputation within time series
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptx
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptx
 
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
 

The impact of supercomputers on MSR

  • 1. The impact of supercomputers on MSR Y. Kamei A. Osaka C. Huang N. Ubayashi MSR Next Generation 2014@HKUST
  • 2. Who am I? ❖ Yasutaka Kamei http://posl.ait.kyushu-u.ac.jp/~kamei/ ❖ My research interests are 2 Summer Winter Understanding OSS Collaboration Improving Software Quality Scaling up MSR Analysis
  • 3. Today... ❖ Derive messages from HPC community to MSR community. • Make use of High Performance Computing (HPC) in MSR. HPC MSR 3
  • 4. 2014: A Space Odyssey ❖ MSR researchers will explore treasure in the Universe anytime soon. 4 2004 2014
  • 5. 2014: A Space Odyssey ❖ MSR researchers will explore treasure in the Universe anytime soon. 5 Diversity in software engineering research @ FSE 2013 20,028 projects as the Universe 2004 2014
  • 6. 2014: A Space Odyssey ❖ MSR researchers will explore treasure in the Universe anytime soon. 6 Diversity in software engineering research @ FSE 2013 20,028 projects as the Universe Challenges in Mining Whole Software Universe 2004 2014
  • 7. One solution is ❖ Supercomputer ❖ In the case of FX10, • CPU: 16 cores • Memory: 32 GByte × 4,800 nodes 7
  • 8. However… ❖ The adoption rate for HPC is still low. 8 Domain-Specific techniques for Only Fortran using HPC? and C? My tool is imple-mented by
  • 9. Prof. Chiba says ❖ Via collaboration of CREST project, 9 We can use Java, Ruby and Python on FX10!
  • 10. Case Study ❖ Evaluate the impact that HPC can have on MSR analyses. ❖ Apply HPC (FX10) to Code Clone Detection. 10
  • 11. Code Clone ❖ A code fragment that has identical or similar code fragments 11 copy%and%paste copy%and%paste code%clone clone%fragment clone%fragment clone%fragment Hotta et al. CSMR 2012
  • 12. Type-3 Clones ❖ Programmers often make some changes to code fragments after copy-and-paste. Zhang et al. ICSM 2012 12 final public void daload() {  countLabels = 0;  try { position++; bCodeStream[i++] = OPC_daload; } catch (Exception e) { resizeByteArray(OPC_daload); } }
  • 13. Type-3 Clones ❖ Programmers often make some changes to code fragments after copy-and-paste. Zhang et al. ICSM 2012 13 final public void daload() {  countLabels = 0;  try { position++; bCodeStream[i++] = OPC_daload; } catch (Exception e) { resizeByteArray(OPC_daload); } } final public void daload() { countLabels = 0; try { position++; bCodeStream[i++] = OPC_daload; } catch (Exception e) { resizeByteArray(OPC_daload); } } copy-and-paste
  • 14. Type-3 Clones ❖ Programmers often make some changes to code fragments after copy-and-paste. Zhang et al. ICSM 2012 14 final public void daload() {  countLabels = 0;  try { position++; bCodeStream[i++] = OPC_daload; } catch (Exception e) { resizeByteArray(OPC_daload); } } final public void daload() { countLabels = 0; stackDepth += 2; if (stackDepth stackMax) stackMax = stackDepth; try { position++; bCodeStream[i++] = OPC_daload; } catch (Exception e) { resizeByteArray(OPC_daload); } } copy-and-paste gap added code fragment Type-3 clones
  • 15. Our collaborator ❖ Dr. Keisuke Hotta • Postdoc • Osaka University, Japan • Visiting Researcher • Bremen University, Germany ❖ Help our group to use Scorpio (jar file), which is a PDG-based Type-3 clone detection tool. 15
  • 16. Case Study Setting ❖ Environment ❖ Dataset • Apache CXF • LOC: 830K • SIZE: 150MB 16 CPU Memory [GB] per node Cores × Nodes Desktop 1 Intel® Core™ i7 16 12×1 Desktop 2 Xeon E5-2630 v2 144 12×1 FX10 SPARC64™ IXfx 32 16×190
  • 17. 17 FX10 is much faster! 127h28m 42s 2h15m 16m58s Desktop 1 Desktop 2 FX10 Time
  • 18. How to run Scorpio in FX10 ❖ Describe only 20-30 lines of (bash) code to run Scorpio in FX10. 18 #!/bin/bash #PJM ‒L “rscgrp=debug” #PJM ‒L “node=190” #PJM ‒L “elapse=30:00” #PJB ‒j #PJM ‒S module load Java …⋯ java scorpio.jar How many nodes do we use? How long do we use FX10? What are output options?
  • 19. Current our challenges 19 Apache CXF 6,000 files Apache All Projects 770,000 files UCI Dataset 390,000,000 files Done Doing ToDo
  • 20. Challenges in Mining Whole Software Universe 2140 Diversity in software engineering research @ FSE 2013 20,028 projects as the Universe FX10 is much faster! 127h28m 42s 2h15m 16m58s Desktop 1 Desktop 2 FX10 Time Case Study ❖ Evaluate the impact that HPC can have on MSR analyses. ❖ Apply HPC (FX10) to Code Clone Detection. 7 Today... ❖ Derive messages from HPC community to MSR community. • Make use of High Performance Computing (HPC) in MSR. HPC MSR 2 2014: A Space Odyssey ❖ MSR researchers will explore treasure in the Universe anytime soon. 3 2004 2014