$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Detecting and Reporting Object-Relational Mappi...
Search
Gustavo Pinto
September 19, 2019
Research
1
200
Detecting and Reporting Object-Relational MappingProblems: An Industrial Report
Gustavo Pinto
September 19, 2019
Tweet
Share
More Decks by Gustavo Pinto
See All by Gustavo Pinto
Developer Experiences with a Contextualized AI Coding Assistant: Usability Expectations, and Outcomes
gustavopinto
0
45
Apoiando pessoas programadoras com deficiência: Lições aprendidas na Zup Innovation
gustavopinto
0
91
5 coisas que todo dev deveria saber Para criar aplicações com GenAI
gustavopinto
0
100
Large Language Models for Education: Grading Open-Ended Questions Using ChatGPT
gustavopinto
0
120
Cognitive Driven Development: A Research Agenda
gustavopinto
0
130
The Infinite Academic Game
gustavopinto
0
78
[ESEM 2022] To What Extent Cognitive Driven Development Improves Code Readability
gustavopinto
0
110
Caminhos e desafios para a pesquisa em Computação (ou como se manter produtivo) na Região Norte
gustavopinto
2
340
How Open is the SBES PC Community
gustavopinto
0
130
Other Decks in Research
See All in Research
論文紹介:Not All Tokens Are What You Need for Pretraining
kosuken
1
220
空間音響処理における物理法則に基づく機械学習
skoyamalab
0
130
Thirty Years of Progress in Speech Synthesis: A Personal Perspective on the Past, Present, and Future
ktokuda
0
130
AlphaEarth Foundations: An embedding field model for accurate and efficient global mapping from sparse label data
satai
3
550
POI: Proof of Identity
katsyoshi
0
120
Mamba-in-Mamba: Centralized Mamba-Cross-Scan in Tokenized Mamba Model for Hyperspectral Image Classification
satai
3
310
Nullspace MPC
mizuhoaoki
1
510
地域丸ごとデイサービス「Go トレ」の紹介
smartfukushilab1
0
650
20250725-bet-ai-day
cipepser
3
550
機械学習と数理最適化の融合 (MOAI) による革新
mickey_kubo
1
440
財務諸表監査のための逐次検定
masakat0
0
210
生成AI による論文執筆サポート・ワークショップ ─ サーベイ/リサーチクエスチョン編 / Workshop on AI-Assisted Paper Writing Support: Survey/Research Question Edition
ks91
PRO
0
120
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1k
Highjacked: Video Game Concept Design
rkendrick25
PRO
0
240
The Curious Case for Waylosing
cassininazir
0
190
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
61
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Statistics for Hackers
jakevdp
799
230k
Designing for Performance
lara
610
69k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
110
エンジニアに許された特別な時間の終わり
watany
105
220k
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