Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Compiler Based Testing
Search
Xavier F. Gouchet
April 03, 2019
Programming
160
0
Share
Compiler Based Testing
Xavier F. Gouchet
April 03, 2019
More Decks by Xavier F. Gouchet
See All by Xavier F. Gouchet
Writing a Kotlin Compiler Plugin
xgouchet
0
68
Being an ethical software engineer
xgouchet
0
340
Libérez votre créativité
xgouchet
0
160
Unleash your Programming Creativity
xgouchet
0
220
Demystifying the Test Pyramid
xgouchet
1
700
Successfully Publishing a Tested, Upgradeable and Documented Open Source Library
xgouchet
0
140
Property Based Testing in Practice
xgouchet
0
110
Develop your CI tools
xgouchet
2
480
How to write a safe and reliable Open Source Library
xgouchet
1
330
Other Decks in Programming
See All in Programming
AIを導入する前にやるべきこと
negima
2
350
AI時代だからこそ「Bloc」を採用する価値があるのかもしれない
takuroabe
0
160
ソースコード→AST→オペコード、の旅を覗いてみる
o0h
PRO
1
130
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
170
PHPでローカル環境用のSSL/TLS証明書を発行することはできるのか? #phpconkagawa
akase244
0
360
アクセシビリティ試験の"その後"を仕組み化する
yuuumiravy
1
200
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
380
20260514_its_the_context_window_stupid.pdf
heita
0
940
AlarmKitで明後日起きれるアラームアプリを作る
trickart
0
130
SREに優しいTerraform構成 modulesとstateの組み方
hiyanger
2
170
〜バイブコーディングを超えて〜 チームで実験し続けたAI駆動開発
tigertora7571
0
200
クラウドネイティブなエンジニアに向ける Raycastの魅力と実際の活用事例
nealle
2
260
Featured
See All Featured
Claude Code のすすめ
schroneko
67
220k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
560
Optimising Largest Contentful Paint
csswizardry
37
3.7k
How to build a perfect <img>
jonoalderson
1
5.5k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.4k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Building Applications with DynamoDB
mza
96
7k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
Balancing Empowerment & Direction
lara
6
1.1k
Transcript
@xgouchet Compiler based Testing CodeMobile UK 2019 - Chester
@xgouchet About me… Xavier F. Gouchet Android developer since the
Cupcake years Lead Android Engineer at WorkWell @xgouchet on every social network you can think of… 2
@xgouchet Testing is Hard Let’s let the compiler do most
of the hard work for us 3
@xgouchet Kotlin / Swift ▧ Statically Typed ▧ Strong Typed
▧ Type Safe ▧ Type Inference 4
@xgouchet Basic use case — JSON { "id" : 481516,
"title" : "Lorem ipsum dolor sit amet…", "picture" : "https://cloudhost.com/5162342", "created": 1553631328 } 5
@xgouchet Basic use case — App Model data class Event(
val id: Int, val title: String, val picture: String, val created: Int } 6
@xgouchet Primitive Aversion Primitives are lightweight… but lack context 7
@xgouchet Use existing types ▧ Integrated in framework and libraries
▧ Zero additional work data class Event( … val created: Date } 8
@xgouchet Type Alias ▧ Give context ▧ Prevent invalid assignements
▧ Ease Maintenance typealias Id = Int data class Event( val id: Id, … } 9
@xgouchet Type Checking ▧ Limit Primitive Scope ▧ Validate data
data class Url(val value: String) { init { val parsedUrl = URL(value) } } data class Event( … val picture: Url } 10
@xgouchet Additional gains 11
@xgouchet Bonus ▧ Share common operations ▧ Force explicit types
▧ Simplify complex structure 12
@xgouchet @xgouchet Thanks! Any questions? 13 Presentation template by SlidesCarnival