<efrbr:recordSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:efrbr="http://vfrbr.info/efrbr/1.1" xmlns:efrbr-work="http://vfrbr.info/efrbr/1.1/work" xmlns:efrbr-expression="http://vfrbr.info/efrbr/1.1/expression" xmlns:efrbr-manifestation="http://vfrbr.info/efrbr/1.1/manifestation" xmlns:efrbr-person="http://vfrbr.info/efrbr/1.1/person" xmlns:efrbr-corporateBody="http://vfrbr.info/efrbr/1.1/corporateBody" xmlns:efrbr-concept="http://vfrbr.info/efrbr/1.1/concept" xmlns:efrbr-structure="http://vfrbr.info/efrbr/1.1/structure" xmlns:efrbr-responsible="http://vfrbr.info/efrbr/1.1/responsible" xmlns:efrbr-subject="http://vfrbr.info/efrbr/1.1/subject" xmlns:efrbr-other="http://vfrbr.info/efrbr/1.1/other" xsi:schemaLocation="http://vfrbr.info/efrbr/1.1 http://vfrbr.info/schemas/1.1/efrbr.xsd"><efrbr:entities><efrbr-work:work identifier="http://purl.tuc.gr/dl/dias/DC3BFC4B-97DD-4479-9D64-2433CB5F5D49"><efrbr-work:titleOfTheWork>Efficient module-level dynamic analysis for dynamic languages with module recontextualization</efrbr-work:titleOfTheWork></efrbr-work:work><efrbr-expression:expression identifier="http://purl.tuc.gr/dl/dias/DC3BFC4B-97DD-4479-9D64-2433CB5F5D49"><efrbr-expression:titleOfTheExpression>Efficient module-level dynamic analysis for dynamic languages with module recontextualization</efrbr-expression:titleOfTheExpression><efrbr-expression:formOfExpression vocabulary="DIAS:TYPES">
            Δημοσίευση σε Συνέδριο
            Conference Publication
         </efrbr-expression:formOfExpression><efrbr-expression:dateOfExpression type="issued">2023-06-23</efrbr-expression:dateOfExpression><efrbr-expression:dateOfExpression type="published">2021</efrbr-expression:dateOfExpression><efrbr-expression:languageOfExpression vocabulary="iso639-1">en</efrbr-expression:languageOfExpression><efrbr-expression:summarizationOfContent>Dynamic program analysis is a long-standing technique for obtaining information about program execution. We present module recontextualization, a new dynamic analysis approach that targets modern dynamic languages such as JavaScript and Racket, enabled by the fact that they feature a module-import mechanism that loads code at runtime as a string. This approach uses lightweight load-time code transformations that operate on the string representation of the module, as well as the context to which it is about to be bound, to insert developer-provided, analysis-specific code into the module before it is loaded. This code implements the dynamic analysis, enabling this approach to capture all interactions around the module in unmodified production language runtime environments. We implement this approach in two systems targeting the JavaScript and Racket ecosystems. Our evaluation shows that this approach can deliver order-of-magnitude performance improvements over state-of-the-art dynamic analysis systems while supporting a range of analyses, implemented on average in about 100 lines of code.</efrbr-expression:summarizationOfContent><efrbr-expression:useRestrictionsOnTheExpression type="creative-commons">http://creativecommons.org/licenses/by/4.0/</efrbr-expression:useRestrictionsOnTheExpression><efrbr-expression:note type="page range">1202–1213</efrbr-expression:note><efrbr-expression:note type="conference name">29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering</efrbr-expression:note><efrbr-expression:note type="proceedings title">Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering</efrbr-expression:note></efrbr-expression:expression><efrbr-manifestation:manifestation identifier="https://dias.library.tuc.gr/view/96136"><efrbr-manifestation:titleOfTheManifestation>Vasilakis_et_al_ESEC.FSE_2021.pdf</efrbr-manifestation:titleOfTheManifestation><efrbr-manifestation:publicationDistribution><efrbr-manifestation:placeOfPublicationDistribution type="distribution">Chania [Greece]</efrbr-manifestation:placeOfPublicationDistribution><efrbr-manifestation:publisherDistributor type="distributor">Library of TUC</efrbr-manifestation:publisherDistributor><efrbr-manifestation:dateOfPublicationDistribution>2023-06-23</efrbr-manifestation:dateOfPublicationDistribution></efrbr-manifestation:publicationDistribution><efrbr-manifestation:formOfCarrier>application/pdf</efrbr-manifestation:formOfCarrier><efrbr-manifestation:extentOfTheCarrier>436.1 kB</efrbr-manifestation:extentOfTheCarrier><efrbr-manifestation:accessRestrictionsOnTheManifestation>free</efrbr-manifestation:accessRestrictionsOnTheManifestation></efrbr-manifestation:manifestation><efrbr-person:person identifier="67C03D3E-B4CF-449C-93A3-0C9A90C5BA19"><efrbr-person:nameOfPerson vocabulary="">
            Vasilakis Nikos
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-person:person identifier="http://users.isc.tuc.gr/~gntousakis"><efrbr-person:nameOfPerson vocabulary="TUC:LDAP">
            Ntousakis Grigorios
            Ντουσακης Γρηγοριος
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-person:person identifier="3AB48E94-29CF-4268-BDD4-019E7A12BC86"><efrbr-person:nameOfPerson vocabulary="">
            Heller Veit
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-person:person identifier="D5D0F5AB-D93D-416B-9AD7-D0159402DF9A"><efrbr-person:nameOfPerson vocabulary="">
            Rinard Martin C.
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-corporateBody:corporateBody identifier="https://v2.sherpa.ac.uk/id/publisher/21"><efrbr-corporateBody:nameOfTheCorporateBody vocabulary="S/R:PUBLISHERS">
            Association for Computing Machinery (ACM)
         </efrbr-corporateBody:nameOfTheCorporateBody></efrbr-corporateBody:corporateBody><efrbr-concept:concept identifier="ADA36CCE-EFA7-40F8-952B-65C3201A4F77"><efrbr-concept:termForTheConcept>
            Runtime
         </efrbr-concept:termForTheConcept></efrbr-concept:concept><efrbr-concept:concept identifier="6A1C78CE-1488-45AA-B595-FFE649C8E2D3"><efrbr-concept:termForTheConcept>
            Performance
         </efrbr-concept:termForTheConcept></efrbr-concept:concept><efrbr-concept:concept identifier="B5C7AE1E-386C-4D04-92A1-EC4C4CF41792"><efrbr-concept:termForTheConcept>
            Recontextualization
         </efrbr-concept:termForTheConcept></efrbr-concept:concept><efrbr-concept:concept identifier="35152AC9-3BBB-4DDF-B871-3B4904518CAD"><efrbr-concept:termForTheConcept>
            Dynamic
         </efrbr-concept:termForTheConcept></efrbr-concept:concept><efrbr-concept:concept identifier="AA9B2C61-8E88-4770-9F75-B313FFD7C823"><efrbr-concept:termForTheConcept>
            Analysis
         </efrbr-concept:termForTheConcept></efrbr-concept:concept><efrbr-concept:concept identifier="70073E97-91C6-40B8-AF4A-712E3C3DCFE3"><efrbr-concept:termForTheConcept>
            Security
         </efrbr-concept:termForTheConcept></efrbr-concept:concept><efrbr-concept:concept identifier="98937F37-4FBF-481F-B165-2CCDA3669CC5"><efrbr-concept:termForTheConcept>
            Instrumentation
         </efrbr-concept:termForTheConcept></efrbr-concept:concept></efrbr:entities><efrbr:relationships><efrbr-structure:structureRelations><efrbr-structure:realizedThrough sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/DC3BFC4B-97DD-4479-9D64-2433CB5F5D49" targetEntity="expression" targetURI="http://purl.tuc.gr/dl/dias/DC3BFC4B-97DD-4479-9D64-2433CB5F5D49"/><efrbr-structure:embodiedIn sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/DC3BFC4B-97DD-4479-9D64-2433CB5F5D49" targetEntity="manifestation" targetURI="http://purl.tuc.gr/dl/dias/648A2BA4-D9AF-48D9-9360-F5F6B5321F63"/></efrbr-structure:structureRelations><efrbr-responsible:responsibleRelations><efrbr-responsible:createdBy sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/DC3BFC4B-97DD-4479-9D64-2433CB5F5D49" targetEntity="person" targetURI="67C03D3E-B4CF-449C-93A3-0C9A90C5BA19"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/DC3BFC4B-97DD-4479-9D64-2433CB5F5D49" targetEntity="person" targetURI="67C03D3E-B4CF-449C-93A3-0C9A90C5BA19" role="author"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/DC3BFC4B-97DD-4479-9D64-2433CB5F5D49" targetEntity="person" targetURI="http://users.isc.tuc.gr/~gntousakis" role="author"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/DC3BFC4B-97DD-4479-9D64-2433CB5F5D49" targetEntity="person" targetURI="3AB48E94-29CF-4268-BDD4-019E7A12BC86" role="author"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/DC3BFC4B-97DD-4479-9D64-2433CB5F5D49" targetEntity="person" targetURI="D5D0F5AB-D93D-416B-9AD7-D0159402DF9A" role="author"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/DC3BFC4B-97DD-4479-9D64-2433CB5F5D49" targetEntity="person" targetURI="https://v2.sherpa.ac.uk/id/publisher/21" role="publisher"/></efrbr-responsible:responsibleRelations><efrbr-subject:subjectRelations><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/DC3BFC4B-97DD-4479-9D64-2433CB5F5D49" targetEntity="concept" targetURI="ADA36CCE-EFA7-40F8-952B-65C3201A4F77"/><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/DC3BFC4B-97DD-4479-9D64-2433CB5F5D49" targetEntity="concept" targetURI="6A1C78CE-1488-45AA-B595-FFE649C8E2D3"/><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/DC3BFC4B-97DD-4479-9D64-2433CB5F5D49" targetEntity="concept" targetURI="B5C7AE1E-386C-4D04-92A1-EC4C4CF41792"/><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/DC3BFC4B-97DD-4479-9D64-2433CB5F5D49" targetEntity="concept" targetURI="35152AC9-3BBB-4DDF-B871-3B4904518CAD"/><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/DC3BFC4B-97DD-4479-9D64-2433CB5F5D49" targetEntity="concept" targetURI="AA9B2C61-8E88-4770-9F75-B313FFD7C823"/><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/DC3BFC4B-97DD-4479-9D64-2433CB5F5D49" targetEntity="concept" targetURI="70073E97-91C6-40B8-AF4A-712E3C3DCFE3"/><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/DC3BFC4B-97DD-4479-9D64-2433CB5F5D49" targetEntity="concept" targetURI="98937F37-4FBF-481F-B165-2CCDA3669CC5"/></efrbr-subject:subjectRelations><efrbr-other:otherRelations/></efrbr:relationships></efrbr:recordSet>