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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
270
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
Spatial Active Noise Control Based onSound Field Interpolation Incorporating Physical Constraints
skoyamalab
0
170
LA-Bench 2025:実験指示から実行可能手順を生成するためのデータセット/LA-Bench 2025: A Dataset for Generating Executable Experimental Procedures from Experimental Instructions
stktu
0
140
「AIとWhyを深堀る」をAIと深堀る
iflection
0
590
MM-OVSeg: Multimodal Optical–SAR Fusion for Open-Vocabulary Segmentation in Remote Sensing
satai
3
120
[BlackHatAsia2026] Hidden Telemetry: Uncovering TraceLogging ETW Providers You're Not Using (Yet)
asuna_jp
1
680
[SNLP2026] Scaling up Test-Time Compute with Latent Reasoning: A Recurrent Depth Approach
wataruuuuu
0
200
全国町字単位空き家率推定データver1.0データ仕様
microbaseinc
0
190
医療LLMの現在地〜最新研究から社会実装までを考える〜
kento1109
1
1.7k
Anthropic が提案する LLM の内部状態を自然言語で説明可能にした Natural Language Autoencoders / Natural Language Autoencoders Produce Unsupervised Explanations of LLM Activations
shunk031
0
190
重要だけど測れていないもの:高齢者ケアの見えない課題
theoriatec2024
0
480
2025年度秋葉原ウォーカブルプロジェクト調査報告 「アキバらしいウォーカブル」とは何か
izumiyama_lab
1
190
Harness Engineering and Al Agent
kzinmr
3
1.9k
Featured
See All Featured
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
210
Building Applications with DynamoDB
mza
96
7.2k
Side Projects
sachag
455
43k
The Pragmatic Product Professional
lauravandoore
37
7.4k
For a Future-Friendly Web
brad_frost
183
10k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
500
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
280
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
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