SlideShare une entreprise Scribd logo
1  sur  24
Research Methods & Topics

Automatic Code
Completion Using
Semantic Similarity
A Proposal for CMPT 880 Research Project
Presenter : Mohammad Masudur Rahman
(NSID: MOR543)
Contents
Automatic Code Completion
 Motivating Example
 Thesis Statement
 Experimental Design
 Expected Results
 Summary


2
Automatic Code Completion

Fig: Developer types a character
3
Automatic Code Completion

Fig: List of suggestions

4
Automatic Code Completion

Fig: IDE completes the word
5
Automatic Code Completion







Automatic coding support from IDE
First in IDE by Microsoft in 1996
Intellisense
Very common in modern IDEs
Also in search engines, email, database query
tools, Unix terminals
Features: control structure, loop structure,
event handling support
6
API Usage Pattern

Fig: SWT API usage pattern, Nguyen et al. ICSE’12
7
API Usage Pattern

Fig: Code under editing
8
Motivating Example

Fig: Graph representation of API usage pattern, Nguyen et al, ICSE’12

9
Motivating Example (Semantic Model)

Fig: Semantic representation of API usage pattern,
Wursch et al., ICSE’10

10
Thesis Statement


An approach that considers semantic
similarity such as conceptual or functional
similarity and code context between API usage
patterns and current code under editing, can
improve the automatic code completion in
terms of accuracy.

11
Experimental Design

12
Experimental Design








API Usage Pattern Extraction, Nguyen et al, ICSE’12
FAMIX Model, Wursch et al., ICSE’10
Semantic Model, Wursch et al., ICSE’10
Semantic Query
Binary Feature Matrix, Bruch et al, FSE’09
K Nearest Neighbors, Bruch et al, FSE’09
Ranked Patterns

13
Experimental Design
Existing Code base

Semantic Query

Methods

API Usage Patterns

Query Engine

FAMIX

Semantic Model

Binary Feature Matrix

Code Query
KNN Patterns

Fig: Overall System architecture

Ranked Suggestions

14
Evaluation Plan
Performance Evaluation
 Precision, Recall, F-Score, Bruch et al, FSE’09
 Comparing with existing methods
 Usability Testing
 Integration into IDE


15
Evaluation Metrics
recommenda tion made  recommenda tion relevant

precision

recommenda tion made

recall

recommenda tion relevant  recommenda tion made
recommenda tion relevant

f

score

2

precision
precision

recall
recall

Precision, Recall, F-Score, Bruch et al. FSE’09

16
Expected Results &
Interpretation

17
Semantic Features in Pattern Matching

Fig: Semantic representation vs. Graph representation, Nguyen et
al, ICSE’12

18
Context Capture from Semantic Model

Fig: Detailed context in Semantic model, SPARQL [12]

19
Summary
API usage pattern based code
completion
 Semantic Model better for OOP
relationship representation
 Semantic Similarity between API usage
pattern and editing code


20
Thank You !!!
Please ask your questions

21
Bibliography
[1].

Marcel Bruch, Martin Monperrus, and Mira Mezini. 2009. Learning from
examples to improve code completion systems. In Proceedings of the the 7th

joint meeting of the European software engineering conference and the ACM
SIGSOFT symposium on The foundations of software engineering (ESEC/FSE
[2]
[3]
[4]

[5]

'09). ACM, New York, NY, USA, 213-222
T. R. Dean, J. R. Cordy, A. J. Malton, and K. A. Schneider. Agile parsing in
TXL. Automated Software Engg.,10(4):311{336,Oct.2003.ISSN 0928-8910.
Sangmok Han, Wallace, D.R., Miller, R.C., Code Completion from Abbreviated
Input. Automated Software Engineering, 2009. ASE '09. 24th IEEE/ACM
International Conference on , vol., no., pp.332-343, 16-20 Nov. 2009
Daqing Hou and Pletcher, D.M. An evaluation of the strategies of sorting,
filtering, and grouping API methods for Code Completion. Software
Maintenance (ICSM), 2011 27th IEEE International Conference on , vol., no.,
pp.233-242, 25-30 Sept. 2011
Daqing Hou and David M. Pletcher. 2010. Towards a better code completion
system by API grouping, filtering, and popularity-based ranking. In

Proceedings of the 2nd International Workshop on Recommendation Systems
for Software Engineering (RSSE '10). ACM, New York, USA

22
Bibliography
[6]

[7]

[8]

[9]

[10]

Nguyen, A.T., Nguyen, T.T., Nguyen, H.A., Tamrawi, A., Nguyen, H.V., AlKofahi J. and Nguyen, T.N. Graph-based pattern-oriented, context-sensitive
source code completion. Software Engineering (ICSE), 2012 34th International
Conference on , vol., no., pp.69-79, 2-9 June 2012
Omar, C, Yoon, Y.S., LaToza, T.D., Myers, B.A.. Active code completion.
Software Engineering (ICSE), 2012 34th International Conference on
, vol., no., pp.859-869, 2-9 June 2012
S. Tichelaar, S. Ducasse, and S. Demeyer. FAMIX and XMI. In Reverse
Engineering,2000.Proceedings.Seventh Working Conference on pages 296298,2000.
Wursch, M., Ghezzi, G., Reif, G., and Gall, H.C. Supporting developers with
natural language queries. Software Engineering, 2010 ACM/IEEE 32nd
International Conference on , vol.1, no., pp.165-174, 2-8 May 2010
Semantic web development tools, URL: http://www.w3.org/2001/sw/wiki/Tools

23
Bibliography
[11]
[12]
[13]

Intellisense, URL: http://en.wikipedia.org/wiki/IntelliSense
SPARQL Query Tools, URL: http://www.w3.org/2001/sw/wiki/SPARQL
Semantic Model vs. Conceptual Model, URL:
http://en.wikipedia.org/wiki/Semantic_model#Data_models

24

Contenu connexe

En vedette

Project Proposal Topics Modeling (Ir)
Project Proposal    Topics Modeling (Ir)Project Proposal    Topics Modeling (Ir)
Project Proposal Topics Modeling (Ir)Svitlana volkova
 
Writing of research proposal
Writing of research proposalWriting of research proposal
Writing of research proposalPir Qasim Shah
 
Writing a research proposal
Writing a research proposalWriting a research proposal
Writing a research proposalSreeraj S R
 
Lecture 2 generating the research idea
Lecture 2 generating the research idea Lecture 2 generating the research idea
Lecture 2 generating the research idea Kwabena Sarpong Anning
 
Writing A Health Research Proposal
Writing A Health Research ProposalWriting A Health Research Proposal
Writing A Health Research ProposalSoha Rashed
 
Research project power point
Research project power pointResearch project power point
Research project power pointafonderwhite
 
Research paper powerpoint presentation for public viewing
Research paper powerpoint presentation for public viewingResearch paper powerpoint presentation for public viewing
Research paper powerpoint presentation for public viewingKnuckles McGuire
 
Research Presentation Format
Research Presentation FormatResearch Presentation Format
Research Presentation FormatLifelong Learning
 
Research project ppt
Research project pptResearch project ppt
Research project pptJohn McKeown
 
Research Proposal Preparation
Research Proposal PreparationResearch Proposal Preparation
Research Proposal PreparationSanjaya Mishra
 
Research proposal 1
Research proposal 1Research proposal 1
Research proposal 1Hina Honey
 
Research paper power point
Research paper power pointResearch paper power point
Research paper power pointKatymarie33
 
8 Elements In A Research Proposal
8 Elements In A Research Proposal8 Elements In A Research Proposal
8 Elements In A Research ProposalAzmi Latiff
 
Research Proposal Presentation
Research Proposal PresentationResearch Proposal Presentation
Research Proposal PresentationVal MacMillan
 
My research proposal.ppt
My research proposal.pptMy research proposal.ppt
My research proposal.pptnanimamat
 
The Research Proposal
The Research ProposalThe Research Proposal
The Research Proposalguest349908
 

En vedette (20)

Project Proposal Topics Modeling (Ir)
Project Proposal    Topics Modeling (Ir)Project Proposal    Topics Modeling (Ir)
Project Proposal Topics Modeling (Ir)
 
Writing of research proposal
Writing of research proposalWriting of research proposal
Writing of research proposal
 
My proposal unit 9
My proposal unit 9 My proposal unit 9
My proposal unit 9
 
Writing a research proposal
Writing a research proposalWriting a research proposal
Writing a research proposal
 
Lecture 2 generating the research idea
Lecture 2 generating the research idea Lecture 2 generating the research idea
Lecture 2 generating the research idea
 
Writing A Health Research Proposal
Writing A Health Research ProposalWriting A Health Research Proposal
Writing A Health Research Proposal
 
Research project power point
Research project power pointResearch project power point
Research project power point
 
Research paper powerpoint presentation for public viewing
Research paper powerpoint presentation for public viewingResearch paper powerpoint presentation for public viewing
Research paper powerpoint presentation for public viewing
 
Presentation Of Research Work
Presentation Of Research WorkPresentation Of Research Work
Presentation Of Research Work
 
Research Presentation Format
Research Presentation FormatResearch Presentation Format
Research Presentation Format
 
Research proposal writing 2013
Research proposal writing 2013Research proposal writing 2013
Research proposal writing 2013
 
Research project ppt
Research project pptResearch project ppt
Research project ppt
 
Research Proposal Preparation
Research Proposal PreparationResearch Proposal Preparation
Research Proposal Preparation
 
Research proposal 1
Research proposal 1Research proposal 1
Research proposal 1
 
Research: Proposal
Research: Proposal Research: Proposal
Research: Proposal
 
Research paper power point
Research paper power pointResearch paper power point
Research paper power point
 
8 Elements In A Research Proposal
8 Elements In A Research Proposal8 Elements In A Research Proposal
8 Elements In A Research Proposal
 
Research Proposal Presentation
Research Proposal PresentationResearch Proposal Presentation
Research Proposal Presentation
 
My research proposal.ppt
My research proposal.pptMy research proposal.ppt
My research proposal.ppt
 
The Research Proposal
The Research ProposalThe Research Proposal
The Research Proposal
 

Similaire à Automatic Code Completion Exploting Semantic Similarity

Iceemas 119- state of art of metrics of aspect oriented programming
Iceemas 119- state of art of metrics of aspect oriented programmingIceemas 119- state of art of metrics of aspect oriented programming
Iceemas 119- state of art of metrics of aspect oriented programmingMazen Ghareb
 
A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code...
 A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code... A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code...
A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code...Nakul Sharma
 
Searching Repositories of Web Application Models
Searching Repositories of Web Application ModelsSearching Repositories of Web Application Models
Searching Repositories of Web Application ModelsMarco Brambilla
 
Improving Consistency of UML Diagrams and Its Implementation Using Reverse En...
Improving Consistency of UML Diagrams and Its Implementation Using Reverse En...Improving Consistency of UML Diagrams and Its Implementation Using Reverse En...
Improving Consistency of UML Diagrams and Its Implementation Using Reverse En...journalBEEI
 
Deepcoder to Self-Code with Machine Learning
Deepcoder to Self-Code with Machine LearningDeepcoder to Self-Code with Machine Learning
Deepcoder to Self-Code with Machine LearningIRJET Journal
 
An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
 An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
An Adjacent Analysis of the Parallel Programming Model Perspective: A SurveyIRJET Journal
 
Towards Method Engineering of Model-Driven User Interface Development
Towards Method Engineering ofModel-Driven User Interface Development Towards Method Engineering ofModel-Driven User Interface Development
Towards Method Engineering of Model-Driven User Interface Development Jean Vanderdonckt
 
EMMM: A Unified Meta-Model for Tracking Machine Learning Experiments
 EMMM: A Unified Meta-Model for Tracking Machine Learning Experiments EMMM: A Unified Meta-Model for Tracking Machine Learning Experiments
EMMM: A Unified Meta-Model for Tracking Machine Learning ExperimentsSEAA 2022
 
Adopting code reviews for agile software development
Adopting code reviews for agile software developmentAdopting code reviews for agile software development
Adopting code reviews for agile software developmentmariobernhart
 
Discreate eventsimulation idef
Discreate eventsimulation idefDiscreate eventsimulation idef
Discreate eventsimulation idefMandar Trivedi
 
A New Metric for Code Readability
A New Metric for Code ReadabilityA New Metric for Code Readability
A New Metric for Code ReadabilityIOSR Journals
 
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...acijjournal
 
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...acijjournal
 
PHP modernization approach generating KDM models from PHP legacy code
PHP modernization approach generating KDM models from PHP legacy codePHP modernization approach generating KDM models from PHP legacy code
PHP modernization approach generating KDM models from PHP legacy codejournalBEEI
 
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...ijwscjournal
 
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...ijwscjournal
 

Similaire à Automatic Code Completion Exploting Semantic Similarity (20)

Iceemas 119- state of art of metrics of aspect oriented programming
Iceemas 119- state of art of metrics of aspect oriented programmingIceemas 119- state of art of metrics of aspect oriented programming
Iceemas 119- state of art of metrics of aspect oriented programming
 
A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code...
 A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code... A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code...
A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code...
 
Paper summary
Paper summaryPaper summary
Paper summary
 
Searching Repositories of Web Application Models
Searching Repositories of Web Application ModelsSearching Repositories of Web Application Models
Searching Repositories of Web Application Models
 
Improving Consistency of UML Diagrams and Its Implementation Using Reverse En...
Improving Consistency of UML Diagrams and Its Implementation Using Reverse En...Improving Consistency of UML Diagrams and Its Implementation Using Reverse En...
Improving Consistency of UML Diagrams and Its Implementation Using Reverse En...
 
Deepcoder to Self-Code with Machine Learning
Deepcoder to Self-Code with Machine LearningDeepcoder to Self-Code with Machine Learning
Deepcoder to Self-Code with Machine Learning
 
An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
 An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
 
Towards Method Engineering of Model-Driven User Interface Development
Towards Method Engineering ofModel-Driven User Interface Development Towards Method Engineering ofModel-Driven User Interface Development
Towards Method Engineering of Model-Driven User Interface Development
 
Ijetcas14 468
Ijetcas14 468Ijetcas14 468
Ijetcas14 468
 
EMMM: A Unified Meta-Model for Tracking Machine Learning Experiments
 EMMM: A Unified Meta-Model for Tracking Machine Learning Experiments EMMM: A Unified Meta-Model for Tracking Machine Learning Experiments
EMMM: A Unified Meta-Model for Tracking Machine Learning Experiments
 
H1803044651
H1803044651H1803044651
H1803044651
 
Adopting code reviews for agile software development
Adopting code reviews for agile software developmentAdopting code reviews for agile software development
Adopting code reviews for agile software development
 
Discreate eventsimulation idef
Discreate eventsimulation idefDiscreate eventsimulation idef
Discreate eventsimulation idef
 
A New Metric for Code Readability
A New Metric for Code ReadabilityA New Metric for Code Readability
A New Metric for Code Readability
 
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
 
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
 
50120130405029
5012013040502950120130405029
50120130405029
 
PHP modernization approach generating KDM models from PHP legacy code
PHP modernization approach generating KDM models from PHP legacy codePHP modernization approach generating KDM models from PHP legacy code
PHP modernization approach generating KDM models from PHP legacy code
 
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
 
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
 

Plus de Masud Rahman

HereWeCode 2022: Dalhousie University
HereWeCode 2022: Dalhousie UniversityHereWeCode 2022: Dalhousie University
HereWeCode 2022: Dalhousie UniversityMasud Rahman
 
The Forgotten Role of Search Queries in IR-based Bug Localization: An Empiric...
The Forgotten Role of Search Queries in IR-based Bug Localization: An Empiric...The Forgotten Role of Search Queries in IR-based Bug Localization: An Empiric...
The Forgotten Role of Search Queries in IR-based Bug Localization: An Empiric...Masud Rahman
 
PhD Seminar - Masud Rahman, University of Saskatchewan
PhD Seminar - Masud Rahman, University of SaskatchewanPhD Seminar - Masud Rahman, University of Saskatchewan
PhD Seminar - Masud Rahman, University of SaskatchewanMasud Rahman
 
PhD proposal of Masud Rahman
PhD proposal of Masud RahmanPhD proposal of Masud Rahman
PhD proposal of Masud RahmanMasud Rahman
 
PhD Comprehensive exam of Masud Rahman
PhD Comprehensive exam of Masud RahmanPhD Comprehensive exam of Masud Rahman
PhD Comprehensive exam of Masud RahmanMasud Rahman
 
Doctoral Symposium of Masud Rahman
Doctoral Symposium of Masud RahmanDoctoral Symposium of Masud Rahman
Doctoral Symposium of Masud RahmanMasud Rahman
 
Supporting Source Code Search with Context-Aware and Semantics-Driven Code Se...
Supporting Source Code Search with Context-Aware and Semantics-Driven Code Se...Supporting Source Code Search with Context-Aware and Semantics-Driven Code Se...
Supporting Source Code Search with Context-Aware and Semantics-Driven Code Se...Masud Rahman
 
ICSE2018-Poster-Bug-Localization
ICSE2018-Poster-Bug-LocalizationICSE2018-Poster-Bug-Localization
ICSE2018-Poster-Bug-LocalizationMasud Rahman
 
CodeInsight-SCAM2015
CodeInsight-SCAM2015CodeInsight-SCAM2015
CodeInsight-SCAM2015Masud Rahman
 
RACK-Tool-ICSE2017
RACK-Tool-ICSE2017RACK-Tool-ICSE2017
RACK-Tool-ICSE2017Masud Rahman
 
QUICKAR-ASE2016-Singapore
QUICKAR-ASE2016-SingaporeQUICKAR-ASE2016-Singapore
QUICKAR-ASE2016-SingaporeMasud Rahman
 
CORRECT-ToolDemo-ASE2016
CORRECT-ToolDemo-ASE2016CORRECT-ToolDemo-ASE2016
CORRECT-ToolDemo-ASE2016Masud Rahman
 

Plus de Masud Rahman (20)

HereWeCode 2022: Dalhousie University
HereWeCode 2022: Dalhousie UniversityHereWeCode 2022: Dalhousie University
HereWeCode 2022: Dalhousie University
 
The Forgotten Role of Search Queries in IR-based Bug Localization: An Empiric...
The Forgotten Role of Search Queries in IR-based Bug Localization: An Empiric...The Forgotten Role of Search Queries in IR-based Bug Localization: An Empiric...
The Forgotten Role of Search Queries in IR-based Bug Localization: An Empiric...
 
PhD Seminar - Masud Rahman, University of Saskatchewan
PhD Seminar - Masud Rahman, University of SaskatchewanPhD Seminar - Masud Rahman, University of Saskatchewan
PhD Seminar - Masud Rahman, University of Saskatchewan
 
PhD proposal of Masud Rahman
PhD proposal of Masud RahmanPhD proposal of Masud Rahman
PhD proposal of Masud Rahman
 
PhD Comprehensive exam of Masud Rahman
PhD Comprehensive exam of Masud RahmanPhD Comprehensive exam of Masud Rahman
PhD Comprehensive exam of Masud Rahman
 
Doctoral Symposium of Masud Rahman
Doctoral Symposium of Masud RahmanDoctoral Symposium of Masud Rahman
Doctoral Symposium of Masud Rahman
 
Supporting Source Code Search with Context-Aware and Semantics-Driven Code Se...
Supporting Source Code Search with Context-Aware and Semantics-Driven Code Se...Supporting Source Code Search with Context-Aware and Semantics-Driven Code Se...
Supporting Source Code Search with Context-Aware and Semantics-Driven Code Se...
 
ICSE2018-Poster-Bug-Localization
ICSE2018-Poster-Bug-LocalizationICSE2018-Poster-Bug-Localization
ICSE2018-Poster-Bug-Localization
 
MSR2017-Challenge
MSR2017-ChallengeMSR2017-Challenge
MSR2017-Challenge
 
MSR2017-RevHelper
MSR2017-RevHelperMSR2017-RevHelper
MSR2017-RevHelper
 
STRICT-SANER2017
STRICT-SANER2017STRICT-SANER2017
STRICT-SANER2017
 
MSR2015-Challenge
MSR2015-ChallengeMSR2015-Challenge
MSR2015-Challenge
 
MSR2014-Challenge
MSR2014-ChallengeMSR2014-Challenge
MSR2014-Challenge
 
CodeInsight-SCAM2015
CodeInsight-SCAM2015CodeInsight-SCAM2015
CodeInsight-SCAM2015
 
STRICT-SANER2015
STRICT-SANER2015STRICT-SANER2015
STRICT-SANER2015
 
CMPT-842-BRACK
CMPT-842-BRACKCMPT-842-BRACK
CMPT-842-BRACK
 
RACK-Tool-ICSE2017
RACK-Tool-ICSE2017RACK-Tool-ICSE2017
RACK-Tool-ICSE2017
 
RACK-SANER2016
RACK-SANER2016RACK-SANER2016
RACK-SANER2016
 
QUICKAR-ASE2016-Singapore
QUICKAR-ASE2016-SingaporeQUICKAR-ASE2016-Singapore
QUICKAR-ASE2016-Singapore
 
CORRECT-ToolDemo-ASE2016
CORRECT-ToolDemo-ASE2016CORRECT-ToolDemo-ASE2016
CORRECT-ToolDemo-ASE2016
 

Dernier

Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701bronxfugly43
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxAmita Gupta
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxdhanalakshmis0310
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfNirmal Dwivedi
 

Dernier (20)

Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptx
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 

Automatic Code Completion Exploting Semantic Similarity

  • 1. Research Methods & Topics Automatic Code Completion Using Semantic Similarity A Proposal for CMPT 880 Research Project Presenter : Mohammad Masudur Rahman (NSID: MOR543)
  • 2. Contents Automatic Code Completion  Motivating Example  Thesis Statement  Experimental Design  Expected Results  Summary  2
  • 3. Automatic Code Completion Fig: Developer types a character 3
  • 4. Automatic Code Completion Fig: List of suggestions 4
  • 5. Automatic Code Completion Fig: IDE completes the word 5
  • 6. Automatic Code Completion       Automatic coding support from IDE First in IDE by Microsoft in 1996 Intellisense Very common in modern IDEs Also in search engines, email, database query tools, Unix terminals Features: control structure, loop structure, event handling support 6
  • 7. API Usage Pattern Fig: SWT API usage pattern, Nguyen et al. ICSE’12 7
  • 8. API Usage Pattern Fig: Code under editing 8
  • 9. Motivating Example Fig: Graph representation of API usage pattern, Nguyen et al, ICSE’12 9
  • 10. Motivating Example (Semantic Model) Fig: Semantic representation of API usage pattern, Wursch et al., ICSE’10 10
  • 11. Thesis Statement  An approach that considers semantic similarity such as conceptual or functional similarity and code context between API usage patterns and current code under editing, can improve the automatic code completion in terms of accuracy. 11
  • 13. Experimental Design        API Usage Pattern Extraction, Nguyen et al, ICSE’12 FAMIX Model, Wursch et al., ICSE’10 Semantic Model, Wursch et al., ICSE’10 Semantic Query Binary Feature Matrix, Bruch et al, FSE’09 K Nearest Neighbors, Bruch et al, FSE’09 Ranked Patterns 13
  • 14. Experimental Design Existing Code base Semantic Query Methods API Usage Patterns Query Engine FAMIX Semantic Model Binary Feature Matrix Code Query KNN Patterns Fig: Overall System architecture Ranked Suggestions 14
  • 15. Evaluation Plan Performance Evaluation  Precision, Recall, F-Score, Bruch et al, FSE’09  Comparing with existing methods  Usability Testing  Integration into IDE  15
  • 16. Evaluation Metrics recommenda tion made  recommenda tion relevant precision recommenda tion made recall recommenda tion relevant  recommenda tion made recommenda tion relevant f score 2 precision precision recall recall Precision, Recall, F-Score, Bruch et al. FSE’09 16
  • 18. Semantic Features in Pattern Matching Fig: Semantic representation vs. Graph representation, Nguyen et al, ICSE’12 18
  • 19. Context Capture from Semantic Model Fig: Detailed context in Semantic model, SPARQL [12] 19
  • 20. Summary API usage pattern based code completion  Semantic Model better for OOP relationship representation  Semantic Similarity between API usage pattern and editing code  20
  • 21. Thank You !!! Please ask your questions 21
  • 22. Bibliography [1]. Marcel Bruch, Martin Monperrus, and Mira Mezini. 2009. Learning from examples to improve code completion systems. In Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering (ESEC/FSE [2] [3] [4] [5] '09). ACM, New York, NY, USA, 213-222 T. R. Dean, J. R. Cordy, A. J. Malton, and K. A. Schneider. Agile parsing in TXL. Automated Software Engg.,10(4):311{336,Oct.2003.ISSN 0928-8910. Sangmok Han, Wallace, D.R., Miller, R.C., Code Completion from Abbreviated Input. Automated Software Engineering, 2009. ASE '09. 24th IEEE/ACM International Conference on , vol., no., pp.332-343, 16-20 Nov. 2009 Daqing Hou and Pletcher, D.M. An evaluation of the strategies of sorting, filtering, and grouping API methods for Code Completion. Software Maintenance (ICSM), 2011 27th IEEE International Conference on , vol., no., pp.233-242, 25-30 Sept. 2011 Daqing Hou and David M. Pletcher. 2010. Towards a better code completion system by API grouping, filtering, and popularity-based ranking. In Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering (RSSE '10). ACM, New York, USA 22
  • 23. Bibliography [6] [7] [8] [9] [10] Nguyen, A.T., Nguyen, T.T., Nguyen, H.A., Tamrawi, A., Nguyen, H.V., AlKofahi J. and Nguyen, T.N. Graph-based pattern-oriented, context-sensitive source code completion. Software Engineering (ICSE), 2012 34th International Conference on , vol., no., pp.69-79, 2-9 June 2012 Omar, C, Yoon, Y.S., LaToza, T.D., Myers, B.A.. Active code completion. Software Engineering (ICSE), 2012 34th International Conference on , vol., no., pp.859-869, 2-9 June 2012 S. Tichelaar, S. Ducasse, and S. Demeyer. FAMIX and XMI. In Reverse Engineering,2000.Proceedings.Seventh Working Conference on pages 296298,2000. Wursch, M., Ghezzi, G., Reif, G., and Gall, H.C. Supporting developers with natural language queries. Software Engineering, 2010 ACM/IEEE 32nd International Conference on , vol.1, no., pp.165-174, 2-8 May 2010 Semantic web development tools, URL: http://www.w3.org/2001/sw/wiki/Tools 23
  • 24. Bibliography [11] [12] [13] Intellisense, URL: http://en.wikipedia.org/wiki/IntelliSense SPARQL Query Tools, URL: http://www.w3.org/2001/sw/wiki/SPARQL Semantic Model vs. Conceptual Model, URL: http://en.wikipedia.org/wiki/Semantic_model#Data_models 24