@inproceedings{LhotakH04, title = {Jedd: a BDD-based relational extension of Java}, author = {Ondřej Lhoták and Laurie J. Hendren}, year = {2004}, doi = {10.1145/996841.996861}, url = {http://doi.acm.org/10.1145/996841.996861}, tags = {rule-based, Java}, researchr = {https://researchr.org/publication/LhotakH04}, cites = {0}, citedby = {0}, pages = {158-169}, booktitle = {PLDI}, } @inproceedings{LhotakH02, title = {Run-time evaluation of opportunities for object inlining in Java}, author = {Ondřej Lhoták and Laurie J. Hendren}, year = {2002}, doi = {10.1145/583810.583830}, url = {http://doi.acm.org/10.1145/583810.583830}, tags = {Java, meta-model, Meta-Environment, meta-objects}, researchr = {https://researchr.org/publication/LhotakH02}, cites = {0}, citedby = {0}, pages = {175-184}, booktitle = {java}, } @inproceedings{TheobaldGH92, title = {On the limits of program parallelism and its smoothability}, author = {Kevin B. Theobald and Guang R. Gao and Laurie J. Hendren}, year = {1992}, doi = {10.1145/144953.144977}, url = {http://doi.acm.org/10.1145/144953.144977}, researchr = {https://researchr.org/publication/TheobaldGH92}, cites = {0}, citedby = {0}, pages = {10-19}, booktitle = {euromicro}, } @inproceedings{LhotakH06, title = {Context-Sensitive Points-to Analysis: Is It Worth It?}, author = {Ondřej Lhoták and Laurie J. Hendren}, year = {2006}, doi = {10.1007/11688839_5}, url = {http://dx.doi.org/10.1007/11688839_5}, tags = {points-to analysis, analysis, source-to-source, context-aware, open-source}, researchr = {https://researchr.org/publication/LhotakH06}, cites = {0}, citedby = {0}, pages = {47-64}, booktitle = {CC}, } @article{MerloGGKHPM95, title = {Reengineering User Interfaces}, author = {Ettore Merlo and Pierre-Yves Gagné and Jean-Francois Girard and Kostas Kontogiannis and Laurie J. Hendren and Prakash Panangaden and Renato de Mori}, year = {1995}, url = {http://www.computer.org:80/software/so1995/s1064abs.htm}, researchr = {https://researchr.org/publication/MerloGGKHPM95}, cites = {0}, citedby = {0}, journal = {IEEE Software}, volume = {12}, number = {1}, pages = {64-73}, } @inproceedings{BoddenHLLN07, title = {Collaborative Runtime Verification with Tracematches}, author = {Eric Bodden and Laurie J. Hendren and Patrick Lam and Ondřej Lhoták and Nomair A. Naeem}, year = {2007}, doi = {10.1007/978-3-540-77395-5_3}, url = {http://dx.doi.org/10.1007/978-3-540-77395-5_3}, researchr = {https://researchr.org/publication/BoddenHLLN07}, cites = {0}, citedby = {0}, pages = {22-37}, booktitle = {rv}, } @inproceedings{GagnonH03, title = {Effective Inline-Threaded Interpretation of Java Bytecode Using Preparation Sequences}, author = {Etienne Gagnon and Laurie J. Hendren}, year = {2003}, url = {http://link.springer.de/link/service/series/0558/bibs/2622/26220170.htm}, tags = {Java}, researchr = {https://researchr.org/publication/GagnonH03}, cites = {0}, citedby = {0}, pages = {170-184}, booktitle = {cc}, } @inproceedings{GagnonH98, title = {SableCC, an Object-Oriented Compiler Framework}, author = {Etienne M. Gagnon and Laurie J. Hendren}, year = {1998}, doi = {10.1109/TOOLS.1998.711009}, url = {http://doi.ieeecomputersociety.org/10.1109/TOOLS.1998.711009}, tags = {meta-model, compiler, Meta-Environment, meta-objects}, researchr = {https://researchr.org/publication/GagnonH98}, cites = {0}, citedby = {0}, pages = {140-154}, booktitle = {TOOLS}, } @article{HendrenN90, title = {Parallelizing Programs with Recursive Data Structures}, author = {Laurie J. Hendren and Alexandru Nicolau}, year = {1990}, url = {http://computer.org/tpds/td1990/l0035abs.htm}, tags = {parallel programming, data-flow programming, data-flow}, researchr = {https://researchr.org/publication/HendrenN90}, cites = {0}, citedby = {0}, journal = {tpds}, volume = {1}, number = {1}, pages = {35-47}, } @inproceedings{HendrenGAM92, title = {A Register Allocation Framework Based on Hierarchical Cyclic Interval Graphs}, author = {Laurie J. Hendren and Guang R. Gao and Erik R. Altman and Chandrika Mukerji}, year = {1992}, tags = {rule-based, graph-rewriting, rewriting}, researchr = {https://researchr.org/publication/HendrenGAM92}, cites = {0}, citedby = {0}, pages = {176-191}, booktitle = {cc}, } @inproceedings{AllanACHKLLMSST05, title = {\emph{abc}: The AspectBench Compiler for AspectJ}, author = {Chris Allan and Pavel Avgustinov and Aske Simon Christensen and Laurie J. Hendren and Sascha Kuzins and Jennifer Lhoták and Ondřej Lhoták and Oege de Moor and Damien Sereni and Ganesh Sittampalam and Julian Tibble}, year = {2005}, doi = {10.1007/11561347_2}, url = {http://dx.doi.org/10.1007/11561347_2}, tags = {AspectJ, compiler}, researchr = {https://researchr.org/publication/AllanACHKLLMSST05}, cites = {0}, citedby = {0}, pages = {10-16}, booktitle = {GPCE}, } @inproceedings{QianHV02, title = {A Comprehensive Approach to Array Bounds Check Elimination for Java}, author = {Feng Qian and Laurie J. Hendren and Clark Verbrugge}, year = {2002}, url = {http://link.springer.de/link/service/series/0558/bibs/2304/23040325.htm}, tags = {Java, systematic-approach}, researchr = {https://researchr.org/publication/QianHV02}, cites = {0}, citedby = {0}, pages = {325-342}, booktitle = {CC}, } @article{ZhuH99:1, title = {Guest Editors Introduction: Special Issue on Compilers and Languages for Parallel and Distributed Computers}, author = {Yingchun Zhu and Laurie J. Hendren}, year = {1999}, url = {http://www.computer.org/tpds/td1999/l0097abs.htm}, tags = {compiler}, researchr = {https://researchr.org/publication/ZhuH99%3A1}, cites = {0}, citedby = {0}, journal = {tpds}, volume = {10}, number = {2}, pages = {97-98}, } @inproceedings{Vallee-RaiCGHLS99, title = {Soot - a Java bytecode optimization framework}, author = {Raja Vallée-Rai and Phong Co and Etienne Gagnon and Laurie J. Hendren and Patrick Lam and Vijay Sundaresan}, year = {1999}, doi = {10.1145/781995.782008}, url = {http://doi.acm.org/10.1145/781995.782008}, tags = {optimization, Java}, researchr = {https://researchr.org/publication/Vallee-RaiCGHLS99}, cites = {0}, citedby = {0}, pages = {13}, booktitle = {cascon}, } @inproceedings{DufourDHV03, title = {Dynamic metrics for java}, author = {Bruno Dufour and Karel Driesen and Laurie J. Hendren and Clark Verbrugge}, year = {2003}, doi = {10.1145/949305.949320}, url = {http://doi.acm.org/10.1145/949305.949320}, tags = {Java}, researchr = {https://researchr.org/publication/DufourDHV03}, cites = {0}, citedby = {0}, pages = {149-168}, booktitle = {OOPSLA}, } @inproceedings{EmamiGH94, title = {Context-Sensitive Interprocedural Points-to Analysis in the Presence of Function Pointers}, author = {Maryam Emami and Rakesh Ghiya and Laurie J. Hendren}, year = {1994}, tags = {points-to analysis, analysis, source-to-source, context-aware, open-source}, researchr = {https://researchr.org/publication/EmamiGH94}, cites = {0}, citedby = {0}, pages = {242-256}, booktitle = {PLDI}, } @inproceedings{BoddenLH08-0, title = {Object representatives: a uniform abstraction for pointer information}, author = {Eric Bodden and Patrick Lam and Laurie J. Hendren}, year = {2008}, url = {http://www.bcs.org/server.php?show=ConWebDoc.22982}, tags = {meta-model, abstraction, Meta-Environment, meta-objects}, researchr = {https://researchr.org/publication/BoddenLH08-0}, cites = {0}, citedby = {0}, pages = {391-405}, booktitle = {bcs}, } @inproceedings{LhotakLH04, title = {Integrating the Soot Compiler Infrastructure into an IDE}, author = {Jennifer Lhoták and Ondřej Lhoták and Laurie J. Hendren}, year = {2004}, url = {http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2985&spage=281}, tags = {compiler}, researchr = {https://researchr.org/publication/LhotakLH04}, cites = {0}, citedby = {0}, pages = {281-297}, booktitle = {CC}, } @inproceedings{BoddenLH08, title = {Finding programming errors earlier by evaluating runtime monitors ahead-of-time}, author = {Eric Bodden and Patrick Lam and Laurie J. Hendren}, year = {2008}, doi = {10.1145/1453101.1453109}, url = {http://doi.acm.org/10.1145/1453101.1453109}, tags = {programming}, researchr = {https://researchr.org/publication/BoddenLH08}, cites = {0}, citedby = {0}, pages = {36-47}, booktitle = {sigsoft}, } @inproceedings{HendrenDEGJS92, title = {Designing the McCAT Compiler Based on a Family of Structured Intermediate Representations}, author = {Laurie J. Hendren and C. Donawa and Maryam Emami and Guang R. Gao and Justiani and B. Sridharan}, year = {1992}, tags = {rule-based, C++, compiler}, researchr = {https://researchr.org/publication/HendrenDEGJS92}, cites = {0}, citedby = {0}, pages = {406-420}, booktitle = {lcpc}, } @article{ZhuH99:0, title = {Communication Optimizations for Parallel C Programs}, author = {Yingchun Zhu and Laurie J. Hendren}, year = {1999}, tags = {optimization, parallel programming, C++, program optimization}, researchr = {https://researchr.org/publication/ZhuH99%3A0}, cites = {0}, citedby = {0}, journal = {jpdc}, volume = {58}, number = {2}, pages = {301-332}, } @inproceedings{BoddenSH08, title = {Relational aspects as tracematches}, author = {Eric Bodden and Reehan Shaikh and Laurie J. Hendren}, year = {2008}, doi = {10.1145/1353482.1353493}, url = {http://doi.acm.org/10.1145/1353482.1353493}, researchr = {https://researchr.org/publication/BoddenSH08}, cites = {0}, citedby = {0}, pages = {84-95}, booktitle = {AOSD}, } @inproceedings{MerloGHM93, title = {Multi-Valued Constant Propagation for the Reengineering of User Interfaces}, author = {Ettore Merlo and Jean-Francois Girard and Laurie J. Hendren and Renato de Mori}, year = {1993}, researchr = {https://researchr.org/publication/MerloGHM93}, cites = {0}, citedby = {0}, pages = {120-129}, booktitle = {ICSM}, } @inproceedings{JustianiH94, title = {Supporting Array Dependence Testing for an Optimizing/Parallelizing C Compiler}, author = {Justiani and Laurie J. Hendren}, year = {1994}, tags = {optimization, testing, C++, compiler}, researchr = {https://researchr.org/publication/JustianiH94}, cites = {0}, citedby = {0}, pages = {309-323}, booktitle = {cc}, } @inproceedings{ZhuH98:0, title = {Communication Optimizations for Parallel C Programs}, author = {Yingchun Zhu and Laurie J. Hendren}, year = {1998}, tags = {optimization, parallel programming, C++, program optimization}, researchr = {https://researchr.org/publication/ZhuH98%3A0}, cites = {0}, citedby = {0}, pages = {199-211}, booktitle = {PLDI}, } @inproceedings{GhiyaHZ98, title = {Detecting Parallelism in C Programs with Recursive Darta Structures}, author = {Rakesh Ghiya and Laurie J. Hendren and Yingchun Zhu}, year = {1998}, tags = {C++}, researchr = {https://researchr.org/publication/GhiyaHZ98}, cites = {0}, citedby = {0}, pages = {159-173}, booktitle = {CC}, } @inproceedings{LeLH05, title = {Using Inter-Procedural Side-Effect Information in JIT Optimizations}, author = {Anatole Le and Ondřej Lhoták and Laurie J. Hendren}, year = {2005}, url = {http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3443&spage=287}, tags = {optimization}, researchr = {https://researchr.org/publication/LeLH05}, cites = {0}, citedby = {0}, pages = {287-304}, booktitle = {CC}, } @inproceedings{BrownDEHJVW02, title = {STEP: a framework for the efficient encoding of general trace data}, author = {Rhodes Brown and Karel Driesen and David Eng and Laurie J. Hendren and John Jorgensen and Clark Verbrugge and Qin Wang}, year = {2002}, doi = {10.1145/586094.586103}, url = {http://doi.acm.org/10.1145/586094.586103}, tags = {data-flow}, researchr = {https://researchr.org/publication/BrownDEHJVW02}, cites = {0}, citedby = {0}, pages = {27-34}, booktitle = {PASTE}, } @inproceedings{BerndlLQHU03, title = {Points-to analysis using BDDs}, author = {Marc Berndl and Ondřej Lhoták and Feng Qian and Laurie J. Hendren and Navindra Umanee}, year = {2003}, doi = {10.1145/781131.781144}, url = {http://doi.acm.org/10.1145/781131.781144}, tags = {points-to analysis, analysis, source-to-source, peer-to-peer, open-source}, researchr = {https://researchr.org/publication/BerndlLQHU03}, cites = {0}, citedby = {0}, pages = {103-114}, booktitle = {PLDI}, } @inproceedings{QianH05, title = {A Study of Type Analysis for Speculative Method Inlining in a JIT Environment}, author = {Feng Qian and Laurie J. Hendren}, year = {2005}, url = {http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3443&spage=255}, tags = {meta-model, analysis, Meta-Environment, meta-objects}, researchr = {https://researchr.org/publication/QianH05}, cites = {0}, citedby = {0}, pages = {255-270}, booktitle = {CC}, } @inproceedings{LapkowskiH96, title = {Extended SSA numbering: introducing SSA properties to languages with multi-level pointers}, author = {Christopher Lapkowski and Laurie J. Hendren}, year = {1996}, doi = {10.1145/782052.782075}, url = {http://doi.acm.org/10.1145/782052.782075}, researchr = {https://researchr.org/publication/LapkowskiH96}, cites = {0}, citedby = {0}, pages = {23}, booktitle = {cascon}, } @inproceedings{HendrenHN92, title = {Abstractions for Recursive Pointer Data Structures: Improving the Analysis of Imperative Programs}, author = {Laurie J. Hendren and Joseph Hummel and Alexandru Nicolau}, year = {1992}, tags = {program analysis, analysis, data-flow programming, data-flow, abstraction, data-flow analysis}, researchr = {https://researchr.org/publication/HendrenHN92}, cites = {0}, citedby = {0}, pages = {249-260}, booktitle = {PLDI}, } @article{HummelHN92, title = {Abstract Description of Pointer Data Structures: An Approach for Improving the Analysis and Optimization of Imperative Programs}, author = {Joseph Hummel and Laurie J. Hendren and Alexandru Nicolau}, year = {1992}, tags = {optimization, program analysis, analysis, data-flow programming, data-flow, program optimization, data-flow analysis, systematic-approach}, researchr = {https://researchr.org/publication/HummelHN92}, cites = {0}, citedby = {0}, journal = {loplas}, volume = {1}, number = {3}, pages = {243-260}, } @inproceedings{DingH92, title = {SELSYN-C: A Self-Synchronizing Parallel Programming Language}, author = {Weiren Ding and Laurie J. Hendren}, year = {1992}, tags = {programming languages, synchronization, parallel programming, C++, programming}, researchr = {https://researchr.org/publication/DingH92}, cites = {0}, citedby = {0}, pages = {143-146}, booktitle = {icci}, } @article{RogersCRH95, title = {Supporting Dynamic Data Structures on Distributed-Memory Machines}, author = {Anne Rogers and Martin C. Carlisle and John H. Reppy and Laurie J. Hendren}, year = {1995}, doi = {10.1145/201059.201065}, url = {http://doi.acm.org/10.1145/201059.201065}, tags = {data-flow, C++}, researchr = {https://researchr.org/publication/RogersCRH95}, cites = {0}, citedby = {0}, journal = {TOPLAS}, volume = {17}, number = {2}, pages = {233-263}, } @inproceedings{CarlisleRRH93, title = {Early Experiences with Olden}, author = {Martin C. Carlisle and Anne Rogers and John H. Reppy and Laurie J. Hendren}, year = {1993}, tags = {C++}, researchr = {https://researchr.org/publication/CarlisleRRH93}, cites = {0}, citedby = {0}, pages = {1-20}, booktitle = {lcpc}, } @inproceedings{TangGHG97, title = {Heap Analysis and Optimizations for Threaded Programs}, author = {Xinan Tang and Rakesh Ghiya and Laurie J. Hendren and Guang R. Gao}, year = {1997}, url = {http://computer.org/proceedings/pact/8090/80900014abs.htm}, tags = {optimization, program analysis, analysis, program optimization}, researchr = {https://researchr.org/publication/TangGHG97}, cites = {0}, citedby = {0}, pages = {14-25}, booktitle = {IEEEpact}, } @inproceedings{AvgustinovCHKLLMSST05, title = {abc: an extensible AspectJ compiler}, author = {Pavel Avgustinov and Aske Simon Christensen and Laurie J. Hendren and Sascha Kuzins and Jennifer Lhoták and Ondřej Lhoták and Oege de Moor and Damien Sereni and Ganesh Sittampalam and Julian Tibble}, year = {2005}, doi = {10.1145/1052898.1052906}, url = {http://doi.acm.org/10.1145/1052898.1052906}, tags = {AspectJ, compiler}, researchr = {https://researchr.org/publication/AvgustinovCHKLLMSST05}, cites = {0}, citedby = {0}, pages = {87-98}, booktitle = {AOSD}, } @inproceedings{LapkowskiH98, title = {Extended SSA Numbering: Introducing SSA Properties to Language with Multi-level Pointers}, author = {Christopher Lapkowski and Laurie J. Hendren}, year = {1998}, researchr = {https://researchr.org/publication/LapkowskiH98}, cites = {0}, citedby = {0}, pages = {128-143}, booktitle = {CC}, } @inproceedings{AvgustinovBHHLMOSSTV06, title = {Aspects for Trace Monitoring}, author = {Pavel Avgustinov and Eric Bodden and Elnar Hajiyev and Laurie J. Hendren and Ondřej Lhoták and Oege de Moor and Neil Ongkingco and Damien Sereni and Ganesh Sittampalam and Julian Tibble and Mathieu Verbaere}, year = {2006}, doi = {10.1007/11940197_2}, url = {http://dx.doi.org/10.1007/11940197_2}, researchr = {https://researchr.org/publication/AvgustinovBHHLMOSSTV06}, cites = {0}, citedby = {0}, pages = {20-39}, booktitle = {fates}, } @inproceedings{DagenaisH08, title = {Enabling static analysis for partial java programs}, author = {Barthélémy Dagenais and Laurie J. Hendren}, year = {2008}, doi = {10.1145/1449764.1449790}, url = {http://doi.acm.org/10.1145/1449764.1449790}, tags = {Java, program analysis, analysis, static analysis}, researchr = {https://researchr.org/publication/DagenaisH08}, cites = {0}, citedby = {0}, pages = {313-328}, booktitle = {OOPSLA}, } @inproceedings{Chevalier-BoisvertHV10, title = {Optimizing Matlab through Just-In-Time Specialization}, author = {Maxime Chevalier-Boisvert and Laurie J. Hendren and Clark Verbrugge}, year = {2010}, doi = {10.1007/978-3-642-11970-5_4}, url = {http://dx.doi.org/10.1007/978-3-642-11970-5_4}, tags = {optimization}, researchr = {https://researchr.org/publication/Chevalier-BoisvertHV10}, cites = {0}, citedby = {0}, pages = {46-65}, booktitle = {CC}, } @inproceedings{VerbruggeCH96, title = {Generalized Constant Propagation: A Study in C}, author = {Clark Verbrugge and Phong Co and Laurie J. Hendren}, year = {1996}, tags = {C++}, researchr = {https://researchr.org/publication/VerbruggeCH96}, cites = {0}, citedby = {0}, pages = {74-90}, booktitle = {cc}, } @inproceedings{BatchelderH07, title = {Obfuscating Java: The Most Pain for the Least Gain}, author = {Michael Batchelder and Laurie J. Hendren}, year = {2007}, doi = {10.1007/978-3-540-71229-9_7}, url = {http://dx.doi.org/10.1007/978-3-540-71229-9_7}, tags = {Java}, researchr = {https://researchr.org/publication/BatchelderH07}, cites = {0}, citedby = {0}, pages = {96-110}, booktitle = {CC}, } @inproceedings{LhotakH03, title = {Scaling Java Points-to Analysis Using SPARK}, author = {Ondřej Lhoták and Laurie J. Hendren}, year = {2003}, url = {http://link.springer.de/link/service/series/0558/bibs/2622/26220153.htm}, tags = {Java, points-to analysis, analysis, source-to-source, peer-to-peer, open-source}, researchr = {https://researchr.org/publication/LhotakH03}, cites = {0}, citedby = {1}, pages = {153-169}, booktitle = {cc}, } @inproceedings{HummelHN94:0, title = {A General Data Dependence Test for Dynamic, Pointer-Based Data Structures}, author = {Joseph Hummel and Laurie J. Hendren and Alexandru Nicolau}, year = {1994}, tags = {rule-based, testing, data-flow}, researchr = {https://researchr.org/publication/HummelHN94%3A0}, cites = {0}, citedby = {0}, pages = {218-229}, booktitle = {PLDI}, } @inproceedings{GhiyaH95, title = {Connection Analysis: A Practical Interprocedural Heap Analysis for C}, author = {Rakesh Ghiya and Laurie J. Hendren}, year = {1995}, tags = {analysis, C++}, researchr = {https://researchr.org/publication/GhiyaH95}, cites = {0}, citedby = {0}, pages = {515-533}, booktitle = {lcpc}, } @article{AvgustinovCHKLLMSST06, title = {\emph{abc}: An Extensible {AspectJ} Compiler}, author = {Pavel Avgustinov and Aske Simon Christensen and Laurie J. Hendren and Sascha Kuzins and Jennifer Lhoták and Ondřej Lhoták and Oege de Moor and Damien Sereni and Ganesh Sittampalam and Julian Tibble}, year = {2006}, doi = {10.1007/11687061_9}, url = {http://dx.doi.org/10.1007/11687061_9}, tags = {programming languages, workbench, AspectJ, object-oriented programming, rule-based, Java, data-flow language, design research, language design, data-flow programming, data-flow, code generation, type checking, reviewing, aspect oriented programming, compiler, programming, subject-oriented programming, language workbench, design, extensible language, feature-oriented programming}, researchr = {https://researchr.org/publication/AvgustinovCHKLLMSST06}, cites = {0}, citedby = {1}, journal = {TAOSD}, pages = {293-334}, } @article{GlasgowJH86, title = {A programming language for learning environments}, author = {Janice I. Glasgow and Michael A. Jenkins and Laurie J. Hendren}, year = {1986}, tags = {programming languages, meta programming, meta-model, programming, Meta-Environment}, researchr = {https://researchr.org/publication/GlasgowJH86}, cites = {0}, citedby = {0}, journal = {ci}, volume = {2}, pages = {68-75}, } @inproceedings{NaeemH06, title = {Programmer-friendly Decompiled Java}, author = {Nomair A. Naeem and Laurie J. Hendren}, year = {2006}, doi = {10.1109/ICPC.2006.40}, url = {http://doi.ieeecomputersociety.org/10.1109/ICPC.2006.40}, tags = {Java}, researchr = {https://researchr.org/publication/NaeemH06}, cites = {0}, citedby = {0}, pages = {327-336}, booktitle = {IWPC}, } @inproceedings{HendrenN89:0, title = {Intererence analysis tools for parallelizing programs with recursive data structures}, author = {Laurie J. Hendren and Alexandru Nicolau}, year = {1989}, doi = {10.1145/318789.318812}, url = {http://doi.acm.org/10.1145/318789.318812}, tags = {program analysis, analysis, parallel programming, data-flow programming, data-flow, data-flow analysis}, researchr = {https://researchr.org/publication/HendrenN89%3A0}, cites = {0}, citedby = {0}, pages = {205-214}, booktitle = {ics}, } @inproceedings{HummelHN92:0, title = {Applying an Abstract Data Structure Description Approach to Parallelizing Scientific Pointer Programs}, author = {Joseph Hummel and Laurie J. Hendren and Alexandru Nicolau}, year = {1992}, tags = {parallel programming, data-flow programming, data-flow, systematic-approach}, researchr = {https://researchr.org/publication/HummelHN92%3A0}, cites = {0}, citedby = {0}, pages = {100-104}, booktitle = {icpp}, } @inproceedings{AvgustinovCHKLLMSST05:0, title = {Optimising aspectJ}, author = {Pavel Avgustinov and Aske Simon Christensen and Laurie J. Hendren and Sascha Kuzins and Jennifer Lhoták and Ondřej Lhoták and Oege de Moor and Damien Sereni and Ganesh Sittampalam and Julian Tibble}, year = {2005}, doi = {10.1145/1065010.1065026}, url = {http://doi.acm.org/10.1145/1065010.1065026}, tags = {AspectJ}, researchr = {https://researchr.org/publication/AvgustinovCHKLLMSST05%3A0}, cites = {0}, citedby = {0}, pages = {117-128}, booktitle = {PLDI}, } @inproceedings{PominvilleQVHV00, title = {A framework for optimizing Java using attributes}, author = {Patrice Pominville and Feng Qian and Raja Vallée-Rai and Laurie J. Hendren and Clark Verbrugge}, year = {2000}, doi = {10.1145/782034.782042}, url = {http://doi.acm.org/10.1145/782034.782042}, tags = {optimization, Java}, researchr = {https://researchr.org/publication/PominvilleQVHV00}, cites = {0}, citedby = {0}, pages = {8}, booktitle = {cascon}, } @inproceedings{NaeemBH07, title = {Metrics for Measuring the Effectiveness of Decompilers and Obfuscators}, author = {Nomair A. Naeem and Michael Batchelder and Laurie J. Hendren}, year = {2007}, doi = {10.1109/ICPC.2007.27}, url = {http://doi.ieeecomputersociety.org/10.1109/ICPC.2007.27}, researchr = {https://researchr.org/publication/NaeemBH07}, cites = {0}, citedby = {0}, pages = {253-258}, booktitle = {IWPC}, } @inproceedings{GagnonHM00, title = {Efficient Inference of Static Types for Java Bytecode}, author = {Etienne Gagnon and Laurie J. Hendren and Guillaume Marceau}, year = {2000}, tags = {type inference, Java}, researchr = {https://researchr.org/publication/GagnonHM00}, cites = {0}, citedby = {0}, pages = {199-219}, booktitle = {SAS}, } @inproceedings{RogersRH92, title = {Supporting SPMD Execution for Dynamic Data Structures}, author = {Anne Rogers and John H. Reppy and Laurie J. Hendren}, year = {1992}, tags = {data-flow}, researchr = {https://researchr.org/publication/RogersRH92}, cites = {0}, citedby = {0}, pages = {192-207}, booktitle = {lcpc}, } @inproceedings{DufourGHMSV04, title = {Measuring the dynamic behaviour of AspectJ programs}, author = {Bruno Dufour and Christopher Goard and Laurie J. Hendren and Oege de Moor and Ganesh Sittampalam and Clark Verbrugge}, year = {2004}, doi = {10.1145/1028976.1028990}, url = {http://doi.acm.org/10.1145/1028976.1028990}, tags = {AspectJ}, researchr = {https://researchr.org/publication/DufourGHMSV04}, cites = {0}, citedby = {0}, pages = {150-169}, booktitle = {OOPSLA}, } @inproceedings{BoddenHL07, title = {A Staged Static Program Analysis to Improve the Performance of Runtime Monitoring}, author = {Eric Bodden and Laurie J. Hendren and Ondřej Lhoták}, year = {2007}, doi = {10.1007/978-3-540-73589-2_25}, url = {http://dx.doi.org/10.1007/978-3-540-73589-2_25}, tags = {program analysis, analysis, static analysis}, researchr = {https://researchr.org/publication/BoddenHL07}, cites = {0}, citedby = {0}, pages = {525-549}, booktitle = {ECOOP}, } @inproceedings{GhiyaH96, title = {Is it a Tree, a DAG, or a Cyclic Graph? A Shape Analysis for Heap-Directed Pointers in C}, author = {Rakesh Ghiya and Laurie J. Hendren}, year = {1996}, doi = {10.1145/237721.237724}, url = {http://doi.acm.org/10.1145/237721.237724}, tags = {analysis, graph-rewriting, C++, rewriting}, researchr = {https://researchr.org/publication/GhiyaH96}, cites = {0}, citedby = {0}, pages = {1-15}, booktitle = {POPL}, } @inproceedings{HummelHN94, title = {A Framework for Data Dependence Testing in the Presence of Pointers}, author = {Joseph Hummel and Laurie J. Hendren and Alexandru Nicolau}, year = {1994}, tags = {testing, data-flow}, researchr = {https://researchr.org/publication/HummelHN94}, cites = {0}, citedby = {0}, pages = {216-224}, booktitle = {icpp}, } @inproceedings{OngkingcoATHMS06, title = {Adding open modules to AspectJ}, author = {Neil Ongkingco and Pavel Avgustinov and Julian Tibble and Laurie J. Hendren and Oege de Moor and Ganesh Sittampalam}, year = {2006}, doi = {10.1145/1119655.1119664}, url = {http://doi.acm.org/10.1145/1119655.1119664}, tags = {AspectJ, source-to-source, open-source}, researchr = {https://researchr.org/publication/OngkingcoATHMS06}, cites = {0}, citedby = {1}, pages = {39-50}, booktitle = {AOSD}, } @inproceedings{QianH02, title = {An adaptive, region-based allocator for java}, author = {Feng Qian and Laurie J. Hendren}, year = {2002}, doi = {10.1145/773039.512446}, url = {http://doi.acm.org/10.1145/773039.512446}, tags = {rule-based, Java}, researchr = {https://researchr.org/publication/QianH02}, cites = {0}, citedby = {0}, pages = {233-244}, booktitle = {iwmm}, } @article{MerloGHM95, title = {Multi-Valued Constant Propagation Analysis for User Interface Reengineering}, author = {Ettore Merlo and Jean-Francois Girard and Laurie J. Hendren and Renato de Mori}, year = {1995}, doi = {10.1142/S0218194095000022}, url = {http://dx.doi.org/10.1142/S0218194095000022}, tags = {analysis}, researchr = {https://researchr.org/publication/MerloGHM95}, cites = {0}, citedby = {0}, journal = {ijseke}, volume = {5}, number = {1}, pages = {5-23}, } @inproceedings{HendrenN89, title = {Parallelizing Programs with Recursive Data Structures}, author = {Laurie J. Hendren and Alexandru Nicolau}, year = {1989}, tags = {parallel programming, data-flow programming, data-flow}, researchr = {https://researchr.org/publication/HendrenN89}, cites = {0}, citedby = {0}, pages = {49-56}, booktitle = {icpp}, } @inproceedings{ErosaH94, title = {Taming Control Flow: A Structured Approach to Eliminating Goto Statements}, author = {Ana M. Erosa and Laurie J. Hendren}, year = {1994}, tags = {data-flow, systematic-approach}, researchr = {https://researchr.org/publication/ErosaH94}, cites = {0}, citedby = {0}, pages = {229-240}, booktitle = {iccl}, } @inproceedings{DufourHV03, title = {*J: a tool for dynamic analysis of Java programs}, author = {Bruno Dufour and Laurie J. Hendren and Clark Verbrugge}, year = {2003}, doi = {10.1145/949344.949425}, url = {http://doi.acm.org/10.1145/949344.949425}, tags = {Java, program analysis, analysis}, researchr = {https://researchr.org/publication/DufourHV03}, cites = {0}, citedby = {0}, pages = {306-307}, booktitle = {OOPSLA}, } @inproceedings{BerndlH03, title = {Dynamic Profiling and Trace Cache Generation}, author = {Marc Berndl and Laurie J. Hendren}, year = {2003}, url = {http://csdl.computer.org/comp/proceedings/cgo/2003/1913/00/19130276abs.htm}, tags = {caching}, researchr = {https://researchr.org/publication/BerndlH03}, cites = {0}, citedby = {0}, pages = {276-288}, booktitle = {CGO}, } @inproceedings{HummelNH94, title = {A Language for Conveying the Aliasing Properties of Dynamic, Pointer-Based Data Structures}, author = {Joseph Hummel and Alexandru Nicolau and Laurie J. Hendren}, year = {1994}, tags = {rule-based, data-flow language, data-flow}, researchr = {https://researchr.org/publication/HummelNH94}, cites = {0}, citedby = {0}, pages = {208-216}, booktitle = {ipps}, } @inproceedings{AslamDDH10, title = {AspectMatlab: an aspect-oriented scientific programming language}, author = {Toheed Aslam and Jesse Doherty and Anton Dubrau and Laurie J. Hendren}, year = {2010}, doi = {10.1145/1739230.1739252}, url = {http://doi.acm.org/10.1145/1739230.1739252}, tags = {programming languages, object-oriented programming, aspect oriented programming, programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/AslamDDH10}, cites = {0}, citedby = {0}, pages = {181-192}, booktitle = {AOSD}, } @inproceedings{HendrenG92, title = {Designing programming languages for analyzability: a fresh look at pointer data structures}, author = {Laurie J. Hendren and Guang R. Gao}, year = {1992}, doi = {10.1109/ICCL.1992.185488}, url = {http://dx.doi.org/10.1109/ICCL.1992.185488}, tags = {programming languages, data-flow language, data-flow programming, data-flow, programming}, researchr = {https://researchr.org/publication/HendrenG92}, cites = {0}, citedby = {0}, pages = {242-251}, booktitle = {iccl}, } @inproceedings{TheobaldGH93, title = {Speculative Execution and Branch Prediction on Parallel Machines}, author = {Kevin B. Theobald and Guang R. Gao and Laurie J. Hendren}, year = {1993}, doi = {10.1145/165939.165958}, url = {http://doi.acm.org/10.1145/165939.165958}, researchr = {https://researchr.org/publication/TheobaldGH93}, cites = {0}, citedby = {0}, pages = {77-86}, booktitle = {ics}, } @inproceedings{AllanACHKLMSST05, title = {Adding trace matching with free variables to AspectJ}, author = {Chris Allan and Pavel Avgustinov and Aske Simon Christensen and Laurie J. Hendren and Sascha Kuzins and Ondřej Lhoták and Oege de Moor and Damien Sereni and Ganesh Sittampalam and Julian Tibble}, year = {2005}, doi = {10.1145/1094811.1094839}, url = {http://doi.acm.org/10.1145/1094811.1094839}, tags = {AspectJ}, researchr = {https://researchr.org/publication/AllanACHKLMSST05}, cites = {0}, citedby = {0}, pages = {345-364}, booktitle = {OOPSLA}, } @inproceedings{MiecznikowskiH01, title = {Decompiling Java Using Staged Encapsulation}, author = {Jerome Miecznikowski and Laurie J. Hendren}, year = {2001}, url = {http://computer.org/proceedings/wcre/1303/13030368abs.htm}, tags = {Java}, researchr = {https://researchr.org/publication/MiecznikowskiH01}, cites = {0}, citedby = {1}, pages = {368-374}, booktitle = {WCRE}, } @inproceedings{GagnonH01, title = {SableVM: A Research Framework for the Efficient Execution of Java Bytecode}, author = {Etienne M. Gagnon and Laurie J. Hendren}, year = {2001}, url = {http://www.usenix.org/publications/library/proceedings/jvm01/gagnon.html}, tags = {Java}, researchr = {https://researchr.org/publication/GagnonH01}, cites = {0}, citedby = {0}, pages = {27-40}, booktitle = {jvm}, } @article{ZhuH99a, title = {Locality Analysis for Parallel C Programs}, author = {Yingchun Zhu and Laurie J. Hendren}, year = {1999}, url = {http://www.computer.org/tpds/td1999/l0099abs.htm}, tags = {program analysis, analysis, parallel programming, C++}, researchr = {https://researchr.org/publication/ZhuH99a}, cites = {0}, citedby = {0}, journal = {tpds}, volume = {10}, number = {2}, pages = {99-114}, } @article{HendrenG93, title = {Designing Programming Languages for the Analyzability of Pointer Data Structures}, author = {Laurie J. Hendren and Guang R. Gao}, year = {1993}, tags = {programming languages, data-flow language, data-flow programming, data-flow, programming}, researchr = {https://researchr.org/publication/HendrenG93}, cites = {0}, citedby = {0}, journal = {Comp. Lang., Syst. \& Struct.}, volume = {19}, number = {2}, pages = {119-134}, } @article{LhotakH08:0, title = {Evaluating the benefits of context-sensitive points-to analysis using a BDD-based implementation}, author = {Ondřej Lhoták and Laurie J. Hendren}, year = {2008}, doi = {10.1145/1391984.1391987}, url = {http://doi.acm.org/10.1145/1391984.1391987}, tags = {rule-based, points-to analysis, analysis, source-to-source, context-aware, open-source}, researchr = {https://researchr.org/publication/LhotakH08%3A0}, cites = {0}, citedby = {0}, journal = {TOSEM}, volume = {18}, number = {1}, } @article{LhotakH05, title = {Run-time evaluation of opportunities for object inlining in Java}, author = {Ondřej Lhoták and Laurie J. Hendren}, year = {2005}, doi = {10.1002/cpe.848}, url = {http://dx.doi.org/10.1002/cpe.848}, tags = {Java, meta-model, Meta-Environment, meta-objects}, researchr = {https://researchr.org/publication/LhotakH05}, cites = {0}, citedby = {0}, journal = {concurrency}, volume = {17}, number = {5-6}, pages = {515-537}, } @inproceedings{AvgustinovTBHLMOS06, title = {Efficient trace monitoring}, author = {Pavel Avgustinov and Julian Tibble and Eric Bodden and Laurie J. Hendren and Ondřej Lhoták and Oege de Moor and Neil Ongkingco and Ganesh Sittampalam}, year = {2006}, doi = {10.1145/1176617.1176673}, url = {http://doi.acm.org/10.1145/1176617.1176673}, researchr = {https://researchr.org/publication/AvgustinovTBHLMOS06}, cites = {0}, citedby = {0}, pages = {685-686}, booktitle = {OOPSLA}, } @article{LhotakH08, title = {Relations as an abstraction for BDD-based program analysis}, author = {Ondřej Lhoták and Laurie J. Hendren}, year = {2008}, doi = {10.1145/1377492.1377494}, url = {http://doi.acm.org/10.1145/1377492.1377494}, tags = {rule-based, program analysis, analysis, abstraction}, researchr = {https://researchr.org/publication/LhotakH08}, cites = {0}, citedby = {0}, journal = {TOPLAS}, volume = {30}, number = {4}, } @inproceedings{Vallee-RaiGHLPS00, title = {Optimizing Java Bytecode Using the Soot Framework: Is It Feasible?}, author = {Raja Vallée-Rai and Etienne Gagnon and Laurie J. Hendren and Patrick Lam and Patrice Pominville and Vijay Sundaresan}, year = {2000}, url = {http://link.springer.de/link/service/series/0558/bibs/1781/17810018.htm}, tags = {optimization, Java}, researchr = {https://researchr.org/publication/Vallee-RaiGHLPS00}, cites = {0}, citedby = {0}, pages = {18-34}, booktitle = {cc}, } @inproceedings{ZhangDH09-0, title = {Impact analysis and visualization toolkit for static crosscutting in AspectJ}, author = {Dehua Zhang and Ekwa Duala-Ekoko and Laurie J. Hendren}, year = {2009}, doi = {10.1109/ICPC.2009.5090028}, url = {http://dx.doi.org/10.1109/ICPC.2009.5090028}, tags = {AspectJ, analysis, static analysis}, researchr = {https://researchr.org/publication/ZhangDH09-0}, cites = {0}, citedby = {0}, pages = {60-69}, booktitle = {IWPC}, } @inproceedings{GhiyaH98, title = {Putting Pointer Analysis to Work}, author = {Rakesh Ghiya and Laurie J. Hendren}, year = {1998}, doi = {10.1145/268946.268957}, url = {http://doi.acm.org/10.1145/268946.268957}, tags = {analysis}, researchr = {https://researchr.org/publication/GhiyaH98}, cites = {0}, citedby = {0}, pages = {121-133}, booktitle = {POPL}, } @inproceedings{SundaresanHRVLGG00, title = {Practical virtual method call resolution for Java}, author = {Vijay Sundaresan and Laurie J. Hendren and Chrislain Razafimahefa and Raja Vallée-Rai and Patrick Lam and Etienne Gagnon and Charles Godin}, year = {2000}, doi = {10.1145/353171.353189}, url = {http://doi.acm.org/10.1145/353171.353189}, tags = {Java}, researchr = {https://researchr.org/publication/SundaresanHRVLGG00}, cites = {0}, citedby = {0}, pages = {264-280}, booktitle = {OOPSLA}, } @inproceedings{WangWBDDHV03, title = {EVolve: An Open Extensible Software Visualisation Framework}, author = {Qin Wang and Wei Wang and Rhodes Brown and Karel Driesen and Bruno Dufour and Laurie J. Hendren and Clark Verbrugge}, year = {2003}, tags = {source-to-source, open-source}, researchr = {https://researchr.org/publication/WangWBDDHV03}, cites = {0}, citedby = {0}, pages = {37-46}, booktitle = {softvis}, } @inproceedings{MiecznikowskiH02, title = {Decompiling Java Bytecode: Problems, Traps and Pitfalls}, author = {Jerome Miecznikowski and Laurie J. Hendren}, year = {2002}, url = {http://link.springer.de/link/service/series/0558/bibs/2304/23040111.htm}, tags = {Java}, researchr = {https://researchr.org/publication/MiecznikowskiH02}, cites = {0}, citedby = {0}, pages = {111-127}, booktitle = {CC}, } @inproceedings{PominvilleQVHV01, title = {A Framework for Optimizing Java Using Attributes}, author = {Patrice Pominville and Feng Qian and Raja Vallée-Rai and Laurie J. Hendren and Clark Verbrugge}, year = {2001}, url = {http://link.springer.de/link/service/series/0558/bibs/2027/20270334.htm}, tags = {optimization, Java}, researchr = {https://researchr.org/publication/PominvilleQVHV01}, cites = {0}, citedby = {0}, pages = {334-354}, booktitle = {CC}, } @inproceedings{AllanACDGHKLLMSSTV05, title = {abc the aspectBench compiler for aspectJ a workbench for aspect-oriented programming language and compilers research}, author = {Chris Allan and Pavel Avgustinov and Aske Simon Christensen and Bruno Dufour and Christopher Goard and Laurie J. Hendren and Sascha Kuzins and Jennifer Lhoták and Ondřej Lhoták and Oege de Moor and Damien Sereni and Ganesh Sittampalam and Julian Tibble and Clark Verbrugge}, year = {2005}, doi = {10.1145/1094855.1094877}, url = {http://doi.acm.org/10.1145/1094855.1094877}, tags = {programming languages, workbench, AspectJ, object-oriented programming, aspect oriented programming, compiler, programming, subject-oriented programming, language workbench, feature-oriented programming}, researchr = {https://researchr.org/publication/AllanACDGHKLLMSSTV05}, cites = {0}, citedby = {0}, pages = {88-89}, booktitle = {OOPSLA}, } @inproceedings{ZhuH97, title = {Locality Analysis for Parallel C Programs}, author = {Yingchun Zhu and Laurie J. Hendren}, year = {1997}, url = {http://computer.org/proceedings/pact/8090/80900002abs.htm}, tags = {program analysis, analysis, parallel programming, C++}, researchr = {https://researchr.org/publication/ZhuH97}, cites = {0}, citedby = {0}, pages = {2-13}, booktitle = {IEEEpact}, } @inproceedings{QianH04, title = {Towards Dynamic Interprocedural Analysis in JVMs}, author = {Feng Qian and Laurie J. Hendren}, year = {2004}, url = {http://www.usenix.org/publications/library/proceedings/vm04/tech/qian.html}, tags = {analysis}, researchr = {https://researchr.org/publication/QianH04}, cites = {0}, citedby = {0}, pages = {139-150}, booktitle = {jvm}, } @proceedings{cc:2008, title = {Compiler Construction, 17th International Conference, CC 2008, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2008, Budapest, Hungary, March 29 - April 6, 2008. Proceedings}, year = {2008}, tags = {compiler}, researchr = {https://researchr.org/publication/cc%3A2008}, cites = {0}, citedby = {0}, booktitle = {Compiler Construction, 17th International Conference, CC 2008, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2008, Budapest, Hungary, March 29 - April 6, 2008. Proceedings}, conference = {CC}, editor = {Laurie J. Hendren}, volume = {4959}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-540-78790-7}, }