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
Automating Program Transformation with srcML an...
Search
Vinay Augustine
November 13, 2012
Programming
0
66
Automating Program Transformation with srcML and LINQ
Presentation at FSE 2012 (
http://www.sigsoft.org/fse20/
).
Vinay Augustine
November 13, 2012
Tweet
Share
More Decks by Vinay Augustine
See All by Vinay Augustine
Team Metrics for Agile Software Development
vinayaugustine
0
65
Other Decks in Programming
See All in Programming
AgentCoreとHuman in the Loop
har1101
5
240
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
710
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1k
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
7.4k
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
180
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
CSC307 Lecture 08
javiergs
PRO
0
670
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
1k
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
130
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
130
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
Featured
See All Featured
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
180
Un-Boring Meetings
codingconduct
0
200
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
Code Review Best Practice
trishagee
74
20k
Docker and Python
trallard
47
3.7k
Believing is Seeing
oripsolob
1
55
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
75
Unsuck your backbone
ammeep
671
58k
Skip the Path - Find Your Career Trail
mkilby
0
56
How STYLIGHT went responsive
nonsquared
100
6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
430
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