Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Automating Program Transformation with srcML an...
Search
Vinay Augustine
November 13, 2012
Programming
68
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Automating Program Transformation with srcML and LINQ
Presentation at FSE 2012 (
http://www.sigsoft.org/fse20/
).
Vinay Augustine
November 13, 2012
More Decks by Vinay Augustine
See All by Vinay Augustine
Team Metrics for Agile Software Development
vinayaugustine
0
78
Other Decks in Programming
See All in Programming
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
Jetpack Compose Mechanisms
skydoves
3
820
phperだってパンチカードでコーディングしたい
o0h
PRO
0
340
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
210
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
130
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.6k
Next.js: The final boss of Web Performance
guaca
0
260
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
1
430
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
0
1.3k
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
500
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
2.2k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
330
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
890
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
570
Between Models and Reality
mayunak
4
500
The browser strikes back
jonoalderson
0
1.8k
Navigating Weather and Climate Data
rabernat
0
560
Designing Powerful Visuals for Engaging Learning
tmiket
1
610
Ethics towards AI in product and experience design
skipperchong
2
430
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Transcript
Automated Program Transformation with srcML and LINQ Vinay Augustine, Ph.D.
Overview ABB Corporate Research The Problem The
Solution What is srcML? What is LINQ? Demonstration Questions
ABB Corporate Research Industrial Software Systems (ISS) • USA •
Germany • Switzerland • Poland • Sweden • India • China 7 research centers worldwide Raleigh, NC
Software at ABB What motivates us? Embedded Software Software /
Hardware Hybrids 100% Software
Adaptive Maintenance Changes The Problem Month DD, Year | Slide
5 © ABB Group The Scenario Long-lived legacy software Adapt source code for new Compilers Libraries Environments
The Scenario Long-lived legacy software Adapt source code
for new Compilers Libraries Environments Resulting Issues • Time-consuming • Error-prone • Repetitive Adaptive Maintenance Changes The Problem Month DD, Year | Slide 6 © ABB Group
Adaptive Maintenance Changes An Example Month DD, Year | Slide
7 © ABB Group Source: http://msdn.microsoft.com/en-US/library/vstudio/h4bcz65t(v=vs.80).aspx
Our Solution Lightweight Multi-language Easy to test
Fast Familiar to developers Month DD, Year | Slide 8 © ABB Group srcML (fast!) + LINQ (familiar!)
What is it? XML annotation for source code
Why do we like it? Adds structure to source code Multilanguage Fast! Remove it to get original source! What is srcML? (and why do we like it?) Month DD, Year | Slide 9 © ABB Group Source: http://www.sdml.info/projects/srcml/
Provides SQL-like queries for C# Extensive IDE support
in Visual Studio Natural for developers Can query XML LINQ Language INtegrated Query
Automate an adaptive maintenance change on real software Wrap all
uses of “new” with a try/catch block in Demonstration Month DD, Year | Slide 11 © ABB Group Source: http://notepad-plus-plus.org/news/notepad-6.2-release-udl2.html
Demonstration 1. Learn about “new” in srcML 2. Where is
“new” used? 3. Find all expressions that use “new” 4. Transform all “new” expressions 5. Execute the transform 6. Run the new notepad++.exe Steps Month DD, Year | Slide 12 © ABB Group
Questions? Automated Program Transformation with srcML + LINQ Fast
Multi-language Easy to test Go to our github page for • more information • the code • and this demonstration http://github.com/abb-iss/SrcML.NET Month DD, Year | Slide 13 © ABB Group
None