SSR

rdf:RDF<cc:Work rdf:about="">dc:formatimage/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" />dc:titleRisorsa 1</dc:title></cc:Work></rdf:RDF><sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="1191" inkscape:window-height="1007" id="namedview76" showgrid="false" inkscape:zoom="2.5759877" inkscape:cx="149.57415" inkscape:cy="152.20517" inkscape:window-x="411" inkscape:window-y="0" inkscape:window-maximized="0" inkscape:current-layer="Livello_2" />Risorsa 1

rdf:RDF<cc:Work rdf:about="">dc:formatimage/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" />dc:titleRisorsa 1</dc:title></cc:Work></rdf:RDF><sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="1191" inkscape:window-height="1007" id="namedview76" showgrid="false" inkscape:zoom="2.5759877" inkscape:cx="149.57415" inkscape:cy="152.20517" inkscape:window-x="411" inkscape:window-y="0" inkscape:window-maximized="0" inkscape:current-layer="Livello_2" />Risorsa 1

Software Search and Replace (SSR) is a software transformation and exploration tool that operates on abstract syntax trees (ASTs), such as those produced by parsers for C, C++, Javascript, and other languages. Rules specify which ASTs to match and what actions to take against matches: for example, users can specify code rewriting actions to implement sophisticated refactorings. Rule application order, including simultaneous application, is fully under user control; multiple SSR passes can be used to iterate to a stable, fully-rewritten result.

SSR is based on the Software Evolution Library (SEL), a modular toolkit for representating and manipulating software objects. This foundation allows SSR to support all languages supported by SEL, including C, C++, JavaScript, Java, and Common-Lisp.

This material is based upon work supported by the Air Force and DARPA under Contract(s) No. FA8750-16-C-0007, D16PC00103 and FA8750-20-C-0208. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the Air Force or DARPA.

About Contact Careers About Contact Careers GrammaTech Homepage