SlideShare a Scribd company logo
1 of 36
Download to read offline
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
David Meibusch & Nathan Hawes
Oracle Labs Australia
June 2016
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases
Querying and managing
evolving code dependency graphs
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Safe	Harbour
The	following	is	intended	to	provide	some	insight	into	a	line	of	research	in	Oracle	
Labs.	It	is	intended	for	information	purposes	only,	and	may	not	be	incorporated	
into	any	contract.
It	is	not	a	commitment	to	deliver	any	material,	code,	or	functionality,	and	should	
not	be	relied	upon	in	making	purchasing	decisions.	Oracle	reserves	the	right	to	
alter	its	development	plans	and	practices	at	any	time,	and the	development,	
release,	and	timing	of	any	features	or	functionality	described	in	connection	with	
any	Oracle	product	or	service	remains	at	the	sole	discretion	of	Oracle.
Any	views	expressed	in	this	presentation	are	my	own	and	do	not	necessarily	reflect	
the	views	of	Oracle.
Frappé:	querying	the	Linux	kernel	dependency	graph 2
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
The	Truth	is	in	the	Source!
But	the	source	is	often	complicated,	multi-language	and	really	really	big
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 3
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Frappé:	code	as	a	property	graph
• Graph	natural	in	this	domain
– Call	graph,	directory	hierarchy,	type	hierarchy,	data/control	flow	graphs
• Overlay	data	from	different	spaces
– File	system,	build,	preprocessor,	AST,	cross-language
• Lets	users	specify	queries	in	terms	of	this	graph
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 4
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
How	it works
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 5
EXTRACTOR IMPORTER
EDITOR	PLUGINS
CLI	SCRIPTS
Source	Code .fo Server User
WEB	UI
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Graph	model	example
Frappé:	querying	the	Linux	kernel	dependency	graph 6
prog
module
main.c
file
foo.o
module
foo.c
source_file
foo.h
source_file
bar
function_decl
bar
function
main
function
argc
parameter
argv
parameter
input
parameter
int
primitive
char
primitive
compiled_from
compiled_from
includes
linked_from
includes
file_contains
file_contains
calls
has_param
has_param
is_type is_type
compiled_from
file_contains
has_param
is_type
declares
int bar(int); foo.h
#include “foo.h”
int bar(int *input) {
return *input * 2;
}
foo.c
#include “foo.h”
int main(int argc, char **argv) {
return bar(&argc);
}
main.c
gcc foo.c –c –o foo.o
gcc main.c foo.o –o prog
build
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
How	it works
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 7
EXTRACTOR IMPORTER
EDITOR	PLUGINS
CLI	SCRIPTS
Source	Code IR Server User
WEB	UI
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Use	cases
• Code	search
• Code	navigation
– Go	to	definition
– Find	references
• Code	comprehension
– Visualization
– Transitive	closure	calls,	includes,	etc.
– Shortest	path	queries
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 8
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
How	it	looks
• dddd • Web	UI	Xref • Code	Map	with	impact	
overlay
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 9
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Use	cases
• Code	search
• Code	navigation
– Go	to	definition
– Find	references
• Code	comprehension
– Visualization
– Transitive	closure	calls,	includes,	etc.
– Reachability	queries
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 10
Queries	and	Neo4j	performance	
detailed	in	GRADES’15	paper:
”Frappé:	Querying	 the	Linux	Kernel	
dependency	graph”
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Code	search
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 11
foo.c
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Code	search
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 12
foo.c
(n with name=‘foo.c’)
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Code	search
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 13
foo.c
(n with name=‘foo.c’)
struct foo {
int c;
}
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Code	search
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 14
foo.c
(c with name=‘foo’)
-[:contains]->
(n with name=‘c’)
UNION
(n with name=‘foo.c’)
struct foo {
int c;
}
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Code	search
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 15
foo.c
(c with name=‘foo’)
-[:contains]->
(n with name=‘c’)
UNION
(n with name=‘foo.c’)
struct bar {
int c;
}
typedef struct bar foo;
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Code	search
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 16
foo.c
(c with name ‘foo’)
-[:aliases*]->()-[:contains]->
(n with name=‘c’)
UNION
(n with name=‘foo.c’)
struct bar {
int c;
}
typedef struct bar foo;
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Code	search
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 17
foo.c
(c with name ‘foo’)
-[:aliases*]->()-[:contains]->
(n with name=‘c’)
UNION
(n with name=‘foo.c’)
struct bar {
int c;
}
typedef struct bar foo;
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Use	cases
• Code	search
• Code	navigation
– Go	to	definition
– Find	references
• Code	comprehension
– Visualization
– Transitive	closure	calls,	includes,	etc.
– Reachability	queries
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 18
Queries	and	Neo4j	performance	
detailed	in	GRADES’15	paper:
”Frappé:	Querying	 the	Linux	Kernel	
dependency	graph”
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Use	cases
• Code	search
• Code	navigation
– Go	to	definition
– Find	references
• Code	comprehension
– Visualization
– Transitive	closure	calls,	includes,	etc.
– Reachability	queries
• Custom	user	queries
– (Anti)	pattern	detection
– Expose	query	language
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 19
Queries	and	Neo4j	performance	
detailed	in	GRADES’15	paper:
”Frappé:	Querying	 the	Linux	Kernel	
dependency	graph”
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Dependency	cycle
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 20
source_file
file_contains
source_file
file_contains
source_file
file_contains file_contains file_contains file_contains
references references
references
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Dependency	cycle
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 21
source_file
file_contains
source_file
file_contains
source_file
file_contains file_contains file_contains file_contains
references references
references
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Dependency	cycle
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 22
references
()-[
:includes | uses_namespace | expands | interrogates | undefined | aliases |
uses_enumerator | has_friend | isa_type | extends | uses_type | throws |
has_ret_type | has_param_type | calls | may_call | overridden_by | declares
| reads | writes | dereferences | address_of | type_of | size_of | align_of
| casts_to
]->()
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
BUT
Developers	working	off	of	different	
versions	of	the	code
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 23
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Target	Scenario
• 1000s	of	developers	working	from	
main	branch
• Changes	merged	regularly
• Most	developers	working	off	of	
versions	from	the	past	30 days
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 24
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Current	Deployment
• Separate	Neo4j	instance	for	the	most	
recent	5 versions	of	the	code
• New	graph	generated	in	nightly	
regression
• Script	on	the	client	to	determine	which	
server	to	connect	to
• Deployment	effort	and	complexity
• Inefficient	use	of	resources
– Redundant	data
– Memory	requirements
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 25
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Current	Deployment
• Separate	Neo4j	instance	for	the	most	
recent	5 versions	of	the	code
• New	graph	generated	in	nightly	
regression
• Script	on	the	client	to	determine	which	
server	to	connect	to
• Deployment	effort	and	complexity
• Inefficient	use	of	resources
– Redundant	data
– Memory	requirements
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 26
Single	logical	server
with	multiple	versions
and	efficient	storage
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Use	cases	for	multiple	versions
• Single	version	use	cases	per	version
• Code	review:	2	versions
– Are	there	any	architectural	constraints	being	newly	violated?
– Are	there	any	new	usages	of	deprecated	methods?
– Are	any	methods	now	unused?
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 27
Select	version
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Version	selection
SELECT path
FROM freebsd@1013
WHERE path =
(:function WITH name='source') -/:calls*/-> (:function WITH name='sink')
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 28
PATH vcalls := () -[:call WITH 1013 between fromV and toV]-> ()
SELECT path
FROM freebsd
WHERE path =
(:function WITH name='source’, 1013 between fromV and toV)
-/:vcalls*/->
(:function WITH name='sink’, 1013 between fromV and toV)
VS
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Use	cases	for	multiple	versions
• Single	version	use	cases	per	version
• Code	review:	2	versions
– Are	there	any	architectural	constraints	being	newly	violated?
– Are	there	any	new	usages	of	deprecated	methods?
– Are	any	methods	now	unused?
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 29
Match	in	each	version
+
Compare	results
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Compare	results
SELECT DIFFERENCE path
FROM freebsd@1013, freebsd@1014
WHERE path =
(:function WITH name='source') -/:calls*/-> (:function WITH name='sink')
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 30
SELECT path
FROM freebsd@1013
WHERE path =
(:function WITH name='source') -/:calls*/-> (:function WITH name='sink')
DIFFERENCE
SELECT path
FROM freebsd@1014
WHERE path =
(:function WITH name='source') -/:calls*/-> (:function WITH name='sink')
VS
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Open	Questions
• Node/Edge	identity
– Supplied	or	derived	using	graph	information
• Query	language	expressiveness
– Regular	path	expressions
– Multiple	edge	labels
• Efficient	storage	and	querying	for	multiple	graph	versions:
– List	or	ideally	DAG	of	versions
– Union,	intersection,	difference	of	results	from	different	versions
– Query	language	that	abstracts	away	versioning
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 31
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
FreeBSD	dataset	available	on	OTN
• Includes	graphs	of	10.1,	10.2,	10.3	
kernel	+	documentation
• Each	graph
– Extracted	from	10M	LOC
– 2	million	vertices
– 10	million	edges
• Try	it	out	and get	in	touch:
– nathan.hawes@oracle.com
david meibusch@oracle.com
ben.barham@oracle.com
Frappé:	a	code	comprehension	 tool	for	large	C/C++	codebases 32
http://www.oracle.com/technetwork/oracle-
labs/datasets/downloads/index.html
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Graph	model	example
Frappé:	querying	the	Linux	kernel	dependency	graph 34
main.c
file
bar
function
main
function
name_start_line
name_start_column
use_start_line
use_end_line
name_start_line
name_start_column
use_start_line
use_end_line
#include “foo.h”
int bar(int *input) {
return *input * 2;
}
foo.c
#include “foo.h”
int main(int argc, char **argv) {
return bar(&argc);
}
main.c
file_containscalls
name	location
use	location
name	location
use	location
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Graph	model	example
Frappé:	querying	the	Linux	kernel	dependency	graph 35
main.c
file
bar
function
main
function
name_start_line
name_start_column
use_start_line
use_end_line
name_start_line
name_start_column
use_start_line
use_end_line
#include “foo.h”
int main(int argc, char **argv) {
return BAR(&argc);
}
main.c
file_containscalls
#define BAR(A) bar(A)
int bar(int);
foo.h
#include “foo.h”
int bar(int *input) {
return *input * 2;
}
foo.c
Copyright	©	2015 Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Graph	model	example
Frappé:	querying	the	Linux	kernel	dependency	graph 36
main.c
file
bar
function
main
function
name_file_id
name_start_line
name_start_column
use_file_id
use_start_line
use_end_line
name_file_id
name_start_line
name_start_column
use_file_id
use_start_line
use_end_line
#include “foo.h”
int main(int argc, char **argv) {
return BAR(&argc);
}
main.c
file_containscalls
#define BAR(A) bar(A)
int bar(int);
foo.h
#include “foo.h”
int bar(int *input) {
return *input * 2;
}
foo.c
name	location
use	location

More Related Content

Similar to 8th TUC Meeting - David Meibusch, Nathan Hawes (Oracle Labs Australia). Frappé: Querying and managing evolving code dependency graphs.

Mastering DevOps With Oracle
Mastering DevOps With OracleMastering DevOps With Oracle
Mastering DevOps With OracleKelly Goetsch
 
InvokeDynamic for Mere Mortals [JavaOne 2015 CON7682]
InvokeDynamic for Mere Mortals [JavaOne 2015 CON7682]InvokeDynamic for Mere Mortals [JavaOne 2015 CON7682]
InvokeDynamic for Mere Mortals [JavaOne 2015 CON7682]David Buck
 
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachJDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachPROIDEA
 
Modern App Development with Oracle Cloud
Modern App Development with Oracle CloudModern App Development with Oracle Cloud
Modern App Development with Oracle CloudJuan Carlos Ruiz Rico
 
Diagnose Your Microservices
Diagnose Your MicroservicesDiagnose Your Microservices
Diagnose Your MicroservicesMarcus Hirt
 
JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...
JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...
JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...PROIDEA
 
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan WielengaCoding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan WielengaJAXLondon_Conference
 
Big Data at Oracle - Strata 2015 San Jose
Big Data at Oracle - Strata 2015 San JoseBig Data at Oracle - Strata 2015 San Jose
Big Data at Oracle - Strata 2015 San JoseJeffrey T. Pollock
 
Why Laravel is Still a Good Choice in 2020
Why Laravel is Still a Good Choice in 2020Why Laravel is Still a Good Choice in 2020
Why Laravel is Still a Good Choice in 2020Katy Slemon
 
PHP framework difference
PHP framework differencePHP framework difference
PHP framework differenceiScripts
 
Coding from Application Container Cloud to Oracle JET
Coding from Application Container Cloud to Oracle JETCoding from Application Container Cloud to Oracle JET
Coding from Application Container Cloud to Oracle JETGeertjan Wielenga
 
Java magazine jan feb 2018
Java magazine jan feb 2018Java magazine jan feb 2018
Java magazine jan feb 2018Acacio Martins
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data ServicesChris Muir
 
The Most Valuable Customer on Earth-1298: Comic Book Analysis with Oracel's B...
The Most Valuable Customer on Earth-1298: Comic Book Analysis with Oracel's B...The Most Valuable Customer on Earth-1298: Comic Book Analysis with Oracel's B...
The Most Valuable Customer on Earth-1298: Comic Book Analysis with Oracel's B...DataWorks Summit
 
API Platform Cloud Service best practice - OOW17
API Platform Cloud Service best practice - OOW17API Platform Cloud Service best practice - OOW17
API Platform Cloud Service best practice - OOW17Phil Wilkins
 

Similar to 8th TUC Meeting - David Meibusch, Nathan Hawes (Oracle Labs Australia). Frappé: Querying and managing evolving code dependency graphs. (20)

Session at Oredev 2016.
Session at Oredev 2016.Session at Oredev 2016.
Session at Oredev 2016.
 
Slovenian Oracle User Group
Slovenian Oracle User GroupSlovenian Oracle User Group
Slovenian Oracle User Group
 
Imworld.ro
Imworld.roImworld.ro
Imworld.ro
 
Mastering DevOps With Oracle
Mastering DevOps With OracleMastering DevOps With Oracle
Mastering DevOps With Oracle
 
InvokeDynamic for Mere Mortals [JavaOne 2015 CON7682]
InvokeDynamic for Mere Mortals [JavaOne 2015 CON7682]InvokeDynamic for Mere Mortals [JavaOne 2015 CON7682]
InvokeDynamic for Mere Mortals [JavaOne 2015 CON7682]
 
Serverless Kotlin
Serverless KotlinServerless Kotlin
Serverless Kotlin
 
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachJDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
 
JavaCro'15 - Everything a Java EE Developer needs to know about the JavaScrip...
JavaCro'15 - Everything a Java EE Developer needs to know about the JavaScrip...JavaCro'15 - Everything a Java EE Developer needs to know about the JavaScrip...
JavaCro'15 - Everything a Java EE Developer needs to know about the JavaScrip...
 
Modern App Development with Oracle Cloud
Modern App Development with Oracle CloudModern App Development with Oracle Cloud
Modern App Development with Oracle Cloud
 
Diagnose Your Microservices
Diagnose Your MicroservicesDiagnose Your Microservices
Diagnose Your Microservices
 
JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...
JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...
JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...
 
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan WielengaCoding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
 
Big Data at Oracle - Strata 2015 San Jose
Big Data at Oracle - Strata 2015 San JoseBig Data at Oracle - Strata 2015 San Jose
Big Data at Oracle - Strata 2015 San Jose
 
Why Laravel is Still a Good Choice in 2020
Why Laravel is Still a Good Choice in 2020Why Laravel is Still a Good Choice in 2020
Why Laravel is Still a Good Choice in 2020
 
PHP framework difference
PHP framework differencePHP framework difference
PHP framework difference
 
Coding from Application Container Cloud to Oracle JET
Coding from Application Container Cloud to Oracle JETCoding from Application Container Cloud to Oracle JET
Coding from Application Container Cloud to Oracle JET
 
Java magazine jan feb 2018
Java magazine jan feb 2018Java magazine jan feb 2018
Java magazine jan feb 2018
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data Services
 
The Most Valuable Customer on Earth-1298: Comic Book Analysis with Oracel's B...
The Most Valuable Customer on Earth-1298: Comic Book Analysis with Oracel's B...The Most Valuable Customer on Earth-1298: Comic Book Analysis with Oracel's B...
The Most Valuable Customer on Earth-1298: Comic Book Analysis with Oracel's B...
 
API Platform Cloud Service best practice - OOW17
API Platform Cloud Service best practice - OOW17API Platform Cloud Service best practice - OOW17
API Platform Cloud Service best practice - OOW17
 

More from LDBC council

8th TUC Meeting - Juan Sequeda (Capsenta). Integrating Data using Graphs and ...
8th TUC Meeting - Juan Sequeda (Capsenta). Integrating Data using Graphs and ...8th TUC Meeting - Juan Sequeda (Capsenta). Integrating Data using Graphs and ...
8th TUC Meeting - Juan Sequeda (Capsenta). Integrating Data using Graphs and ...LDBC council
 
8th TUC Meeting - Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
8th TUC Meeting -  Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...8th TUC Meeting -  Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
8th TUC Meeting - Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...LDBC council
 
8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine
8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine
8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics EngineLDBC council
 
8th TUC Meeting – George Fletcher (TU Eindhoven), gMark: Schema-driven data a...
8th TUC Meeting – George Fletcher (TU Eindhoven), gMark: Schema-driven data a...8th TUC Meeting – George Fletcher (TU Eindhoven), gMark: Schema-driven data a...
8th TUC Meeting – George Fletcher (TU Eindhoven), gMark: Schema-driven data a...LDBC council
 
8th TUC Meeting – Marcus Paradies (SAP) Social Network Benchmark
8th TUC Meeting – Marcus Paradies (SAP) Social Network Benchmark8th TUC Meeting – Marcus Paradies (SAP) Social Network Benchmark
8th TUC Meeting – Marcus Paradies (SAP) Social Network BenchmarkLDBC council
 
8th TUC Meeting - Sergey Edunov (Facebook). Generating realistic trillion-edg...
8th TUC Meeting - Sergey Edunov (Facebook). Generating realistic trillion-edg...8th TUC Meeting - Sergey Edunov (Facebook). Generating realistic trillion-edg...
8th TUC Meeting - Sergey Edunov (Facebook). Generating realistic trillion-edg...LDBC council
 
Weining Qian (ECNU). On Statistical Characteristics of Real-Life Knowledge Gr...
Weining Qian (ECNU). On Statistical Characteristics of Real-Life Knowledge Gr...Weining Qian (ECNU). On Statistical Characteristics of Real-Life Knowledge Gr...
Weining Qian (ECNU). On Statistical Characteristics of Real-Life Knowledge Gr...LDBC council
 
8th TUC Meeting - Peter Boncz (CWI). Query Language Task Force status
8th TUC Meeting - Peter Boncz (CWI). Query Language Task Force status8th TUC Meeting - Peter Boncz (CWI). Query Language Task Force status
8th TUC Meeting - Peter Boncz (CWI). Query Language Task Force statusLDBC council
 
8th TUC Meeting | Lijun Chang (University of New South Wales). Efficient Subg...
8th TUC Meeting | Lijun Chang (University of New South Wales). Efficient Subg...8th TUC Meeting | Lijun Chang (University of New South Wales). Efficient Subg...
8th TUC Meeting | Lijun Chang (University of New South Wales). Efficient Subg...LDBC council
 
8th TUC Meeting - Eugene I. Chong (Oracle USA). Balancing Act to improve RDF ...
8th TUC Meeting - Eugene I. Chong (Oracle USA). Balancing Act to improve RDF ...8th TUC Meeting - Eugene I. Chong (Oracle USA). Balancing Act to improve RDF ...
8th TUC Meeting - Eugene I. Chong (Oracle USA). Balancing Act to improve RDF ...LDBC council
 
8th TUC Meeting -
8th TUC Meeting - 8th TUC Meeting -
8th TUC Meeting - LDBC council
 
8th TUC Meeting - Martin Zand University of Rochester Clinical and Translatio...
8th TUC Meeting - Martin Zand University of Rochester Clinical and Translatio...8th TUC Meeting - Martin Zand University of Rochester Clinical and Translatio...
8th TUC Meeting - Martin Zand University of Rochester Clinical and Translatio...LDBC council
 
8th TUC Meeting - Tim Hegeman (TU Delft). Social Network Benchmark, Analytics...
8th TUC Meeting - Tim Hegeman (TU Delft). Social Network Benchmark, Analytics...8th TUC Meeting - Tim Hegeman (TU Delft). Social Network Benchmark, Analytics...
8th TUC Meeting - Tim Hegeman (TU Delft). Social Network Benchmark, Analytics...LDBC council
 
LDBC 8th TUC Meeting: Introduction and status update
LDBC 8th TUC Meeting: Introduction and status updateLDBC 8th TUC Meeting: Introduction and status update
LDBC 8th TUC Meeting: Introduction and status updateLDBC council
 
LDBC 6th TUC Meeting conclusions
LDBC 6th TUC Meeting conclusionsLDBC 6th TUC Meeting conclusions
LDBC 6th TUC Meeting conclusionsLDBC council
 
Parallel and incremental materialisation of RDF/DATALOG in RDFOX
Parallel and incremental materialisation of RDF/DATALOG in RDFOXParallel and incremental materialisation of RDF/DATALOG in RDFOX
Parallel and incremental materialisation of RDF/DATALOG in RDFOXLDBC council
 
MODAClouds Decision Support System for Cloud Service Selection
MODAClouds Decision Support System for Cloud Service SelectionMODAClouds Decision Support System for Cloud Service Selection
MODAClouds Decision Support System for Cloud Service SelectionLDBC council
 
E-Commerce and Graph-driven Applications: Experiences and Optimizations while...
E-Commerce and Graph-driven Applications: Experiences and Optimizations while...E-Commerce and Graph-driven Applications: Experiences and Optimizations while...
E-Commerce and Graph-driven Applications: Experiences and Optimizations while...LDBC council
 
LDBC SNB Benchmark Auditing
LDBC SNB Benchmark AuditingLDBC SNB Benchmark Auditing
LDBC SNB Benchmark AuditingLDBC council
 
Social Network Benchmark Interactive Workload
Social Network Benchmark Interactive WorkloadSocial Network Benchmark Interactive Workload
Social Network Benchmark Interactive WorkloadLDBC council
 

More from LDBC council (20)

8th TUC Meeting - Juan Sequeda (Capsenta). Integrating Data using Graphs and ...
8th TUC Meeting - Juan Sequeda (Capsenta). Integrating Data using Graphs and ...8th TUC Meeting - Juan Sequeda (Capsenta). Integrating Data using Graphs and ...
8th TUC Meeting - Juan Sequeda (Capsenta). Integrating Data using Graphs and ...
 
8th TUC Meeting - Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
8th TUC Meeting -  Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...8th TUC Meeting -  Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
8th TUC Meeting - Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
 
8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine
8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine
8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine
 
8th TUC Meeting – George Fletcher (TU Eindhoven), gMark: Schema-driven data a...
8th TUC Meeting – George Fletcher (TU Eindhoven), gMark: Schema-driven data a...8th TUC Meeting – George Fletcher (TU Eindhoven), gMark: Schema-driven data a...
8th TUC Meeting – George Fletcher (TU Eindhoven), gMark: Schema-driven data a...
 
8th TUC Meeting – Marcus Paradies (SAP) Social Network Benchmark
8th TUC Meeting – Marcus Paradies (SAP) Social Network Benchmark8th TUC Meeting – Marcus Paradies (SAP) Social Network Benchmark
8th TUC Meeting – Marcus Paradies (SAP) Social Network Benchmark
 
8th TUC Meeting - Sergey Edunov (Facebook). Generating realistic trillion-edg...
8th TUC Meeting - Sergey Edunov (Facebook). Generating realistic trillion-edg...8th TUC Meeting - Sergey Edunov (Facebook). Generating realistic trillion-edg...
8th TUC Meeting - Sergey Edunov (Facebook). Generating realistic trillion-edg...
 
Weining Qian (ECNU). On Statistical Characteristics of Real-Life Knowledge Gr...
Weining Qian (ECNU). On Statistical Characteristics of Real-Life Knowledge Gr...Weining Qian (ECNU). On Statistical Characteristics of Real-Life Knowledge Gr...
Weining Qian (ECNU). On Statistical Characteristics of Real-Life Knowledge Gr...
 
8th TUC Meeting - Peter Boncz (CWI). Query Language Task Force status
8th TUC Meeting - Peter Boncz (CWI). Query Language Task Force status8th TUC Meeting - Peter Boncz (CWI). Query Language Task Force status
8th TUC Meeting - Peter Boncz (CWI). Query Language Task Force status
 
8th TUC Meeting | Lijun Chang (University of New South Wales). Efficient Subg...
8th TUC Meeting | Lijun Chang (University of New South Wales). Efficient Subg...8th TUC Meeting | Lijun Chang (University of New South Wales). Efficient Subg...
8th TUC Meeting | Lijun Chang (University of New South Wales). Efficient Subg...
 
8th TUC Meeting - Eugene I. Chong (Oracle USA). Balancing Act to improve RDF ...
8th TUC Meeting - Eugene I. Chong (Oracle USA). Balancing Act to improve RDF ...8th TUC Meeting - Eugene I. Chong (Oracle USA). Balancing Act to improve RDF ...
8th TUC Meeting - Eugene I. Chong (Oracle USA). Balancing Act to improve RDF ...
 
8th TUC Meeting -
8th TUC Meeting - 8th TUC Meeting -
8th TUC Meeting -
 
8th TUC Meeting - Martin Zand University of Rochester Clinical and Translatio...
8th TUC Meeting - Martin Zand University of Rochester Clinical and Translatio...8th TUC Meeting - Martin Zand University of Rochester Clinical and Translatio...
8th TUC Meeting - Martin Zand University of Rochester Clinical and Translatio...
 
8th TUC Meeting - Tim Hegeman (TU Delft). Social Network Benchmark, Analytics...
8th TUC Meeting - Tim Hegeman (TU Delft). Social Network Benchmark, Analytics...8th TUC Meeting - Tim Hegeman (TU Delft). Social Network Benchmark, Analytics...
8th TUC Meeting - Tim Hegeman (TU Delft). Social Network Benchmark, Analytics...
 
LDBC 8th TUC Meeting: Introduction and status update
LDBC 8th TUC Meeting: Introduction and status updateLDBC 8th TUC Meeting: Introduction and status update
LDBC 8th TUC Meeting: Introduction and status update
 
LDBC 6th TUC Meeting conclusions
LDBC 6th TUC Meeting conclusionsLDBC 6th TUC Meeting conclusions
LDBC 6th TUC Meeting conclusions
 
Parallel and incremental materialisation of RDF/DATALOG in RDFOX
Parallel and incremental materialisation of RDF/DATALOG in RDFOXParallel and incremental materialisation of RDF/DATALOG in RDFOX
Parallel and incremental materialisation of RDF/DATALOG in RDFOX
 
MODAClouds Decision Support System for Cloud Service Selection
MODAClouds Decision Support System for Cloud Service SelectionMODAClouds Decision Support System for Cloud Service Selection
MODAClouds Decision Support System for Cloud Service Selection
 
E-Commerce and Graph-driven Applications: Experiences and Optimizations while...
E-Commerce and Graph-driven Applications: Experiences and Optimizations while...E-Commerce and Graph-driven Applications: Experiences and Optimizations while...
E-Commerce and Graph-driven Applications: Experiences and Optimizations while...
 
LDBC SNB Benchmark Auditing
LDBC SNB Benchmark AuditingLDBC SNB Benchmark Auditing
LDBC SNB Benchmark Auditing
 
Social Network Benchmark Interactive Workload
Social Network Benchmark Interactive WorkloadSocial Network Benchmark Interactive Workload
Social Network Benchmark Interactive Workload
 

Recently uploaded

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Recently uploaded (20)

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

8th TUC Meeting - David Meibusch, Nathan Hawes (Oracle Labs Australia). Frappé: Querying and managing evolving code dependency graphs.