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
0
390
FAST Resolution (benevol13)
Presentation of FAST generic symbol resolution at BENEVOL 2013 workshop
Yuriy Tymchuk
December 17, 2013
Tweet
Share
More Decks by Yuriy Tymchuk
See All by Yuriy Tymchuk
JIT Feedback — what Experienced Developers like about Static Analysis (icpc2018)
uko
0
300
Renraku — the One Static Analysis Model to Rule Them All (iwst2017)
uko
0
160
Pharo Quality Engine: The Last Strokes (esug2017)
uko
0
110
The False False Positives of Static Analysis (sattose2017)
uko
0
100
Про що не говорять програмісти, про що мовчать науковці MK2 (ucu2016)
uko
1
150
Walls, Pillars and Beams: A 3D Decomposition of Quality Anomalies (vissoft2016)
uko
0
210
Stories About Renraku — the new Quality Model of Pharo (esug2016)
uko
0
320
When QualityAssistant Meets Pharo [Enforced Code Critiques Motivate More Valuable Rules] (iwst2016)
uko
0
240
Про що не говорять програмісти, про що мовчать науковці (ucu2015)
uko
1
110
Other Decks in Research
See All in Research
CARMUI-NET:自動運転車遠隔監視のためのバーチャル都市プラットフォームにおける通信品質変動機能の開発と評価 / UBI85
yumulab
0
190
実行環境に中立なWebAssemblyライブマイグレーション機構/techtalk-2025spring
chikuwait
0
170
学生向けアンケート<データサイエンティストについて>
datascientistsociety
PRO
0
1.2k
Self-supervised audiovisual representation learning for remote sensing data
satai
3
140
EarthMarker: A Visual Prompting Multimodal Large Language Model for Remote Sensing
satai
3
200
DeepSeek を利用する上でのリスクと安全性の考え方
schroneko
3
1.4k
小ねぎ調製位置検出のためのインスタンスセグメンテーション
takuto_andtt
0
140
ラムダ計算の拡張に基づく 音楽プログラミング言語mimium とそのVMの実装
tomoyanonymous
0
450
DPUを用いたマルチタスクDNN表情認識システムのFPGA実装
takuto_andtt
0
170
TRIPOD+AI Expandedチェックリスト 有志翻訳による日本語版 version.1.1
shuntaros
0
130
ASSADS:ASMR動画に合わせて撫でられる感覚を提示するシステムの開発と評価 / ec75-shimizu
yumulab
1
220
GeoCLIP: Clip-Inspired Alignment between Locations and Images for Effective Worldwide Geo-localization
satai
3
140
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
52
7.6k
GitHub's CSS Performance
jonrohan
1031
460k
Designing for humans not robots
tammielis
253
25k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Unsuck your backbone
ammeep
671
58k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
570
Thoughts on Productivity
jonyablonski
69
4.6k
Rails Girls Zürich Keynote
gr2m
94
13k
Why Our Code Smells
bkeepers
PRO
336
57k
Docker and Python
trallard
44
3.4k
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