@article {Karahasanovic.2006.4,
	title = {Comprehension Strategies and Difficulties in Maintaining Object-Oriented Systems: an Explorative Study},
	journal = {Journal of Systems and Software},
	volume = {80},
	number = {9},
	year = {2007},
	month = {September},
	pages = {1541-1559},
	abstract = {Program comprehension is a major time-consuming activity in software maintenance. Understanding the underlying mechanisms of program comprehension is therefore necessary for improving software maintenance. It has been argued that acquiring knowledge of how a program works before modifying it (the systematic strategy) is unrealistic in larger programs. The goal of the experiment presented in this paper is to explore this claim. The experiment examines strategies for program comprehension and cognitive difficulties of developers who maintain an unfamiliar object-oriented system. The subjects were 38 students in their third or fourth year of study in computer science. They used a professional Java tool to perform several maintenance tasks on a medium-size Java application system in a six-hour long experiment. The results showed that the subjects who applied the systematic strategy were more likely to produce correct solutions. Two major groups of difficulties were related to the comprehension of the application structure, namely to the understanding of GUI implementation and OO comprehension and programming. Acquisition of strategic knowledge might improve program comprehension in software maintenance.},
	author = {Karahasanovic, Amela and Annette Kristin {Levine} and Thomas, Richard}
}
@article {Karahasanovic.2005.3,
	title = {Comprehension Strategies and Difficulties in Maintaining Object-Oriented Systems: an Explorative Study},
	journal = {Journal of Systems and Software},
	volume = {80},
	number = {11},
	year = {2005},
	pages = {1541-1559},
	author = {Karahasanovic, Amela and Annette Kristin {Levine} and Thomas, R.}
}
@mastersthesis {Levine.2005.1,
	title = {A Study of Comprehension Strategies and Difficulties by Novice Programmers Performing Maintenance Tasks on Object-Oriented Systems},
	year = {2005},
	note = {Supervisors Amela Karahasanovic and Dag Sj{\o}berg},
	month = {March},
	publisher = {Department of Informatics, University of Oslo},
	type = {masters},
	author = {Annette Kristin {Levine}}
}
@techreport {Karahasanovic.2004.1,
	title = {A Controlled Experiment to Evaluate Feedback-Collection Tool in Software Engineering Research, Technical Report 2004-8, Simula Research Laboratory},
	number = {2004-8},
	year = {2004},
	note = {Technical Report 2004-8, Simula Research Laboratory},
	publisher = {Simula Research Laboratory},
	abstract = {Objective: To compare the feedback-collection method with think-aloud methods regarding effects on subjects{\textquoteright} performance and type of collected information in software engineering experiments. Rationale: Think-aloud methods provide a rich set of data about experiments but are time-consuming in data collection. Alternatively, subjects can be interrupted during experiments and asked for written feedback. However, there has been no systematic comparison of these methods. Design of study: We conducted a controlled experiment to evaluate three methods for qualitative data collection: feedback-collection, concurrent think-aloud and retrospective think-aloud. Results: There is no significant difference in subjects{\textquoteright} performance for the three data collection methods. The types of information gathered by these three methods differed; in particular, the feedback collection method provided more explanations about the problem-solving process and more information about subjects{\textquoteright} perceptions of the experiment. Conclusions: This research confirms that the feedback-collection method is an appropriate data collection method in software engineering experiments.},
	author = {Karahasanovic, Amela and Unni Nyhamar {Hinkel} and Sj{\o}berg, Dag Ingar Kondrup and Annette Kristin {Levine} and Thomas, Richard}
}
