Software Engineering Reading List

CORE LIST:

  1. Writing Good Software Engineering Research Papers by Mary Shaw (ICSE 2003) http://www-2.cs.cmu.edu/~Compose/shaw-icse03.pdf
  2. A rational design process: How and why to fake it by D. Parnas and P. Clements, IEEE Transactions on Software Engineering, 12(2), Feb. 1986, http://users.ece.utexas.edu/~perry/education/SE-Intro/fakeit.pdf
  3. A Survey of Software Refactoring by Tom Mens, Tom Tourwe (IEEE Trans. Software Eng. 30(2): 126-139, 2004) http://homepages.cwi.nl/~tourwe/articles/tse2004.pdf (through library http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1265817&isnumber=28308)
  4. Toward a Theory of Test Data Selection by John B. Goodenough and Susan L. Gerhart (IEEE TSE 1(2)), 1972 http://portal.acm.org/ft_gateway.cfm?id=808473&type=pdf
  5. An overview of JML tools and applications by Lilian Burdy, Yoonsik Cheon, David R. Cok, Michael D. Ernst, Joseph R. Kiniry, Gary T. Leavens, K. Rustan M. Leino, and Erik Poll (STTT 7(3)), pp. 212-232 http://research.microsoft.com/en-us/um/people/leino/papers/jml-sttt.pdf (through library http://www.springerlink.com/content/t6qp52glycr4jx68/fulltext.pdf DOI 10.1007/s10009-004-0167-4)

IN-DEPTH LIST:DESIGN (3)

  1. Design Patterns: Abstraction and Reuse of Object-Oriented Design by Erich Gamma, Richard Helm, Ralph E. Johnson, and John Vlissides ECOOP 1993 (LNCS 707), pp. 406-431http://www.ifs.uni-linz.ac.at/~ecoop/cd/papers/0707/07070406.pdf
  2. An Introduction to Software Architecture by David Garlan and Mary Shaw Carnegie Mellon University Technical Report CMU-CS-94-166, January 1994 http://www.cs.cmu.edu/afs/cs/project/able/ftp/intro_softarch/intro_softarch.pdf
  3. Reflecting on Aspect-Oriented Programming, Metaprogramming, and Adaptive Distributed Monitoring by Bill Donkervoet and Gul Agha (FMCO 2007) http://osl.cs.uiuc.edu/docs/fmco2007/fmco07.pdf

REFACTORING (1)

  1. JunGL: a Scripting Language for Refactoring by Mathieu Verbaere, Ran Ettinger and Oege de Moor (ICSE 2006) http://progtools.comlab.ox.ac.uk/projects/jungl/resources/icse2006JunGL.pdf

TESTING (1)

  1. Combining Unit-level Symbolic Execution and System-level Concrete Execution for Testing NASA Software by Corina S. Pasareanu, Peter C. Mehlitz, David H. Bushnell, Karen Gundy-Burlet, Michael R. Lowry, Suzette Person, Mark Pape (ISSTA 2008) http://ti.arc.nasa.gov/m/profile/pcorina/papers/fp047-pasareanu.pdf

STATIC ANALYSIS (2)

  1. LCLint: A Tool for Using Specifications to Check Code by David Evans, John V. Guttag, James J. Horning, Yang Meng Tan (FSE 1994), pp. 87-96 http://www.cs.virginia.edu/~evans/fse94.pdf
  2. Predicting accurate and actionable static analysis warnings: an experimental approach by Joseph R. Ruthruff, John Penix, J. David Morgenthaler, Sebastian Elbaum, and Gregg Rothermel (ICSE 2008) http://portal.acm.org/ft_gateway.cfm?id=1368135&type=pdf

DYNAMIC ANALYSIS (3)

  1. Dynamically Discovering Likely Program Invariants to Support Program Evolution by Michael D. Ernst, Jake Cockrell, William G. Griswold, David Notkin (ICSE 1999), pp. 213-224 http://portal.acm.org/ft_gateway.cfm?id=302467&type=pdf
  2. Isolating Cause-Effect Chains from Computer Programs by Andreas Zeller (FSE 2002) http://www.st.cs.uni-saarland.de/papers/fse2002/p201-zeller.pdf
  3. Finding and Reproducing Heisenbugs in Concurrent Programs by Madanlal Musuvathi, Shaz Qadeer, Thomas Ball, Gerard Basler, Piramanayagam Arumuga Nainar, Iulian Neamtiu (OSDI 2008), pp. 267-280 http://www.usenix.com/events/osdi08/tech/full_papers/musuvathi/musuvathi.pdf

RESEARCH PROCESS (1)

  1. Selecting Empirical Methods for Software Engineering Research by Steve Easterbrook, Janice Singer, Margaret-Anne Storey, Daniela Damian (GAESE 2007), pp. 285-311 http://www.cs.toronto.edu/~sme/papers/2007/SelectingEmpiricalMethods.pdf

OTHER TOPICS (4)

  1. Reverse engineering and design recovery: A taxonomy by E. J. Chikofsky and J. H. Cross II (IEEE Software, 7(1):13-17, 1990) http://www.weidl-rektenwald.at/swe/chikofsky90.pdf
  2. Palantir: Raising Awareness among Configuration Management Workspaces by Anita Sarma, Zahra Noroozi, Andre van der Hoek (ICSE 2003) http://www.ics.uci.edu/~andre/papers/C25.pdf
  3. Barry W. Boehm, Richard Turner: Management Challenges to Implementing Agile Processes in Traditional Development Organizations. IEEE Software 22(5): 30-39 (2005) http://doi.ieeecomputersociety.org/10.1109/MS.2005.129
  4. Software Metrics and Reliability by Linda Rosenberg, Ted Hammer, and Jack Shaw (ISSRE 1998) http://satc.gsfc.nasa.gov/support/ISSRE_NOV98/software_metrics_and_reliability.html

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer