|Text:||None. The course will be based on readings from the literature|
There will be about 5 weeks of lectures followed by a midterm. The remaining 6 weeks will be seminar format where students will survey literature and prepare reports. Students will take turns leading class discussions on the literature. Students will also do a project singley or in pairs, including a class presentation of the project. The marking scheme is:
This is a very general outline of topics for the first 5 weeks. The content of the remainder of the course depends on the papers chosen by the students.
This week will focus on Design Recovery as a topic, Design Models Organization and General Terminology
Slides: Monday Thursday
Singer, J., Lethbridge, T., Vinson, N. and Anquetil, N., "An Examination of Software Engineering Work Practices", CASCON '97, Toronto, October, pp. 209-223.
Lethbridge, T. and Singer, J. (1997), "Understanding Software Maintenance Tools: Some Empirical Research", Workshop on Empirical Studies of Software Maintenance (WESS 97), Bari Italy, October, pp. 157-162.
R. Ferenc, S. Sim, R. Holt , R. Koschke, T. GyimÃ³thy, "Towards a Standard Schema for C/C++", 8th Working Conference On Reverse Engineering (WCRE'01) , Stuttgart, Germany, October, pp. 49-58.
Slides: Monday Thurs
T. Lethbridge, E. Plödereder, S. Techelaar, C. Riva, P. Linos, S. Marchenko, â€œThe Dagstuhl Middle Modelâ€ [here]
Source Files: C, Java
Blackboard Pictures: B1, B2, B3, B4
H. Fahmy, R.C. Holt and J.R. Cordy, "Wins and Losses of Algebraic Transformations of Software Architectures", Proc. ASE'2001, IEEE 16th International Conference on Automated Software Engineering, San Diego, November 2001, pp. 51-62. [here]
Michael L. Van De Vanter, "The Documentary Structure of Source Code" Journal of Information and Software Technology, Elsevier, Volume 44, No 13, pp. 767-782
Queen's has a subscription to the Elsevier Journals. You must be on a Queen's Computer or using the secure proxy server in order to download the paper. Go to the Elsevier website. In the Journal or Book title search box, type "Information and Software Technology", then select Volume 44, Issue 13. You can then download the Van de Vanter Paper.
Vaclav Rajlich, N. Wilde, "The role of Concepts in Program Comprehension" Proc. 2002 International Workshop on Program Comprehension (IWPC'02), June 2002, Paris, 271-278.
I.T. Bowman, R. Holt, N.V. Brewster, "Linux as a Case Study: It's Extracted Software Architecture", Proc. 21st International Conference on Software Engineering (ICSE'99), May 1999, Los Angeles, pp. 555-563
Available from IEEE Xplore.
Slides: Monday Thurdsay
Bull, R.I.; Trevors, A.; Malton, A.J.; Godfrey, M.W. Semantic grep: regular expressions + relational abstraction 9th Working Conference on Reverse Engineering(WCRE 2002), October, 2002, Richmond, Virginia, pp. 267- 276.
Philipp Schugerl, "Scalable Clone Detection Using Description Logic" Proceeding IWSC '11 Proceedings of the 5th International Workshop on Software Clones, 201, pp 47-53 (Available at ACM digital library). Library access from Queen's IP address.
Monday of Week 7 is the Midterm Exam (2010 Exam)
Monday: Midterm Exam
Thursday: YJ,NA, AF, MG
Lawrie, Dawn, et al. "What's in a name? a study of identifiers." Program Comprehension, 2006. ICPC 2006. 14th IEEE International Conference on. IEEE, 2006.
Hassan, Ahmed E., and Richard C. Holt. "A reference architecture for web servers." Reverse Engineering, 2000. Proceedings. Seventh Working Conference on. IEEE, 2000.
A. Marcus, A. Sergeyev, V. Rajlich and J. I. Maletic, "An information retrieval approach to concept location in source code," 11th Working Conference on Reverse Engineering, 2004, pp. 214-223.
Heuzeroth, Dirk, et al. "Automatic design pattern detection." Program Comprehension, 2003. 11th IEEE International Workshop on. IEEE, 2003.
Monday: OH, JW, RB, AF
Design pattern recovery based on annotations
by Rasool, Ghulam; Philippow, Ilka; Mäder, Patrick
Advances in Engineering Software, 2010, Volume 41, Issue 4
Adams, Bram, Herman Tromp, Kris De Schutter, and Wolfgang De Meuter. "Design recovery and maintenance of build systems." N.p., 22 Oct. 2007. Web. <http://ieeexplore.ieee.org/document/4362624/>
Neeraj Sangal ,Ev Jordan,Vineet Sinha.Daniel Jackson,"Using Dependency Models to Manage Complex Software Architecture" In ACM Sigplan Notices (Vol. 40, No. 10, pp. 167-176). ACM.
Y. Tao, D. Han and S. Kim, "Writing Acceptable Patches: An Empirical Study of Open Source Project Patches," 2014 IEEE International Conference on Software Maintenance and Evolution, Victoria, BC, 2014, pp. 271-280.
Thursday: RS, KB, NA, MG
Software Maintenance and Evolution: a Roadmap by K.H. Bennett and V.T Rajlich
Tu, Qiang, and Michael W. Godfrey. "The build-time software architecture view." Software Maintenance, 2001. Proceedings. IEEE International Conference on. IEEE, 2001.
Yan Yan, Massimiliano Menarini, "Mining Software Contracts for Software Evolution" ICSME 2014
Lung, Chung-Horng. "Agile software architecture recovery through existing solutions and design patterns." proceedings of the 6th IASTED international conference on software engineering and applications. 2002.
Monday: AR, MG, RS, HK
(I appologize for the delay, for some reason the web server did not sync correctly).
“Cloning Considered Harmful” Considered Harmful by Cory Kapser and Michael W. Godfrey
Eshkevari, L., Dos Santos, F., Cordy, J. R., & Antoniol, G. (2015, March). Are PHP applications ready for Hack?. In Software Analysis, Evolution and Reengineering (SANER), 2015 IEEE 22nd International Conference on (pp. 63-72). IEEE.
Sneed, Harry M., and Chris Verhoef. "Reverse engineering a visual age application." Software Maintenance and Evolution (ICSME), 2015 IEEE International Conference on. IEEE, 2015.
Timothy C. Lethbridge & Nicolas Anquetil, "Architecture of a Source Code Exploration Tool: A Software Engineering Case Study"
Thursday: NA, RB, JW, AF
Thomas D. LaToza, Gina Venolia, Robert DeLine “Maintaining mental models: a study of developer work habits” ICSE '06 Proceedings of the 28th international conference on Software engineering, Pages 492-501
V. Wahler, D. Seipel, J. Wolff and G. Fischer, "Clone detection in source code by frequent itemset techniques," Source Code Analysis and Manipulation, Fourth IEEE International Workshop on, Chicago, IL, 2004, pp. 128-135.
Lutellier, T., Chollak, D., Garcia, J., Tan, L., Rayside, D., Medvidovic, N. and Kroeger, R., 2015, May. Comparing software architecture recovery techniques using accurate dependencies. In Software Engineering (ICSE), 2015 IEEE/ACM 37th IEEE International Conference on (Vol. 2, pp. 69-78). IEEE.
Garcia, Joshua, et al. "Identifying architectural bad smells." Software Maintenance and Reengineering, 2009. CSMR'09. 13th European Conference on. IEEE, 2009.
Monday: AR, OH, RS, RB
Martin, D. H., Cordy, J. R., Adams, B., & Antoniol, G. (2015, May). Make it simple: An empirical analysis of GNU Make feature use in open source projects. In Proceedings of the 2015 IEEE 23rd International Conference on Program Comprehension (pp. 207-217). IEEE Press.
Gueheneuc, Y.-G., K. Mens, and R. Wuyts. "A comparative framework for design recovery tools." Conference on Software Maintenance and Reengineering (CSMR'06) (2006): n. pag. Web.
Computing Ripple Effect for Object Oriented Software by Haider Bilal and Sue Black
Bhuricha Deen Sethanandha, Bart Massey, William jones “Managing open source contributions for software project sustainability” Technology Management for Global Economic Growth (PICMET), 2010 Proceedings of PICMET '10:
Thursday: KB, YJ, HK, JW
Garcia, Joshua, et al. "Obtaining ground-truth software architectures." Proceedings of the 2013 International Conference on Software Engineering. IEEE Press, 2013.
Jiang, Yujuan, Bram Adams, and Daniel M. German. "Will my patch make it? and how fast? case study on the linux kernel." Mining Software Repositories (MSR), 2013 10th IEEE Working Conference on. IEEE, 2013.
A Fine-Grained Analysis on the Evolutionary Coupling of Cloned Code - Manishankar Mandal, C K Roy, Kevin A. Schneider - 23rd March
Gerald C. Gannod, Betty H.C Cheng, " A framework for classifying and comparing software reverse engineering and design recovery techniques"
Monday: AF, OH, RS, KB
Model Clone Detector Evaluation Using Mutation Analysis - Mathew Stephen
J. H. Jahnke, J. P. Wadsack and A. Zundorf, "A history concept for design recovery tools," Proceedings of the Sixth European Conference on Software Maintenance and Reengineering, Budapest, 2002, pp. 37-46.
A Best Practice of Java-Based Applications Migration with Variety of Software Solutions by Yung-Shih Wang and Chih-Chin Yang
M. Codoban, S. S. Ragavan, D. Dig and B. Bailey, "Software history under the lens: A study on why and how developers examine it," 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME), Bremen, 2015, pp. 1-10.
Thursday: HK, YJ, AR, JW
Haiduc, S., Aponte, J. and Marcus, A., 2010, May. Supporting program comprehension with source code summarization. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering-Volume 2 (pp. 223-226). ACM.
Tian, Yuan, et al. "What are the characteristics of high-rated apps? a case study on free android applications." Software Maintenance and Evolution (ICSME), 2015 IEEE International Conference on. IEEE, 2015.
Haiduc, S., & Marcus, A. (2008, June). On the use of domain terms in source code. In Program Comprehension, 2008. ICPC 2008. The 16th IEEE International Conference on (pp. 113-122). IEEE.
Jonathan Sillito, Gail C. Murphy and Kris De Volder, “Questions Programmers Ask During Software Evolution Tasks”
Monday: HK, OH, RB, KB
J. Sadiq, T. Waheed “Reverse engineering & design recovery: An evaluation of design recovery techniques”, Computer Networks and Information Technology (ICCNIT), 2011
T. Dean and Yuling Chen, "Design recovery of a two level system," 11th IEEE International Workshop on Program Comprehension, 2003., 2003, pp. 23-32.
Junji Shimagaki, Yasutaka Kamei, Shane McIntosh, David Pursehouse, Naoyasu Ubayashi, “ Why are commits being reverted? “ , 2016 IEEE Conference on Software Maintenance and Evolution
CoMoGen: An approach to locate relevant task context by combining search and navigation - Katja Kevic, Thomas Fritz , David C. Shepherd - ICSME 2014
Thursday: YJ, NA, AR, MG
Sayyad-Shirabad, J., Lethbridge, T. C., & Lyon, S. (1997, March). A little knowledge can go a long way towards program understanding. In Program Comprehension, 1997. IWPC'97. Proceedings., Fifth Iternational Workshop on (pp. 111-117). IEEE.
Asif, Nadim. "Reverse Engineering Methodology to Recover the Design Artifacts: A Case Study." Software Engineering Research and Practice. 2003.
Christakis, Maria, and Christian Bird. "What developers want and need from program analysis: An empirical study." Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering. ACM, 2016.