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
410
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
310
Renraku — the One Static Analysis Model to Rule Them All (iwst2017)
uko
0
170
Pharo Quality Engine: The Last Strokes (esug2017)
uko
0
120
The False False Positives of Static Analysis (sattose2017)
uko
0
110
Про що не говорять програмісти, про що мовчать науковці MK2 (ucu2016)
uko
1
160
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
340
When QualityAssistant Meets Pharo [Enforced Code Critiques Motivate More Valuable Rules] (iwst2016)
uko
0
260
Про що не говорять програмісти, про що мовчать науковці (ucu2015)
uko
1
120
Other Decks in Research
See All in Research
When Submarine Cables Go Dark: Examining the Web Services Resilience Amid Global Internet Disruptions
irvin
0
260
EOGS: Gaussian Splatting for Efficient Satellite Image Photogrammetry
satai
4
370
電通総研の生成AI・エージェントの取り組みエンジニアリング業務向けAI活用事例紹介
isidaitc
1
810
Computational OT #1 - Monge and Kantorovitch
gpeyre
0
220
2021年度-基盤研究B-研究計画調書
trycycle
PRO
0
170
近似動的計画入門
mickey_kubo
4
1k
Delta Airlines® Customer Care in the U.S.: How to Reach Them Now
bookingcomcustomersupportusa
PRO
0
100
Streamlit 総合解説 ~ PythonistaのためのWebアプリ開発 ~
mickey_kubo
1
1.2k
Self-supervised audiovisual representation learning for remote sensing data
satai
3
240
「エージェントって何?」から「実際の開発現場で役立つ考え方やベストプラクティス」まで
mickey_kubo
0
130
業界横断 副業・兼業者の実態調査
fkske
0
210
CSP: Self-Supervised Contrastive Spatial Pre-Training for Geospatial-Visual Representations
satai
3
230
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
329
21k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.4k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Java REST API Framework Comparison - PWX 2021
mraible
32
8.8k
Side Projects
sachag
455
43k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
4 Signs Your Business is Dying
shpigford
184
22k
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