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
FAST Resolution (benevol13)
Search
Yuriy Tymchuk
December 17, 2013
Research
450
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
FAST Resolution (benevol13)
Presentation of FAST generic symbol resolution at BENEVOL 2013 workshop
Yuriy Tymchuk
December 17, 2013
More Decks by Yuriy Tymchuk
See All by Yuriy Tymchuk
JIT Feedback — what Experienced Developers like about Static Analysis (icpc2018)
uko
0
370
Renraku — the One Static Analysis Model to Rule Them All (iwst2017)
uko
0
230
Pharo Quality Engine: The Last Strokes (esug2017)
uko
0
170
The False False Positives of Static Analysis (sattose2017)
uko
0
140
Про що не говорять програмісти, про що мовчать науковці MK2 (ucu2016)
uko
1
200
Walls, Pillars and Beams: A 3D Decomposition of Quality Anomalies (vissoft2016)
uko
0
260
Stories About Renraku — the new Quality Model of Pharo (esug2016)
uko
0
400
When QualityAssistant Meets Pharo [Enforced Code Critiques Motivate More Valuable Rules] (iwst2016)
uko
0
340
Про що не говорять програмісти, про що мовчать науковці (ucu2015)
uko
1
160
Other Decks in Research
See All in Research
Visual SLAM未来予測 / Future Prediction in Visual SLAM
koide3
1
840
2026年度 生成AI を活用した論文執筆ガイド/ワークショップ / 2026 Academic Year Guide to Writing Papers Using Generative AI - Workshop
ks91
PRO
0
200
Anthropic が提案する LLM の内部状態を自然言語で説明可能にした Natural Language Autoencoders / Natural Language Autoencoders Produce Unsupervised Explanations of LLM Activations
shunk031
0
160
NLP colloquium: AI Safety Survey
kanekomasahiro
0
910
【Zozo Research 技術共有会】三次元領域の現在と展望
mickey_0226
3
540
260624_NLP-colloquium: Hubness
de9uch1
1
170
nlp2026 In-Context Learningに基づく経路案内のための地理的知識の活用方法に関する検討
takashiinui
0
120
MIRU2026 チュートリアル講演2:三次元データ処理の動向
nnchiba
5
3.1k
[BlackHatAsia2026] Hidden Telemetry: Uncovering TraceLogging ETW Providers You're Not Using (Yet)
asuna_jp
1
630
HAKARI-Bench - 実運用視点での情報検索モデル評価ベンチマーク
hotchpotch
1
640
RS-Agent: Automating Remote Sensing Tasks through Intelligent Agent
satai
3
440
XDPerf: A High-Performance Traffic Generator Built with WASM and eBPF
takehaya
1
200
Featured
See All Featured
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
400
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
360
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
380
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
610
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
270
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Skip the Path - Find Your Career Trail
mkilby
1
180
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
230
Exploring anti-patterns in Rails
aemeredith
3
460
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1.1k
Transcript
Generic Name Resolution with Metamodels Yuriy Tymchuk, Benjamin Arezki, Anne
Etien, Nicolas Anquetil and Stéphane Ducasse
Software Assessment Development Assessment
Software Assessment
Modelling source code #middleOf:and: b a sum ^st st :=
sum + a b / sum 2 middleOf: a and: b | sum | sum := a + b. ^ sum / 2
Resolving symbols #middleOf:and: b a sum ^st st := sum
+ a b / sum 2 a b sum
Moose Toolchain www.moosetechnology.org
FAMIX Metamodel
! "# # # FAMIX
Core metamodel
!"#$ %!"#$ %&!"#$ % %& !"#$ !' !' & # $ $ ( % ) *" ) #$+, ) #$ ! ) #$!
Smalltalk metamodel
! " # # $ ! %&' $%( ! $ ) $ "( ) *+ ) !) *+ !) %! !) % % ) % , ' ) % %
Java (sub)Metamodel
! " #$%&' ( &' ( &' #$% ( ( &' ! &' &' " " & ! ' ! ) * + $( #$% ' , &' - , &' ./ , &' $ !, &' $ ! ', !, &' ! 0 ' - - ' $( . ! ( . ! . $ ( ! # $& !' & "+ "+ #$%
Resolving a symbol ⚜
Lookup Symbol Method scope Class scope Superclass scope Package scope
Select Symbol private? public? protected?
Case studies Pharo (smalltalk) Java (subset) Cobol
None