GURU ?
/ ,
SEOUL
• - 

• AWSKRUG 🐳 

• .

• Java, kotlin, Spring .

• .
( )
AWSKRUG
• 

• 

• 

• CodeGuru Reviewer 

• 

• CodeGuru Profiler

• AI
• CodeGuru Reviewer, Profiler 

• AI
?
• (Software Quality Assurance) 

• 

• 

• 

( , “ ”)
Git
• git 

• 

• ( ) 

• 

•
• 

• , , .

• .

• 

• (AWS API , ) .

• 

• .

• 

• .
• CASE 1. A 

• CASE 2. B 

• CASE 3. C 

• CASE 4. 

D
?




?
…
Amazon CodeGuru
CodeGuru
• 

• 

• 

• 

• 

• 

•
CodeGuru


CodeGuru Profiler




CodeGuru Reviewer
CodeGuru Reviewer
• 

• 

• GitHub AWS CodeCommit 

• 

• 

• ( X)
CodeGuru Reviewer
Pull
Request Approval
Merge
Reviewer
Code

Review
Branch
Make
changes
locally
Amazon CodeGuru Reviewer
CodeGuru Reviewer
• AWS : AWS API 

• ( : ) ( : ) 

• : 

• ( : ) ( : )


• : 

• ( : ) 

• : 

• ( : ) 

• : 

• ( : )
CodeGuru Reviewer Workflow
Code
Repository
CodeGuru
Reviewer
3. Recommendation
4. Developer
Feedback
5. Improvement for better
recommendations
1. Repository
Association
Repo Admin2. Pull
Request
Developer
Amazon CodeGuru Reviewer – How it Works
Input: 

Source Code
try (GZip gzip =
GZIPInputStream.create(
url.openStream())) {
use(gzip);
} catch (Exception e) {
handle();
}
/
Feature Extraction
gzip =
GZIPInputStream
.create(stream)
use(gzip)
ENTRY
EXIT
stream =
url.openStream()
gzip.close()
handle()
throw
Exception
ML 

Machine Learning
Code
corpus


Output:
Recommendations
Possible Resource
Leak with
url.openStream().
Use try-with-resources
CodeGuru Reviewer
DEMOhttps://github.com/voyagerwoo/codeguru-test/pull/1
• .

• , .
"Amazon CodeGuru Reviewer
."

“ Amazon DynamoDB
. Amazon CodeGuru Reviewer
. .”

“Amazon CodeGuru Reviewer (DB ) try-with-resources
, . +1”
?
APM
• 

• 

•




?
?





 











Amazon CodeGuru Profiler
CodeGuru Profiler
• 

• & 

• CPU 

• 

• 

• 

• 

• 

•
CodeGuru
Profiler backend
Customer’s
application
Customer’s
application
Customer’s
application
Customer’s
application
Customer Application
CodeGuru Profiler – How it Works
Profiler
thread
Profiler
thread
Profiler
thread
Profiler
thread
Actionable recommendations
Console –
Recommendation reports
Console - Visualizations
CodeGuru Profiler
DEMO
https://github.com/aws-samples/aws-codeguru-profiler-sample-application
Chris Butterfield, SDE
CodeGuru CPU 55.97%
. 7.5 .
75% .

Rajesh Konatham, SDE
CPU . 

40%, 67% .
CodeGuru
• PR CodeGuru Reviewer

• (CPU) 

CodeGuru Profiler

• Java 

• Preview

• 

• us-east-1, us-east-2, us-west-2, ap-southeast-2, eu-west-1

•
2020 1 21
Tabnine
CodeGuru
Deep Code
Kite
Codota
SonarQube
Veracode
ES lint
CheckStyle
DeepScan
IntelliCode
(2020 1 13 ) .

. .
AI
• AI

• 

• 

• 

• 

• ( ) !
!

자바를 잡아주는 GURU가 있다구!? - 우여명 (아이스크림에듀) :: AWS Community Day 2020