@article {Simula.simula.1460,
	title = {Quantifying the Effect of Code Smells on Maintenance Effort},
	journal = {IEEE Transactions on Software Engineering},
	volume = {39},
	number = {8},
	year = {2012},
	pages = {1144-1156},
	abstract = {Context: Code smells are assumed to indicate bad design that leads to less maintainable code. However, this assumption has not been investigated in controlled studies with professional software developers. Aim: Our aim was to investigate the relationship between code smells and maintenance effort. Method: Six developers were hired to perform three maintenance tasks each on four functionally equivalent Java systems originally implemented by different companies. Each developer spent three to four weeks. In total, they modified 298 Java files in the four systems. An Eclipse IDE plug-in measured the exact amount of time a developer spent maintaining each file. A regression was used to explain the effort using file properties, including the number of smells. Results: None of the 12 investigated smells was significantly associated with increased effort after we adjusted for file size and the number of changes; Refused Bequest was significantly associated with decreased effort. File size and the number of changes explained most of the variation in effort. Conclusion: The effects of code smells on maintenance effort are limited. In general, to reduce maintenance effort, focusing on code size and the work practices that limit the number of changes may be more beneficial than refactoring code smells.},
	doi = {10.1109/TSE.2012.89},
	author = {Sj{\o}berg, Dag Ingar Kondrup and Yamashita, Aiko and Anda, Bente Cecilie Dahlum and Mockus, Audris and Dyb{\r a}, Tore}
}
@article {Simula.SE.195,
	title = {Variability and Reproducibility in Software Engineering: a Study of Four Companies That Developed the Same System},
	journal = {IEEE Transactions on Software Engineering},
	volume = {35},
	number = {3},
	year = {2009},
	pages = {407-429},
	publisher = {IEEE},
	abstract = {The scientific study of a phenomenon requires it to be reproducible. Mature engineering industries are recognized by projects and products that are, to some extent, reproducible. However, reproducibility in software engineering (SE) has not been thoroughly investigated, although generalizing the results of SE studies depend on SE phenomena being reproducible. We report a longitudinal multiple-case study of variations and reproducibility in software development, from bidding to deployment, on the basis of the same requirements specification. In a call for tender to 81 consultancy companies, 35 responded. Four of them developed the system independently. The firm price, planned schedule, and planned development process, had, respectively, \&ldquo;low\&rdquo;, \&ldquo;low\&rdquo;, and \&ldquo;medium\&rdquo; reproducibility. The contractor\&$\#$39;s internal costs, actual lead time, and schedule overrun of the projects had, respectively, \&ldquo;medium\&rdquo;, \&ldquo;high\&rdquo;, and \&ldquo;low\&rdquo; reproducibility. The quality dimensions of the delivered products, reliability, usability, and maintainability had, respectively, \&ldquo;low\&rdquo;, \&ldquo;high\&rdquo;, and \&ldquo;low\&rdquo; reproducibility. We proposed a coarse-grained model that uses software process inputs to predict key project outcomes. The comparisons of the model\&$\#$39;s predictions with the actual outcomes indicate some reproducibility. This initial work may contribute to developing more accurate models, but making SE more reproducible remains a great challenge for SE research, education, and industry.},
	doi = {10.1109/TSE.2008.89 },
	author = {Anda, Bente Cecilie Dahlum and Sj{\o}berg, Dag Ingar Kondrup and Mockus, Audris}
}
