SlideShare a Scribd company logo
FaCoY – A code-to-code
search engine
Kisub Kim1, Dongsun Kim1,Tegawendé F. Bissyandé1,
Eunjong Choi2, Li Li3, Jacques Klein1, andYves Le Traon1
1SnT, University of Luxembourg - Luxembourg
2Nara Institute of Science and Technology (NAIST) - Japan
3Faculty of Information Technology, Monash University - Australia
1
01. 06. 2018
SerVal
3.1 - the Interdisciplinary Centre for
Security Reliability and Trust 1.1 - logotype of the University
of Luxembourg
function boolean hasLoop(Node startNode){
Node currentNode = startNode;
while (currentNode = currentNode.next());
return false;
}
I want to find a loop in a singly linked list
2
I want to find a loop in a singly linked list
function boolean hasLoop(Node startNode){
Node currentNode = startNode;
while (currentNode = currentNode.next());
return false;
}
Is this correct?
Any better implementation?
How can I improve my code?
3
Code-to-Code Search
Given a code fragment, find semantically similar code fragments
Input Code Fragment
4
Online Tools
5
searchcode.com
krugle.com
5
State-of-the-art
Static Approaches
Dynamic Approaches
- Code clone detection techniques.
- Mostly focus on textually, structurally or syntactically similar code.
- Leverage various intermediate representations to compute code similarity:
Static approaches tend to miss fragments that have similar behaviour.
- Identify programs that retrieve similar results for the same inputs.
- Generate random inputs, rely on symbolic, concolic execution, 

check abstract memory states.
- Compare instruction-level execution traces [DyCLINK @FSE16]
Dynamic approaches do not scale to large repositories and are not
always operational.
6
• Token-based [CCFinder @TSE02]
• AST-based [Deckard @ICSE07]
• Graph-based [GPLAG @KDD06]
Key Challenge
Semantically similar code rather than syntactically
7
“converToHex” is similar to “encode”
Intuition
8
Conceptual Steps
9
Code fragment
What functionality
is implemented?
What are related
implementations?
What are other representative
tokens for the functionality?
Q&A Posts (questions + code snippets)
Similar Code
fragments
Which code fragments best match
these tokens?
Target code base
Conceptual Steps
9
Code fragment
What functionality
is implemented?
What are related
implementations?
What are other representative
tokens for the functionality?
Q&A Posts (questions + code snippets)
Similar Code
fragments
Which code fragments best match
these tokens?
Target code base
Conceptual Steps
9
Code fragment
What functionality
is implemented?
What are related
implementations?
What are other representative
tokens for the functionality?
Q&A Posts (questions + code snippets)
Similar Code
fragments
Which code fragments best match
these tokens?
Target code base
Conceptual Steps
9
Code fragment
What functionality
is implemented?
What are related
implementations?
What are other representative
tokens for the functionality?
Q&A Posts (questions + code snippets)
Similar Code
fragments
Which code fragments best match
these tokens?
Target code base
Conceptual Steps
9
Code fragment
What functionality
is implemented?
What are related
implementations?
What are other representative
tokens for the functionality?
Q&A Posts (questions + code snippets)
Similar Code
fragments
Which code fragments best match
these tokens?
Target code base
FaCoYFind another Code other than Yours
10
http://code-search.uni.lu/facoy
How it works (Visually)
Input code
11
function boolean hasLoop(Node startNode){
Node currentNode = startNode;
while (currentNode = currentNode.next());
return false;
}
How it works (Visually)
Input code
11
function boolean hasLoop(Node startNode){
Node currentNode = startNode;
while (currentNode = currentNode.next());
return false;
}
used_classes : Node
used_classes : hasLoop
methods_called : next
class_instance_creation : currentNode
How it works (Visually)
Input code
Syntactically
similar code
11
function boolean hasLoop(Node startNode){
Node currentNode = startNode;
while (currentNode = currentNode.next());
return false;
}
used_classes : Node
used_classes : hasLoop
methods_called : next
class_instance_creation : currentNode
How it works (Visually)
Input code
Syntactically
similar code
Natural language
description
of input code
11
function boolean hasLoop(Node startNode){
Node currentNode = startNode;
while (currentNode = currentNode.next());
return false;
}
used_classes : Node
used_classes : hasLoop
methods_called : next
class_instance_creation : currentNode
How it works (Visually)
Input code
Syntactically
similar code
Natural language
description
of input code
11
function boolean hasLoop(Node startNode){
Node currentNode = startNode;
while (currentNode = currentNode.next());
return false;
}
used_classes : Node
used_classes : hasLoop
methods_called : next
class_instance_creation : currentNode
12
Similar
descriptions
12
Similar
descriptions
More code fragments
for
similar functionality
12
Natural language
description
of input code
13
typed_method_call:myLinkedList.insertFirstLink
typed_method_call:CircularSet.add
typed_method_call:System.exit
extends:Runnable
used_classes:hasLoop
used_classes:Node
used_classes:Integer
used_classes:HashMap
used_classes:BufferedReader
used_classes:InputStreamReader
used_classes:System
class_instance_creation:fast
class_instance_creation:nod
class_instance_creation:head
methods_called:next
typed_method_call:myLinkedList.insertFirstLink
typed_method_call:CircularSet.add
typed_method_call:System.exit
extends:Runnable
used_classes:hasLoop
used_classes:Node
used_classes:Integer
used_classes:HashMap
used_classes:BufferedReader
used_classes:InputStreamReader
used_classes:System
class_instance_creation:fast
class_instance_creation:nod
class_instance_creation:head
methods_called:next
typed_method_call:myLinkedList.insertFirstLink
typed_method_call:CircularSet.add
typed_method_call:System.exit
extends:Runnable
used_classes:hasLoop
used_classes:Node
used_classes:Integer
used_classes:HashMap
used_classes:BufferedReader
used_classes:InputStreamReader
used_classes:System
class_instance_creation:fast
class_instance_creation:nod
class_instance_creation:head
methods_called:next
typed_method_call:myLinkedList.insertFirstLink
typed_method_call:CircularSet.add
typed_method_call:System.exit
extends:Runnable
used_classes:hasLoop
used_classes:Node
used_classes:Integer
used_classes:HashMap
used_classes:BufferedReader
used_classes:InputStreamReader
used_classes:System
class_instance_creation:fast
class_instance_creation:nod
class_instance_creation:head
methods_called:next
typed_method_call:myLinkedList.insertFirstLink
typed_method_call:CircularSet.add
typed_method_call:System.exit
extends:Runnable
used_classes:hasLoop
used_classes:Node
used_classes:Integer
used_classes:HashMap
used_classes:BufferedReader
used_classes:InputStreamReader
used_classes:System
class_instance_creation:fast
class_instance_creation:nod
class_instance_creation:head
methods_called:next
typed_method_call:myLinkedList.insertFirstLink
typed_method_call:System.exit
extends:Linked
used_classes:hasLoop
used_classes:Node
used_classes:Integer
used_classes:HashMap
used_classes:BufferedReader
used_classes:InputStreamReader
used_classes:System
class_instance_creation:fast
class_instance_creation:nod
class_instance_creation:head
methods_called:next
methods_called:data
Alternate
queries
13
typed_method_call:myLinkedList.insertFirstLink
typed_method_call:CircularSet.add
typed_method_call:System.exit
extends:Runnable
used_classes:hasLoop
used_classes:Node
used_classes:Integer
used_classes:HashMap
used_classes:BufferedReader
used_classes:InputStreamReader
used_classes:System
class_instance_creation:fast
class_instance_creation:nod
class_instance_creation:head
methods_called:next
typed_method_call:myLinkedList.insertFirstLink
typed_method_call:CircularSet.add
typed_method_call:System.exit
extends:Runnable
used_classes:hasLoop
used_classes:Node
used_classes:Integer
used_classes:HashMap
used_classes:BufferedReader
used_classes:InputStreamReader
used_classes:System
class_instance_creation:fast
class_instance_creation:nod
class_instance_creation:head
methods_called:next
typed_method_call:myLinkedList.insertFirstLink
typed_method_call:CircularSet.add
typed_method_call:System.exit
extends:Runnable
used_classes:hasLoop
used_classes:Node
used_classes:Integer
used_classes:HashMap
used_classes:BufferedReader
used_classes:InputStreamReader
used_classes:System
class_instance_creation:fast
class_instance_creation:nod
class_instance_creation:head
methods_called:next
typed_method_call:myLinkedList.insertFirstLink
typed_method_call:CircularSet.add
typed_method_call:System.exit
extends:Runnable
used_classes:hasLoop
used_classes:Node
used_classes:Integer
used_classes:HashMap
used_classes:BufferedReader
used_classes:InputStreamReader
used_classes:System
class_instance_creation:fast
class_instance_creation:nod
class_instance_creation:head
methods_called:next
typed_method_call:myLinkedList.insertFirstLink
typed_method_call:CircularSet.add
typed_method_call:System.exit
extends:Runnable
used_classes:hasLoop
used_classes:Node
used_classes:Integer
used_classes:HashMap
used_classes:BufferedReader
used_classes:InputStreamReader
used_classes:System
class_instance_creation:fast
class_instance_creation:nod
class_instance_creation:head
methods_called:next
typed_method_call:myLinkedList.insertFirstLink
typed_method_call:System.exit
extends:Linked
used_classes:hasLoop
used_classes:Node
used_classes:Integer
used_classes:HashMap
used_classes:BufferedReader
used_classes:InputStreamReader
used_classes:System
class_instance_creation:fast
class_instance_creation:nod
class_instance_creation:head
methods_called:next
methods_called:data
typed_method_call:myLinkedList.insertFirstLink
typed_method_call:System.exit
extends:Linked
used_classes:hasLoop
used_classes:Node
used_classes:HashMap
used_classes:System
class_instance_creation:fast
class_instance_creation:nod
class_instance_creation:head
methods_called:next
methods_called:data
…
An alternate query
Alternate
queries
13
typed_method_call:myLinkedList.insertFirstLink
typed_method_call:CircularSet.add
typed_method_call:System.exit
extends:Runnable
used_classes:hasLoop
used_classes:Node
used_classes:Integer
used_classes:HashMap
used_classes:BufferedReader
used_classes:InputStreamReader
used_classes:System
class_instance_creation:fast
class_instance_creation:nod
class_instance_creation:head
methods_called:next
typed_method_call:myLinkedList.insertFirstLink
typed_method_call:CircularSet.add
typed_method_call:System.exit
extends:Runnable
used_classes:hasLoop
used_classes:Node
used_classes:Integer
used_classes:HashMap
used_classes:BufferedReader
used_classes:InputStreamReader
used_classes:System
class_instance_creation:fast
class_instance_creation:nod
class_instance_creation:head
methods_called:next
typed_method_call:myLinkedList.insertFirstLink
typed_method_call:CircularSet.add
typed_method_call:System.exit
extends:Runnable
used_classes:hasLoop
used_classes:Node
used_classes:Integer
used_classes:HashMap
used_classes:BufferedReader
used_classes:InputStreamReader
used_classes:System
class_instance_creation:fast
class_instance_creation:nod
class_instance_creation:head
methods_called:next
typed_method_call:myLinkedList.insertFirstLink
typed_method_call:CircularSet.add
typed_method_call:System.exit
extends:Runnable
used_classes:hasLoop
used_classes:Node
used_classes:Integer
used_classes:HashMap
used_classes:BufferedReader
used_classes:InputStreamReader
used_classes:System
class_instance_creation:fast
class_instance_creation:nod
class_instance_creation:head
methods_called:next
typed_method_call:myLinkedList.insertFirstLink
typed_method_call:CircularSet.add
typed_method_call:System.exit
extends:Runnable
used_classes:hasLoop
used_classes:Node
used_classes:Integer
used_classes:HashMap
used_classes:BufferedReader
used_classes:InputStreamReader
used_classes:System
class_instance_creation:fast
class_instance_creation:nod
class_instance_creation:head
methods_called:next
typed_method_call:myLinkedList.insertFirstLink
typed_method_call:System.exit
extends:Linked
used_classes:hasLoop
used_classes:Node
used_classes:Integer
used_classes:HashMap
used_classes:BufferedReader
used_classes:InputStreamReader
used_classes:System
class_instance_creation:fast
class_instance_creation:nod
class_instance_creation:head
methods_called:next
methods_called:data
typed_method_call:myLinkedList.insertFirstLink
typed_method_call:System.exit
extends:Linked
used_classes:hasLoop
used_classes:Node
used_classes:HashMap
used_classes:System
class_instance_creation:fast
class_instance_creation:nod
class_instance_creation:head
methods_called:next
methods_called:data
…
An alternate query
Alternate
queries
Search results
More code fragments
for
similar functionality 13
Step 0: Dataset Indexing
• Parse the code snippets from answer posts and
code files to generate an Abstract Syntax Tree (AST).
• Preprocess the natural language text from posts.
• Indexed as inverted indices.
Answer
Posts
Post Analyzer
Snippet
Index
Code Snippet
with Metadata
Question
Posts
Post Analyzer
Question
Index
Full Post
Information
Project
Repository
Codes
Code Analyzer
Project
Code Index
14
User Input
Code
Query
Code Fragment
Generating
Code Query
(1)
Step 1: Query Structuring
15
User Input
Answer Snippets
Code
Query
Code Fragment
(2)
Generating
Code Query
(1)
Question
Answer
Snippet
Searching for
Similar Code
Snippets
Stack
Overflow
Step 2: Syntactic Search in Q&A Answers
16
User Input
Answer Snippets
Code
Query
Code Fragment
(2)
(3)
Question Posts
Generating
Code Query
(1)
Question
Answer
Snippet
Question
Answer
Snippet
Searching for
Similar Code
Snippets
Searching for
Similar
Questions
Stack
Overflow
Step 3: Collection of Descriptive Natural
Language terms
17
User Input
Answer Snippets
Code
Query
Code Fragment
(2)
(3)
Question Posts
Generating
Code Query
(1)
Question
Answer
Snippet
Question
Answer
Snippet
Searching for
Similar Code
Snippets
Searching for
Similar
Questions
Stack
Overflow
Generating
Alternate
Code Query
Code
Queries
(4)
Step 4: Query Alternation
18
User Input
Answer Snippets
Code
Query
Code Fragment
(2)
(3)
Question Posts
Generating
Code Query
(1)
Question
Answer
Snippet
Question
Answer
Snippet
Searching for
Similar Code
Snippets
Searching for
Similar
Questions
Stack
Overflow
Generating
Alternate
Code Query
Code
Queries
(4)
GitHub Codebase
Search Results
(5)
Searching for
Code
Examples
Step 5: Results Retrieving from Codebase
19
User Input
Snippet
Index
Code
Index
Code
Query
Generating
Code Query
Code
Query
Code Fragment
Search Results
(2)
(3)
(4)(5)
Question
Index
Generating
Code Query
(1)
Question
Answer
Snippet
Question
Answer
Snippet
Searching for
Similar Code
Snippets
Searching for
Similar
Questions
Searching for
Code
Examples
Overview of the Approach
20
Evaluation
21
Front-endhttp://code-search.uni.lu/facoy
22
Recommendation Results
23
Recommendation Results
23
RQ1
How relevant are code examples found by FaCoY compared to other code-
to-code search engines?
RQ2
What is the effectiveness of FaCoY including semantic clones based on a
code clone benchmark?
RQ3
Do the semantically similar code fragments yielded by FaCoY exhibit
similar runtime behavior?
RQ4 Could FaCoY recommend correct code as alternative of buggy code?
Research Questions
24
Code Clone Type Definitions
Clone Type Definition
Type-1 Identical code fragments, except for white-space, layout, and comments
Type-2
Identical code fragments, except for identifier names and literal values
+ Type-1
Type-3
Syntactically similar, but statements are added, modified and/or
removed with respect to each other + Type-1 and Type-2
Type-4
Syntactically dissimilar, but the same functionality
= Semantic clones.
25
• Stefan Bellon, Rainer Koschke, Guildo Antoniol, Jens Krinke, and Ettore Merlo, 2007. Comparison and evaluation of clone detection tools. IEEE
Transactions on Software Engineering 22, 9 (2007), 557-591.
• Chanchal K Roy, James R Cordy, and Rainer Koschke, 2009. Comparison and evaluation of code clone detection techniques and tools: A qualitative
approach. Science of Computer Programming 74, 7 (2009), 470-395.
• Fang-Hsiang Su, Jonathan Bell, Kenneth Harvey, Simha Sethumadhavan, Gail Kaiser, and Tony Jebara, 2016. Code Relatives: Detecting similarly
Behaving Software. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 2016).
ACM, 702-714.
RQ 1. Comparison with Code-to-Code
Search Engines
• Query tools with top 10 Stackoverflow snippets
• Manual checking
• Does FaCoY find similar code fragments?
• Syntactically or Semantically?
26
RQ 2. Benchmark Assessment
• IJaDataset 2.0 of 25,000 projects (> 3 M files)
• BigCloneBench annotates 8,345,104 clone pairs with 43 functionalities
• Can FaCoY find more semantic clones (MT3 or T4) than the state-of-the-art?
No initial user query
No query alternation
No query alternation &
No query structuring
27
Clone Types
T1 T2 VST3 ST3 MT3 WT3/T4 Total
# of samples 10 10 10 10 10 10 60
BigCloneBench
missed to include
4 1 2 25 32
• For the rest of the 28 files, FaCoY points 26 files correctly,
• But failed to locate in the files.
• In only 2 cases, FaCoY completely failed.
FaCoY can detect clones that BigCloneBench missed.
Double Checking FaCoY’s False Positives
28
F18: Play Sound
F19: Take Screenshot to File
F21: XMPP Send Message
FaCoY’s Limitation
Requiring external
APIs and libraries
Pure computation tasks
F7: Bubble Sort Array
F14: Binary Search
F41: Transpose a Matrix
29
FaCoY performs much better with code that are
requiring external APIs and Libraries.
RQ 3.Validating Semantic Clones
• Use DyCLINK - A dynamic approach that computes similarity of execution traces to detect code
relatives.
• Index the benchmark of DyCLINK: 411 pairs as code relatives.
• Results:
•FaCoY’s hit ratio is at 68% (278 out of 411 code fragments)
•FaCoY’s Mean Reciprocal Rank value is 0.18 (retrieves into lower rankings)
Google Code Jam
- 2011: Irregular Cake
- 2012: Perfect Game
- 2013: Cheaters
- 2014: Magical Tour
30
RQ 4. Recommending code for patches
Buggy code
• Buggy information
Project: Apache commons-lang
File path: projects/Lang/14/org/apache/commons/lang3/StringUtils.java
As maintainers, can we quickly find alternative implementations?
31
RQ 4. Recommending code for patches
Buggy code
Additionally, we consider more cases:
1. Are cs1 and cs2 nulls?
2. Are cs1 and cs2 have the same values?
3. Are cs1 and cs2 the same objects?
4. Are cs1 and cs2 are String objects?
5. If they are not pure String objects, check the equality character by character
32
RQ 4. Recommending code for patches
Fix
Buggy code
• Commit: cf7211f9 by Matthew Jason Benson, 01/23/2012 06:47 PM
• parent: c8afaa3e
• git-svn-id: https://svn.apache.org/repos/asf/commons/proper/lang/trunk@1234915
• Log: [LANG-786] StringUtils equals() relies on undefined behavior; thanks to Daniel Trebbien
33
RQ 4. Recommending code for patches
• 395 bugs in Defect4J repair benchmark [@ISSTA14]
• 21 FaCoY recommendations are correct (manual assessment)
Fix
Buggy code
34
Summary
35
36
Questions: kisub.kim@uni.lu
Github page: https://github.com/facoy/facoy
Web code search engine: http://code-search.uni.lu/facoy

More Related Content

What's hot

Network software
Network softwareNetwork software
Network software
SakthiVinoth78
 
Chapter 4 data link layer
Chapter 4 data link layerChapter 4 data link layer
Chapter 4 data link layer
Naiyan Noor
 
Ch1 v1
Ch1 v1Ch1 v1
Query Decomposition and data localization
Query Decomposition and data localization Query Decomposition and data localization
Query Decomposition and data localization
Hafiz faiz
 
Full presentation of The OSI model
Full presentation of The OSI model Full presentation of The OSI model
Full presentation of The OSI model
FizzaShehwar
 
Resource management
Resource managementResource management
Resource management
Dr Sandeep Kumar Poonia
 
Integrative Programming and Technology Chapter 4- Dr. J. VijiPriya
Integrative Programming and Technology Chapter 4- Dr. J. VijiPriyaIntegrative Programming and Technology Chapter 4- Dr. J. VijiPriya
Integrative Programming and Technology Chapter 4- Dr. J. VijiPriya
VijiPriya Jeyamani
 
Network Topology.pptx
Network Topology.pptxNetwork Topology.pptx
Network Topology.pptx
Tharshi6
 
Chapter 08 communication and network csc
Chapter 08 communication and network cscChapter 08 communication and network csc
Chapter 08 communication and network cscHisyam Rosly
 
Data link control & protocol concepts
Data link control & protocol conceptsData link control & protocol concepts
Data link control & protocol concepts
Raji Lakshmi
 
Computer networks a tanenbaum - 5th editionee
Computer networks   a tanenbaum - 5th editioneeComputer networks   a tanenbaum - 5th editionee
Computer networks a tanenbaum - 5th editionee
pawan1809
 
Introduction to System, Simulation and Model
Introduction to System, Simulation and ModelIntroduction to System, Simulation and Model
Introduction to System, Simulation and Model
Md. Hasan Imam Bijoy
 
Jeet ooad unit-2
Jeet ooad unit-2Jeet ooad unit-2
Jeet ooad unit-2
Jitendra s Rathore
 
Importance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML DesigningImportance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML Designing
ABHISHEK KUMAR
 
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLESA COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
ADEIJ Journal
 
Lecture#02, building blocks of uml ASE
Lecture#02, building blocks of uml ASELecture#02, building blocks of uml ASE
Lecture#02, building blocks of uml ASEbabak danyal
 
NETWORK TOPOLOGY
NETWORK TOPOLOGYNETWORK TOPOLOGY
NETWORK TOPOLOGYKak Yong
 

What's hot (20)

Network software
Network softwareNetwork software
Network software
 
Chapter 4 data link layer
Chapter 4 data link layerChapter 4 data link layer
Chapter 4 data link layer
 
Ch1 v1
Ch1 v1Ch1 v1
Ch1 v1
 
Database System Architectures
Database System ArchitecturesDatabase System Architectures
Database System Architectures
 
Query Decomposition and data localization
Query Decomposition and data localization Query Decomposition and data localization
Query Decomposition and data localization
 
Full presentation of The OSI model
Full presentation of The OSI model Full presentation of The OSI model
Full presentation of The OSI model
 
Resource management
Resource managementResource management
Resource management
 
Integrative Programming and Technology Chapter 4- Dr. J. VijiPriya
Integrative Programming and Technology Chapter 4- Dr. J. VijiPriyaIntegrative Programming and Technology Chapter 4- Dr. J. VijiPriya
Integrative Programming and Technology Chapter 4- Dr. J. VijiPriya
 
Network Topology.pptx
Network Topology.pptxNetwork Topology.pptx
Network Topology.pptx
 
Chapter 08 communication and network csc
Chapter 08 communication and network cscChapter 08 communication and network csc
Chapter 08 communication and network csc
 
Data link control & protocol concepts
Data link control & protocol conceptsData link control & protocol concepts
Data link control & protocol concepts
 
Computer networks a tanenbaum - 5th editionee
Computer networks   a tanenbaum - 5th editioneeComputer networks   a tanenbaum - 5th editionee
Computer networks a tanenbaum - 5th editionee
 
Introduction to System, Simulation and Model
Introduction to System, Simulation and ModelIntroduction to System, Simulation and Model
Introduction to System, Simulation and Model
 
Network architecture
Network architectureNetwork architecture
Network architecture
 
Jeet ooad unit-2
Jeet ooad unit-2Jeet ooad unit-2
Jeet ooad unit-2
 
Importance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML DesigningImportance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML Designing
 
WAP Technology
WAP TechnologyWAP Technology
WAP Technology
 
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLESA COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
 
Lecture#02, building blocks of uml ASE
Lecture#02, building blocks of uml ASELecture#02, building blocks of uml ASE
Lecture#02, building blocks of uml ASE
 
NETWORK TOPOLOGY
NETWORK TOPOLOGYNETWORK TOPOLOGY
NETWORK TOPOLOGY
 

Similar to FaCoY – A Code-to-Code Search Engine

Advanced full text searching techniques using Lucene
Advanced full text searching techniques using LuceneAdvanced full text searching techniques using Lucene
Advanced full text searching techniques using Lucene
Asad Abbas
 
Haystack 2018 - Algorithmic Extraction of Keywords Concepts and Vocabularies
Haystack 2018 - Algorithmic Extraction of Keywords Concepts and VocabulariesHaystack 2018 - Algorithmic Extraction of Keywords Concepts and Vocabularies
Haystack 2018 - Algorithmic Extraction of Keywords Concepts and Vocabularies
Max Irwin
 
Named Entity Recognition For Hindi-English code-mixed Twitter Text
Named Entity Recognition For Hindi-English code-mixed Twitter Text Named Entity Recognition For Hindi-English code-mixed Twitter Text
Named Entity Recognition For Hindi-English code-mixed Twitter Text
Amogh Kawle
 
AI: Logic in AI
AI: Logic in AIAI: Logic in AI
AI: Logic in AI
DataminingTools Inc
 
AI: Logic in AI
AI: Logic in AIAI: Logic in AI
AI: Logic in AI
Datamining Tools
 
Phpconf2008 Sphinx En
Phpconf2008 Sphinx EnPhpconf2008 Sphinx En
Phpconf2008 Sphinx En
Murugan Krishnamoorthy
 
Webinar: Simpler Semantic Search with Solr
Webinar: Simpler Semantic Search with SolrWebinar: Simpler Semantic Search with Solr
Webinar: Simpler Semantic Search with Solr
Lucidworks
 
Crowd debugging (FSE 2015)
Crowd debugging (FSE 2015)Crowd debugging (FSE 2015)
Crowd debugging (FSE 2015)
Sung Kim
 
S D D Program Development Tools
S D D  Program  Development  ToolsS D D  Program  Development  Tools
S D D Program Development Toolsgavhays
 
Textual programming in key stage 3
Textual programming in key stage 3Textual programming in key stage 3
Textual programming in key stage 3
eaglestone
 
PyCon 2013 - Experiments in data mining, entity disambiguation and how to thi...
PyCon 2013 - Experiments in data mining, entity disambiguation and how to thi...PyCon 2013 - Experiments in data mining, entity disambiguation and how to thi...
PyCon 2013 - Experiments in data mining, entity disambiguation and how to thi...
Ekta Grover
 
IRJET- Semantic Question Matching
IRJET- Semantic Question MatchingIRJET- Semantic Question Matching
IRJET- Semantic Question Matching
IRJET Journal
 
Symbolic Execution And KLEE
Symbolic Execution And KLEESymbolic Execution And KLEE
Symbolic Execution And KLEE
Shauvik Roy Choudhary, Ph.D.
 
Grammarly AI-NLP Club #6 - Sequence Tagging using Neural Networks - Artem Che...
Grammarly AI-NLP Club #6 - Sequence Tagging using Neural Networks - Artem Che...Grammarly AI-NLP Club #6 - Sequence Tagging using Neural Networks - Artem Che...
Grammarly AI-NLP Club #6 - Sequence Tagging using Neural Networks - Artem Che...
Grammarly
 
Search Me: Using Lucene.Net
Search Me: Using Lucene.NetSearch Me: Using Lucene.Net
Search Me: Using Lucene.Net
gramana
 
Empowerment Technologies Lecture 5 (Philippines SHS)
Empowerment Technologies Lecture 5 (Philippines SHS)Empowerment Technologies Lecture 5 (Philippines SHS)
Empowerment Technologies Lecture 5 (Philippines SHS)
John Bosco Javellana, MAEd.
 
Illustrated Code (ASE 2021)
Illustrated Code (ASE 2021)Illustrated Code (ASE 2021)
Devry CIS 355A Full Course Latest
Devry CIS 355A Full Course LatestDevry CIS 355A Full Course Latest
Devry CIS 355A Full Course Latest
Atifkhilji
 
Finding Some "Good" iOS Interview Questions for Employers
Finding Some "Good" iOS Interview Questions for EmployersFinding Some "Good" iOS Interview Questions for Employers
Finding Some "Good" iOS Interview Questions for Employers
nataliepo
 

Similar to FaCoY – A Code-to-Code Search Engine (20)

Advanced full text searching techniques using Lucene
Advanced full text searching techniques using LuceneAdvanced full text searching techniques using Lucene
Advanced full text searching techniques using Lucene
 
Haystack 2018 - Algorithmic Extraction of Keywords Concepts and Vocabularies
Haystack 2018 - Algorithmic Extraction of Keywords Concepts and VocabulariesHaystack 2018 - Algorithmic Extraction of Keywords Concepts and Vocabularies
Haystack 2018 - Algorithmic Extraction of Keywords Concepts and Vocabularies
 
Named Entity Recognition For Hindi-English code-mixed Twitter Text
Named Entity Recognition For Hindi-English code-mixed Twitter Text Named Entity Recognition For Hindi-English code-mixed Twitter Text
Named Entity Recognition For Hindi-English code-mixed Twitter Text
 
AI: Logic in AI
AI: Logic in AIAI: Logic in AI
AI: Logic in AI
 
AI: Logic in AI
AI: Logic in AIAI: Logic in AI
AI: Logic in AI
 
Phpconf2008 Sphinx En
Phpconf2008 Sphinx EnPhpconf2008 Sphinx En
Phpconf2008 Sphinx En
 
Webinar: Simpler Semantic Search with Solr
Webinar: Simpler Semantic Search with SolrWebinar: Simpler Semantic Search with Solr
Webinar: Simpler Semantic Search with Solr
 
Crowd debugging (FSE 2015)
Crowd debugging (FSE 2015)Crowd debugging (FSE 2015)
Crowd debugging (FSE 2015)
 
S D D Program Development Tools
S D D  Program  Development  ToolsS D D  Program  Development  Tools
S D D Program Development Tools
 
Textual programming in key stage 3
Textual programming in key stage 3Textual programming in key stage 3
Textual programming in key stage 3
 
PyCon 2013 - Experiments in data mining, entity disambiguation and how to thi...
PyCon 2013 - Experiments in data mining, entity disambiguation and how to thi...PyCon 2013 - Experiments in data mining, entity disambiguation and how to thi...
PyCon 2013 - Experiments in data mining, entity disambiguation and how to thi...
 
IRJET- Semantic Question Matching
IRJET- Semantic Question MatchingIRJET- Semantic Question Matching
IRJET- Semantic Question Matching
 
Symbolic Execution And KLEE
Symbolic Execution And KLEESymbolic Execution And KLEE
Symbolic Execution And KLEE
 
Grammarly AI-NLP Club #6 - Sequence Tagging using Neural Networks - Artem Che...
Grammarly AI-NLP Club #6 - Sequence Tagging using Neural Networks - Artem Che...Grammarly AI-NLP Club #6 - Sequence Tagging using Neural Networks - Artem Che...
Grammarly AI-NLP Club #6 - Sequence Tagging using Neural Networks - Artem Che...
 
Search Me: Using Lucene.Net
Search Me: Using Lucene.NetSearch Me: Using Lucene.Net
Search Me: Using Lucene.Net
 
Empowerment Technologies Lecture 5 (Philippines SHS)
Empowerment Technologies Lecture 5 (Philippines SHS)Empowerment Technologies Lecture 5 (Philippines SHS)
Empowerment Technologies Lecture 5 (Philippines SHS)
 
Illustrated Code (ASE 2021)
Illustrated Code (ASE 2021)Illustrated Code (ASE 2021)
Illustrated Code (ASE 2021)
 
Devry CIS 355A Full Course Latest
Devry CIS 355A Full Course LatestDevry CIS 355A Full Course Latest
Devry CIS 355A Full Course Latest
 
Finding Some "Good" iOS Interview Questions for Employers
Finding Some "Good" iOS Interview Questions for EmployersFinding Some "Good" iOS Interview Questions for Employers
Finding Some "Good" iOS Interview Questions for Employers
 
Apps
AppsApps
Apps
 

More from Dongsun Kim

LeakPair: Proactive Repairing of Leaks in Single Page Web Applications
LeakPair: Proactive Repairing of Leaks in Single Page Web ApplicationsLeakPair: Proactive Repairing of Leaks in Single Page Web Applications
LeakPair: Proactive Repairing of Leaks in Single Page Web Applications
Dongsun Kim
 
iFixR: Bug Report Driven Program Repair
iFixR: Bug Report Driven Program RepairiFixR: Bug Report Driven Program Repair
iFixR: Bug Report Driven Program Repair
Dongsun Kim
 
TBar: Revisiting Template-based Automated Program Repair
TBar: Revisiting Template-based Automated Program RepairTBar: Revisiting Template-based Automated Program Repair
TBar: Revisiting Template-based Automated Program Repair
Dongsun Kim
 
Mining Fix Patterns for FindBugs Violations
Mining Fix Patterns for FindBugs ViolationsMining Fix Patterns for FindBugs Violations
Mining Fix Patterns for FindBugs Violations
Dongsun Kim
 
Learning to Spot and Refactor Inconsistent Method Names
Learning to Spot and Refactor Inconsistent Method NamesLearning to Spot and Refactor Inconsistent Method Names
Learning to Spot and Refactor Inconsistent Method Names
Dongsun Kim
 
You Cannot Fix What You Cannot Find! --- An Investigation of Fault Localizati...
You Cannot Fix What You Cannot Find! --- An Investigation of Fault Localizati...You Cannot Fix What You Cannot Find! --- An Investigation of Fault Localizati...
You Cannot Fix What You Cannot Find! --- An Investigation of Fault Localizati...
Dongsun Kim
 
A Closer Look at Real-World Patches
A Closer Look at Real-World PatchesA Closer Look at Real-World Patches
A Closer Look at Real-World Patches
Dongsun Kim
 
LSRepair: Live Search of Fix Ingredients for Automated Program Repair
LSRepair: Live Search of Fix Ingredients for Automated Program RepairLSRepair: Live Search of Fix Ingredients for Automated Program Repair
LSRepair: Live Search of Fix Ingredients for Automated Program Repair
Dongsun Kim
 
AVATAR : Fixing Semantic Bugs with Fix Patterns of Static Analysis Violations
AVATAR : Fixing Semantic Bugs with Fix Patterns of Static Analysis ViolationsAVATAR : Fixing Semantic Bugs with Fix Patterns of Static Analysis Violations
AVATAR : Fixing Semantic Bugs with Fix Patterns of Static Analysis Violations
Dongsun Kim
 
Bench4BL: Reproducibility Study on the Performance of IR-Based Bug Localization
Bench4BL: Reproducibility Study on the Performance of IR-Based Bug LocalizationBench4BL: Reproducibility Study on the Performance of IR-Based Bug Localization
Bench4BL: Reproducibility Study on the Performance of IR-Based Bug Localization
Dongsun Kim
 
Impact of Tool Support in Patch Construction
Impact of Tool Support in Patch ConstructionImpact of Tool Support in Patch Construction
Impact of Tool Support in Patch Construction
Dongsun Kim
 
Augmenting and structuring user queries to support efficient free-form code s...
Augmenting and structuring user queries to support efficient free-form code s...Augmenting and structuring user queries to support efficient free-form code s...
Augmenting and structuring user queries to support efficient free-form code s...
Dongsun Kim
 
Good Hunting: Locating, Prioritizing, and Fixing Bugs Automatically (Keynote,...
Good Hunting: Locating, Prioritizing, and Fixing Bugs Automatically (Keynote,...Good Hunting: Locating, Prioritizing, and Fixing Bugs Automatically (Keynote,...
Good Hunting: Locating, Prioritizing, and Fixing Bugs Automatically (Keynote,...
Dongsun Kim
 
Automatic Patch Generation Learned from Human-Written Patches
Automatic Patch Generation Learned from Human-Written PatchesAutomatic Patch Generation Learned from Human-Written Patches
Automatic Patch Generation Learned from Human-Written PatchesDongsun Kim
 

More from Dongsun Kim (14)

LeakPair: Proactive Repairing of Leaks in Single Page Web Applications
LeakPair: Proactive Repairing of Leaks in Single Page Web ApplicationsLeakPair: Proactive Repairing of Leaks in Single Page Web Applications
LeakPair: Proactive Repairing of Leaks in Single Page Web Applications
 
iFixR: Bug Report Driven Program Repair
iFixR: Bug Report Driven Program RepairiFixR: Bug Report Driven Program Repair
iFixR: Bug Report Driven Program Repair
 
TBar: Revisiting Template-based Automated Program Repair
TBar: Revisiting Template-based Automated Program RepairTBar: Revisiting Template-based Automated Program Repair
TBar: Revisiting Template-based Automated Program Repair
 
Mining Fix Patterns for FindBugs Violations
Mining Fix Patterns for FindBugs ViolationsMining Fix Patterns for FindBugs Violations
Mining Fix Patterns for FindBugs Violations
 
Learning to Spot and Refactor Inconsistent Method Names
Learning to Spot and Refactor Inconsistent Method NamesLearning to Spot and Refactor Inconsistent Method Names
Learning to Spot and Refactor Inconsistent Method Names
 
You Cannot Fix What You Cannot Find! --- An Investigation of Fault Localizati...
You Cannot Fix What You Cannot Find! --- An Investigation of Fault Localizati...You Cannot Fix What You Cannot Find! --- An Investigation of Fault Localizati...
You Cannot Fix What You Cannot Find! --- An Investigation of Fault Localizati...
 
A Closer Look at Real-World Patches
A Closer Look at Real-World PatchesA Closer Look at Real-World Patches
A Closer Look at Real-World Patches
 
LSRepair: Live Search of Fix Ingredients for Automated Program Repair
LSRepair: Live Search of Fix Ingredients for Automated Program RepairLSRepair: Live Search of Fix Ingredients for Automated Program Repair
LSRepair: Live Search of Fix Ingredients for Automated Program Repair
 
AVATAR : Fixing Semantic Bugs with Fix Patterns of Static Analysis Violations
AVATAR : Fixing Semantic Bugs with Fix Patterns of Static Analysis ViolationsAVATAR : Fixing Semantic Bugs with Fix Patterns of Static Analysis Violations
AVATAR : Fixing Semantic Bugs with Fix Patterns of Static Analysis Violations
 
Bench4BL: Reproducibility Study on the Performance of IR-Based Bug Localization
Bench4BL: Reproducibility Study on the Performance of IR-Based Bug LocalizationBench4BL: Reproducibility Study on the Performance of IR-Based Bug Localization
Bench4BL: Reproducibility Study on the Performance of IR-Based Bug Localization
 
Impact of Tool Support in Patch Construction
Impact of Tool Support in Patch ConstructionImpact of Tool Support in Patch Construction
Impact of Tool Support in Patch Construction
 
Augmenting and structuring user queries to support efficient free-form code s...
Augmenting and structuring user queries to support efficient free-form code s...Augmenting and structuring user queries to support efficient free-form code s...
Augmenting and structuring user queries to support efficient free-form code s...
 
Good Hunting: Locating, Prioritizing, and Fixing Bugs Automatically (Keynote,...
Good Hunting: Locating, Prioritizing, and Fixing Bugs Automatically (Keynote,...Good Hunting: Locating, Prioritizing, and Fixing Bugs Automatically (Keynote,...
Good Hunting: Locating, Prioritizing, and Fixing Bugs Automatically (Keynote,...
 
Automatic Patch Generation Learned from Human-Written Patches
Automatic Patch Generation Learned from Human-Written PatchesAutomatic Patch Generation Learned from Human-Written Patches
Automatic Patch Generation Learned from Human-Written Patches
 

Recently uploaded

Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 

Recently uploaded (20)

Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 

FaCoY – A Code-to-Code Search Engine