1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227
|
\newcommand{\etalchar}[1]{$^{#1}$}
\begin{thebibliography}{WPM{\etalchar{+}}09}
\bibitem[AQKE09]{ArtziQKE2009}
Shay Artzi, Jaime Quinonez, Adam Kie{\.z}un, and Michael~D. Ernst.
\newblock Parameter reference immutability: Formal definition, inference tool,
and comparison.
\newblock {\em Automated Software Engineering}, 16(1):145--192, March 2009.
\bibitem[Art01]{Artho2001}
Cyrille Artho.
\newblock Finding faults in multi-threaded programs.
\newblock Master's thesis, Swiss Federal Institute of Technology, March~15,
2001.
\bibitem[BJM{\etalchar{+}}15]{BarrosJMVDdAE2015}
Paulo Barros, Ren\'e Just, Suzanne Millstein, Paul Vines, Werner Dietl, Marcelo
d'Amorim, and Michael~D. Ernst.
\newblock Static analysis of implicit control flow: Resolving {Java} reflection
and {Android} intents.
\newblock In {\em ASE 2015: Proceedings of the 30th Annual International
Conference on Automated Software Engineering}, pages 669--679, Lincoln, NE,
USA, November 2015.
\bibitem[CNA{\etalchar{+}}17]{CoblenzNAMS2017}
Michael Coblenz, Whitney Nelson, Jonathan Aldrich, Brad Myers, and Joshua
Sunshine.
\newblock Glacier: Transitive class immutability for {Java}.
\newblock In {\em ICSE 2017, Proceedings of the 39th International Conference
on Software Engineering}, pages 496--506, Buenos Aires, Argentina, May 2017.
\bibitem[Cop05]{Copeland2005}
Tom Copeland.
\newblock {\em PMD Applied}.
\newblock Centennial Books, November 2005.
\bibitem[Cro06]{JSR198}
Jose Cronembold.
\newblock {JSR} 198: A standard extension {API} for {Integrated} {Development}
{Environments}.
\newblock \url{http://jcp.org/en/jsr/detail?id=198}, May~8, 2006.
\bibitem[Dar06]{JSR269}
Joe Darcy.
\newblock {JSR} 269: Pluggable annotation processing {API}.
\newblock \url{http://jcp.org/en/jsr/detail?id=269}, May~17, 2006.
\newblock Public review version.
\bibitem[DDE{\etalchar{+}}11]{DietlDEMS2011}
Werner Dietl, Stephanie Dietzel, Michael~D. Ernst, K{\i}van{\c{c}} Mu{\c{s}}lu,
and Todd Schiller.
\newblock Building and using pluggable type-checkers.
\newblock In {\em ICSE 2011, Proceedings of the 33rd International Conference
on Software Engineering}, pages 681--690, Waikiki, Hawaii, USA, May 2011.
\bibitem[DEM11]{DietlEM2011}
Werner Dietl, Michael~D. Ernst, and Peter M{\"u}ller.
\newblock Tunable static inference for {Generic} {Universe} {Types}.
\newblock In {\em ECOOP 2011 --- Object-Oriented Programming, 25th European
Conference}, pages 333--357, Lancaster, UK, July 2011.
\bibitem[EJM{\etalchar{+}}14]{ErnstJMDPRKBBHVW2014}
Michael~D. Ernst, Ren{\'e} Just, Suzanne Millstein, Werner Dietl, Stuart
Pernsteiner, Franziska Roesner, Karl Koscher, Paulo Barros, Ravi Bhoraskar,
Seungyeop Han, Paul Vines, and Edward~X. Wu.
\newblock Collaborative verification of information flow for a high-assurance
app store.
\newblock In {\em CCS 2014: Proceedings of the 21st ACM Conference on Computer
and Communications Security}, pages 1092--1104, Scottsdale, AZ, USA, November
2014.
\bibitem[ELM{\etalchar{+}}15]{ErnstLMSS2015}
Michael~D. Ernst, Alberto Lovato, Damiano Macedonio, Ciprian Spiridon, and
Fausto Spoto.
\newblock Boolean formulas for the static identification of injection attacks
in {Java}.
\newblock In {\em LPAR 2015: Proceedings of the 20th International Conference
on Logic for Programming, Artificial Intelligence, and Reasoning}, pages
130--145, Suva, Fiji, November 2015.
\bibitem[Ern08]{JSR308-2008-09-12}
Michael~D. Ernst.
\newblock {Type Annotations} specification ({JSR} 308).
\newblock \url{https://checkerframework.org/jsr308/}, September~12, 2008.
\bibitem[GDEG13]{GordonDEG2013}
Colin~S. Gordon, Werner Dietl, Michael~D. Ernst, and Dan Grossman.
\newblock {JavaUI}: Effects for controlling {UI} object access.
\newblock In {\em ECOOP 2013 --- Object-Oriented Programming, 27th European
Conference}, pages 179--204, Montpellier, France, July 2013.
\bibitem[Goe06]{Goetz2006:typedef}
Brian Goetz.
\newblock The pseudo-typedef antipattern: Extension is not type definition.
\newblock \url{https://www.ibm.com/developerworks/java/library/j-jtp02216/},
February~21, 2006.
\bibitem[GPB{\etalchar{+}}06]{Goetz2006}
Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug
Lea.
\newblock {\em Java Concurrency in Practice}.
\newblock Addison-Wesley, 2006.
\bibitem[HDME12]{HuangDME2012}
Wei Huang, Werner Dietl, Ana Milanova, and Michael~D. Ernst.
\newblock Inference and checking of object ownership.
\newblock In {\em ECOOP 2012 --- Object-Oriented Programming, 26th European
Conference}, pages 181--206, Beijing, China, June 2012.
\bibitem[HMDE12]{HuangMDE2012}
Wei Huang, Ana Milanova, Werner Dietl, and Michael~D. Ernst.
\newblock {ReIm} \& {ReImInfer}: Checking and inference of reference
immutability and method purity.
\newblock In {\em OOPSLA 2012, Object-Oriented Programming Systems, Languages,
and Applications}, pages 879--896, Tucson, AZ, USA, October 2012.
\bibitem[HP04]{HovemeyerP2004}
David Hovemeyer and William Pugh.
\newblock Finding bugs is easy.
\newblock In {\em OOPSLA Companion: Companion to Object-Oriented Programming
Systems, Languages, and Applications}, pages 132--136, Vancouver, BC, Canada,
October 2004.
\bibitem[HSP05]{HovemeyerSP2005}
David Hovemeyer, Jaime Spacco, and William Pugh.
\newblock Evaluating and tuning a static analysis to find null pointer bugs.
\newblock In {\em PASTE 2005: ACM SIGPLAN/SIGSOFT Workshop on Program Analysis
for Software Tools and Engineering (PASTE 2005)}, pages 13--19, Lisbon,
Portugal, September 2005.
\bibitem[LBR06]{LeavensBR2006:JML}
Gary~T. Leavens, Albert~L. Baker, and Clyde Ruby.
\newblock Preliminary design of {JML}: A behavioral interface specification
language for {Java}.
\newblock {\em ACM SIGSOFT Software Engineering Notes}, 31(3), March 2006.
\bibitem[PAC{\etalchar{+}}08]{PapiACPE2008}
Matthew~M. Papi, Mahmood Ali, Telmo~Luis {Correa~Jr.}, Jeff~H. Perkins, and
Michael~D. Ernst.
\newblock Practical pluggable types for {Java}.
\newblock In {\em ISSTA 2008, Proceedings of the 2008 International Symposium
on Software Testing and Analysis}, pages 201--212, Seattle, WA, USA, July
2008.
\bibitem[QTE08]{QuinonezTE2008}
Jaime Quinonez, Matthew~S. Tschantz, and Michael~D. Ernst.
\newblock Inference of reference immutability.
\newblock In {\em ECOOP 2008 --- Object-Oriented Programming, 22nd European
Conference}, pages 616--641, Paphos, Cyprus, July 2008.
\bibitem[SCSC18]{SteinCSC2018}
Benno Stein, Lazaro Clapp, Manu Sridharan, and Bor{-}Yuh~Evan Chang.
\newblock Safe stream-based programming with refinement types.
\newblock In {\em ASE 2018: Proceedings of the 33rd Annual International
Conference on Automated Software Engineering}, pages 565--576, Montpellier,
France, September 2018.
\bibitem[SDE12]{SpishakDE2012}
Eric Spishak, Werner Dietl, and Michael~D. Ernst.
\newblock A type system for regular expressions.
\newblock In {\em FTfJP: 14th Workshop on Formal Techniques for Java-like
Programs}, pages 20--26, Beijing, China, June 2012.
\bibitem[SDF{\etalchar{+}}11]{SampsonDFGCG2011}
Adrian Sampson, Werner Dietl, Emily Fortuna, Danushen Gnanapragasam, Luis Ceze,
and Dan Grossman.
\newblock {EnerJ}: Approximate data types for safe and general low-power
computation.
\newblock In {\em PLDI 2011: Proceedings of the {ACM} {SIGPLAN} 2011 Conference
on Programming Language Design and Implementation}, pages 164--174, San Jose,
CA, USA, June 2011.
\bibitem[SM11]{SummersM2011}
Alexander~J. Summers and Peter M{\"u}ller.
\newblock Freedom before commitment: A lightweight type system for object
initialisation.
\newblock In {\em OOPSLA 2011, Object-Oriented Programming Systems, Languages,
and Applications}, pages 1013--1032, Portland, OR, USA, October 2011.
\bibitem[TE05]{TschantzE2005}
Matthew~S. Tschantz and Michael~D. Ernst.
\newblock Javari: Adding reference immutability to {Java}.
\newblock In {\em OOPSLA 2005, Object-Oriented Programming Systems, Languages,
and Applications}, pages 211--230, San Diego, CA, USA, October 2005.
\bibitem[TPV10]{TangPJ2010}
Daniel Tang, Ales Plsek, and Jan Vitek.
\newblock Static checking of safety critical {Java} annotations.
\newblock In {\em JTRES 2010: 8th International Workshop on Java Technologies
for Real-time and Embedded Systems}, pages 148--154, Prague, Czech Republic,
August 2010.
\bibitem[VPEJ14]{VakilianPEJ2014}
Mohsen Vakilian, Amarin Phaosawasdi, Michael~D. Ernst, and Ralph~E. Johnson.
\newblock Cascade: A universal type qualifier inference tool.
\newblock Technical report, University of Illinois at Urbana-Champaign, Urbana,
IL, USA, September 2014.
\bibitem[WKSE14]{WeitzKSE2014}
Konstantin Weitz, Gene Kim, Siwakorn Srisakaokul, and Michael~D. Ernst.
\newblock A type system for format strings.
\newblock In {\em ISSTA 2014, Proceedings of the 2014 International Symposium
on Software Testing and Analysis}, pages 127--137, San Jose, CA, USA, July
2014.
\bibitem[WPM{\etalchar{+}}09]{WrigstadPMZV2009}
Tobias Wrigstad, Filip Pizlo, Fadi Meawad, Lei Zhao, and Jan Vitek.
\newblock Loci: Simple thread-locality for {J}ava.
\newblock In {\em ECOOP 2009 --- Object-Oriented Programming, 23rd European
Conference}, pages 445--469, Genova, Italy, July 2009.
\bibitem[ZPA{\etalchar{+}}07]{ZibinPAAKE2007}
Yoav Zibin, Alex Potanin, Mahmood Ali, Shay Artzi, Adam Kie{\.z}un, and
Michael~D. Ernst.
\newblock Object and reference immutability using {Java} generics.
\newblock In {\em ESEC/FSE 2007: Proceedings of the 11th European Software
Engineering Conference and the 15th {ACM} {SIGSOFT} Symposium on the
Foundations of Software Engineering}, pages 75--84, Dubrovnik, Croatia,
September 2007.
\bibitem[ZPL{\etalchar{+}}10]{ZibinPLAE2010}
Yoav Zibin, Alex Potanin, Paley Li, Mahmood Ali, and Michael~D. Ernst.
\newblock Ownership and immutability in generic {Java}.
\newblock In {\em OOPSLA 2010, Object-Oriented Programming Systems, Languages,
and Applications}, pages 598--617, Revo, NV, USA, October 2010.
\end{thebibliography}
|