Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Detecting and Reporting Object-Relational Mappi...
Search
Gustavo Pinto
September 19, 2019
Research
250
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Detecting and Reporting Object-Relational MappingProblems: An Industrial Report
Gustavo Pinto
September 19, 2019
More Decks by Gustavo Pinto
See All by Gustavo Pinto
Developer Experiences with a Contextualized AI Coding Assistant: Usability Expectations, and Outcomes
gustavopinto
0
79
Apoiando pessoas programadoras com deficiência: Lições aprendidas na Zup Innovation
gustavopinto
0
120
5 coisas que todo dev deveria saber Para criar aplicações com GenAI
gustavopinto
0
160
Large Language Models for Education: Grading Open-Ended Questions Using ChatGPT
gustavopinto
0
170
Cognitive Driven Development: A Research Agenda
gustavopinto
0
200
The Infinite Academic Game
gustavopinto
0
100
[ESEM 2022] To What Extent Cognitive Driven Development Improves Code Readability
gustavopinto
0
150
Caminhos e desafios para a pesquisa em Computação (ou como se manter produtivo) na Região Norte
gustavopinto
2
370
How Open is the SBES PC Community
gustavopinto
0
170
Other Decks in Research
See All in Research
山中市政が招いた組織崩壊:よこはま安心ボックスを例に
sishi
0
370
Kaggle|AI Agent Security — しくじり先生、俺みたいになるな
pomcho555
1
130
実例から見るLLMのマンガ理解:実務VQAタスクによる長期的文脈と視覚情報の定性評価
kzmssk
0
210
MIRU2026 チュートリアル講演2:三次元データ処理の動向
nnchiba
8
5.5k
[IEICE-Soceity-Conf2026] セマンティック通信を見据えたマルチスケールセンシングと 学習の融合によるデジタルツイン基盤 / Digital Twin Infrastructure via the Fusion of Multi-Scale Sensing and Learning toward Semantic Communications
pman0214
0
140
Kunai: Toward a Verifier-Safe Layered DSL for Nested Encapsulation Packet Filtering on eBPF
takehaya
1
190
完全自律LLMエージェントでDIVER OSINT CTF 2026に挑戦してみた
analokmaus
0
800
VLMの推論を高速化する視覚トークン削減の仕組み
tattaka
2
410
マニアックセッション 〜次世代のメールプロトコルの斜め読み(2026年版)
hirachan
0
210
Byzantine Eventual Consistency for Reliable Local-First Software
ept
0
360
J-STAGEの現況と全文XML登載必須化について
xspa2012
0
380
Evaluation génomique des femelles laitières croisées : comprendre la méthode pour accompagner les éleveurs à son utilisation
institutdelelevage
PRO
0
210
Featured
See All Featured
The browser strikes back
jonoalderson
0
1.9k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Site-Speed That Sticks
csswizardry
13
1.6k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
400
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
810
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
550
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Designing for Performance
lara
612
70k
Documentation Writing (for coders)
carmenintech
77
5.6k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
How to Talk to Developers About Accessibility
jct
2
610
Transcript
Detecting and Reporting Object-Relational Mapping Problems: An Industrial Report Marcos
Nazário @gustavopinto Gustavo Pinto Rodrigo Bonifácio Eduardo Guerra
@gustavopinto ORM Application Code Database
@gustavopinto @Entity public class Color { private String code; private
String name; private Boolean enable; }
@gustavopinto @Entity @Table(schema = "public", name = "COLOR") public class
Color { private String code; private String name; private Boolean enable; }
@gustavopinto @Entity @Table(schema = "public", name = "COLOR") public class
Color { @Column private String code; @Column private String name; @Column private Boolean enable; }
@gustavopinto @Entity @Table(schema = "public", name = "COLOR") public class
Color { @Column(name = "CODE", nullable = false) private String code; @Column(name = "NAME", length = 80, nullable = false) private String name; @Column(name = "ENABLE", nullable = false) private Boolean enable; }
@gustavopinto @Entity @Table(schema = "public", name = "COLOR") public class
Color { @Column(name = "CODE", nullable = false) private String code; @Column(name = "NAME", length = 80, nullable = false) private String name; @Column(name = "ENABLE", nullable = false) private Boolean enable; }
@gustavopinto @Entity @Table(schema = "public", name = "COLOR") public class
Color { @Column(name = "CODE", nullable = false) private String code; @Column(name = "NAME", length = 80, nullable = false) private String name; @Column(name = "ENABLE", nullable = false) private Boolean enable; }
@gustavopinto @Entity @Table(schema = "public", name = "COLOR") public class
Color { @Column(name = "CODE", nullable = false) private String code; @Column(name = "NAME", length = 80, nullable = false) private String name; @Column(name = "ENABLE", nullable = false) private Boolean enable; }
@gustavopinto @Entity @Table(schema = "public", name = "COLOR") public class
Color { @Id @Column(name = "CODE", nullable = false) private String code; @Column(name = "NAME", length = 80, nullable = false) private String name; @Column(name = "ENABLE", nullable = false) private Boolean enable; }
@gustavopinto @Entity @Table(schema = "public", name = "COLOR") public class
Color { @Id @Column(name = "CODE", nullable = false) private String code; @Column(name = "NAME", length = 80, nullable = false) private String name; @Column(name = "ENABLE", nullable = false) private Boolean enable; }
@gustavopinto @Entity @Table(schema = "public", name = "COLOR") public class
Color { @Id @Column(name = "CODE", nullable = false) private String code; @Column(name = "NAME", length = 80, nullable = false) private String name; @Column(name = "ENABLE", nullable = false) private Boolean enable; }
@gustavopinto @Entity @Table(schema = "public", name = "COLOR") public class
Color implements Serializable { @Id @Column(name = "CODE", nullable = false) private String code; @Column(name = "NAME", length = 80, nullable = false) private String name; @Column(name = "ENABLE", nullable = false) private Boolean enable; }
@gustavopinto We catalogued 12 ORM-related problems
@gustavopinto We implemented this catalog in a static analysis tool
@gustavopinto We implemented this catalog in a static analysis tool
Finds the problems Suggests the fix
@gustavopinto We implemented this catalog in a static analysis tool
We are using this tool for over 5 years now Finds the problems Suggests the fix
@gustavopinto Could others take advantage of our tool?
@gustavopinto
@gustavopinto We conducted a developer experience (DX) study with 13
developers
@gustavopinto We conducted a developer experience (DX) study with 13
developers 3 students, 10 from industry 6 with 7+ years with ORM experience 2 with no previous ORM experience
@gustavopinto
@gustavopinto 6 ORM tasks
@gustavopinto 6 ORM tasks
@gustavopinto 6 ORM tasks
@gustavopinto All participants completed the experiment
@gustavopinto eases ORM modeling Every day I do object-relational mapping,
and this tool could help me to remember what is missing “ ”
@gustavopinto eases ORM modeling the tool is precise forces best
practices
@gustavopinto Little docs I found it quite difficult to find
help in the documentation. There is nothing on the web “ ”
@gustavopinto Little docs Custom annotations were not intuitive The tool
poses many constraints
None
None
None
None
None
None