skip to main content
Skip header Section
Guide to Advanced Empirical Software EngineeringOctober 2007
Publisher:
  • Springer-Verlag
  • Berlin, Heidelberg
ISBN:978-1-84800-043-8
Published:01 October 2007
Skip Bibliometrics Section
Bibliometrics
Abstract

No abstract available.

Cited By

  1. ACM
    Alhirabi N, Beaumont S, Rana O and Perera C (2024). Designing Privacy-Aware IoT Applications for Unregulated Domains, ACM Transactions on Internet of Things, 5:2, (1-32), Online publication date: 31-May-2024.
  2. Nazir R, Bucaioni A and Pelliccione P (2024). Architecting ML-enabled systems, Journal of Systems and Software, 207:C, Online publication date: 1-Jan-2024.
  3. Gleirscher M, van de Pol J and Woodcock J (2023). A manifesto for applicable formal methods, Software and Systems Modeling (SoSyM), 22:6, (1737-1749), Online publication date: 1-Dec-2023.
  4. ACM
    Yang L, Xu J, Zhang Y, Zhang H and Bacchelli A EvaCRC: Evaluating Code Review Comments Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (275-287)
  5. ACM
    Davis M, Aghayi E, Latoza T, Wang X, Myers B and Sunshine J (2023). What’s (Not) Working in Programmer User Studies?, ACM Transactions on Software Engineering and Methodology, 32:5, (1-32), Online publication date: 30-Sep-2023.
  6. ACM
    Ribeiro B, Costa L, Outão J and Santos R Towards Power Relationship Dynamics and Community Smells in the Proprietary Software Ecosystem Proceedings of the XXXVII Brazilian Symposium on Software Engineering, (142-147)
  7. Malavolta I, Nirghin K, Scoccia G, Romano S, Lombardi S, Scanniello G and Lago P (2023). JavaScript Dead Code Identification, Elimination, and Empirical Assessment, IEEE Transactions on Software Engineering, 49:7, (3692-3714), Online publication date: 1-Jul-2023.
  8. Tan J, Feitosa D and Avgeriou P (2023). The lifecycle of Technical Debt that manifests in both source code and issue trackers, Information and Software Technology, 159:C, Online publication date: 1-Jul-2023.
  9. Trinkenreich B, Stol K, Sarma A, German D, Gerosa M and Steinmacher I Do I Belong? Modeling Sense of Virtual Community Among Linux Kernel Contributors Proceedings of the 45th International Conference on Software Engineering, (319-331)
  10. Scoccia G, Eramo R and Autili M (2023). Studying users’ perception of IoT mobile companion apps, Pervasive and Mobile Computing, 92:C, Online publication date: 1-May-2023.
  11. Fontão A, Cleger‐Tamayo S, Wiese I, Pereira dos Santos R and Claudio Dias‐Neto A (2023). A Developer Relations (DevRel) model to govern developers in Software Ecosystems, Journal of Software: Evolution and Process, 35:5, Online publication date: 25-Apr-2023.
  12. ACM
    Ribeiro D Understanding the relationships between the perceptions of burnout and instability in Software Engineering Proceedings of the XXXVI Brazilian Symposium on Software Engineering, (58-67)
  13. ACM
    Silva M, Teixeira L, Silva A, Gomes G, Barreto L, Gadelha B and Conte T Developers in focus! Developer Experience Analysis in a Collaborative Modeling Tool Proceedings of the XXXVI Brazilian Symposium on Software Engineering, (68-77)
  14. ACM
    Amorim S, Mcgregor J, Almeida E and Garcia Chavez C Connecting Non-Functional Requirements to Open Source Ecosystems Health Proceedings of the 16th Brazilian Symposium on Software Components, Architectures, and Reuse, (76-80)
  15. ACM
    Cordeiro A An Open Science-Based Framework for Managing Experimental Data in Software Engineering Proceedings of the 26th International Conference on Evaluation and Assessment in Software Engineering, (342-346)
  16. ACM
    van Hasselt M, Huijzendveld K, Noort N, de Ruijter S, Islam T and Malavolta I Comparing the Energy Efficiency of WebAssembly and JavaScript in Web Applications on Android Mobile Devices Proceedings of the 26th International Conference on Evaluation and Assessment in Software Engineering, (140-149)
  17. ACM
    Kudrjavets G, Nagappan N and Rastogi A Do small code changes merge faster? Proceedings of the 19th International Conference on Mining Software Repositories, (537-548)
  18. ACM
    Kudrjavets G, Kumar A, Nagappan N and Rastogi A Mining code review data to understand waiting times between acceptance and merging Proceedings of the 19th International Conference on Mining Software Repositories, (579-590)
  19. Tian F, Wang T, Liang P, Wang C, Khan A and Babar M (2021). The impact of traceability on software maintenance and evolution, Journal of Software: Evolution and Process, 33:10, Online publication date: 3-Oct-2021.
  20. de Carvalho Almeida W A model using agile methodologies for defining metrics to be used by the public sector in Brazil to set remuneration for outsourced software development Proceedings of the 43rd International Conference on Software Engineering: Companion Proceedings, (272-274)
  21. Huang Y, Ford D and Zimmermann T Leaving My Fingerprints Proceedings of the 43rd International Conference on Software Engineering, (1020-1032)
  22. Ali N, Hong J and Chung L (2020). Social network sites and requirements engineering, Journal of Software: Evolution and Process, 33:4, Online publication date: 1-Apr-2021.
  23. Tan J, Feitosa D, Avgeriou P and Lungu M (2020). Evolution of technical debt remediation in Python, Journal of Software: Evolution and Process, 33:4, Online publication date: 1-Apr-2021.
  24. Noei E, Zhang F and Zou Y (2021). Too Many User-Reviews! What Should App Developers Look at First?, IEEE Transactions on Software Engineering, 47:2, (367-378), Online publication date: 1-Feb-2021.
  25. Gleirscher M and Marmsoler D (2020). Formal methods in dependable systems engineering: a survey of professionals from Europe and North America, Empirical Software Engineering, 25:6, (4473-4546), Online publication date: 1-Nov-2020.
  26. Rashid M, Clarke P and O'Connor R (2019). A mechanism to explore proactive knowledge retention in open source software communities, Journal of Software: Evolution and Process, 32:3, Online publication date: 2-Mar-2020.
  27. Wohlrab R, Knauss E, Steghöfer J, Maro S, Anjorin A and Pelliccione P (2018). Collaborative traceability management: a multiple case study from the perspectives of organization, process, and culture, Requirements Engineering, 25:1, (21-45), Online publication date: 1-Mar-2020.
  28. Moyón F, Bayr C, Mendez D, Dännart S and Beckers K A Light-Weight Tool for the Self-assessment of Security Compliance in Software Development – An Industry Case SOFSEM 2020: Theory and Practice of Computer Science, (403-416)
  29. Wang C, Daneva M, van Sinderen M and Liang P (2019). A systematic mapping study on crowdsourced requirements engineering using user feedback, Journal of Software: Evolution and Process, 31:10, Online publication date: 25-Oct-2019.
  30. ACM
    Njima M Architecting for scale Proceedings of the 13th European Conference on Software Architecture - Volume 2, (55-58)
  31. ACM
    Njima M and Demeyer S Value-based technical debt management: an exploratory case study in start-ups and scale-ups Proceedings of the 2nd ACM SIGSOFT International Workshop on Software-Intensive Business: Start-ups, Platforms, and Ecosystems, (54-59)
  32. Kolesnikov S, Siegmund N, Kästner C and Apel S (2019). On the relation of control-flow and performance feature interactions, Empirical Software Engineering, 24:4, (2410-2437), Online publication date: 1-Aug-2019.
  33. Kumar R, Bansal C, Maddila C, Sharma N, Martelock S and Bhargava R Building sankie Proceedings of the 1st International Workshop on Bots in Software Engineering, (48-53)
  34. ACM
    Yang C, Liang P and Avgeriou P Integrating Agile Practices into Architectural Assumption Management Proceedings of the 23rd International Conference on Evaluation and Assessment in Software Engineering, (156-165)
  35. ACM
    Mayer B and Weinreich R The effect of gamification on software architecture knowledge management Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, (1731-1740)
  36. ACM
    Razzaq A, Wasala A, Exton C and Buckley J (2018). The State of Empirical Evaluation in Static Feature Location, ACM Transactions on Software Engineering and Methodology, 28:1, (1-58), Online publication date: 23-Feb-2019.
  37. ACM
    Njima M and Demeyer S An Exploratory Study on Migrating Single-Products towards Product Lines in Startup Contexts Proceedings of the 13th International Workshop on Variability Modelling of Software-Intensive Systems, (1-6)
  38. ACM
    Franco N, Fidalgo R, Cunha P, Nóbrega O and Ramos A Customizing Usability Heuristics for Augmentative and Alternative Communication Systems Proceedings of the Euro American Conference on Telematics and Information Systems, (1-7)
  39. ACM
    Noei E, Da Costa D and Zou Y Winning the app production rally Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (283-294)
  40. ACM
    de O. Passos A, de Freitas Farias M, de Mendonça Neto M and Spínola R A Study on Identification of Documentation and Requirement Technical Debt through Code Comment Analysis Proceedings of the XVII Brazilian Symposium on Software Quality, (21-30)
  41. ACM
    Pourali P and Atlee J An Empirical Investigation to Understand the Difficulties and Challenges of Software Modellers When Using Modelling Tools Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, (224-234)
  42. ACM
    Krismayer T Automatic mining of constraints for monitoring systems of systems Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, (924-927)
  43. Montgomery L, Damian D, Bulmer T and Quader S (2018). Customer support ticket escalation prediction using feature engineering, Requirements Engineering, 23:3, (333-355), Online publication date: 1-Sep-2018.
  44. ACM
    Stol K and Fitzgerald B (2018). The ABC of Software Engineering Research, ACM Transactions on Software Engineering and Methodology, 27:3, (1-51), Online publication date: 31-Jul-2018.
  45. ACM
    Pascarella L, Geiger F, Palomba F, Di Nucci D, Malavolta I and Bacchelli A Self-reported activities of Android developers Proceedings of the 5th International Conference on Mobile Software Engineering and Systems, (144-155)
  46. ACM
    Scoccia G, Ruberto S, Malavolta I, Autili M and Inverardi P An investigation into Android run-time permissions from the end users' perspective Proceedings of the 5th International Conference on Mobile Software Engineering and Systems, (45-55)
  47. khan M, iftikhar S, Iqbal M and Sherin S (2018). Empirical studies omit reporting necessary details, Computer Standards & Interfaces, 55:C, (156-170), Online publication date: 1-Jan-2018.
  48. Fonseca L, Soares S and Seaman C Describing what experimental software engineering experts do when they design their experiments Proceedings of the 11th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, (211-216)
  49. Verdecchia R, Procaccianti G, Malavolta I, Lago P and Koedijk J Estimating energy impact of software releases and deployment strategies Proceedings of the 11th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, (257-266)
  50. ACM
    Fontão A, Lima F, Ábia B, dos Santos R and Dias-Neto A Hearing the Voice of Developers in Mobile Software Ecosystems Proceedings of the XXXI Brazilian Symposium on Software Engineering, (4-13)
  51. ACM
    Santos A, do Carmo Machado I and de Almeida E Aspects influencing feature-oriented software comprehension Proceedings of the 11th Brazilian Symposium on Software Components, Architectures, and Reuse, (1-10)
  52. Bastos J, da Mota Silveira Neto P, OLeary P, de Almeida E and de Lemos Meira S (2017). Software product lines adoption in small organizations, Journal of Systems and Software, 131:C, (112-128), Online publication date: 1-Sep-2017.
  53. Enrquez J, Domnguez-Mayo F, Escalona M, Ross M and Staples G (2017). Entity reconciliation in big data sources, Expert Systems with Applications: An International Journal, 80:C, (14-27), Online publication date: 1-Sep-2017.
  54. ACM
    Hilton M, Nelson N, Tunnell T, Marinov D and Dig D Trade-offs in continuous integration: assurance, security, and flexibility Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, (197-207)
  55. ACM
    Wang C, Luo Z, Lin L and Daneva M How to Reduce Software Development Cost with Personnel Assignment Optimization Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering, (270-279)
  56. ACM
    Lu M and Liang P Automatic Classification of Non-Functional Requirements from Augmented App User Reviews Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering, (344-353)
  57. ACM
    Fontão A, Ekwoge O, Santos R and Dias-Neto A Facing up the primary emotions in Mobile Software Ecosystems from Developer Experience Proceedings of the 2nd Workshop on Social, Human, and Economic Aspects of Software, (5-11)
  58. Malavolta I, Procaccianti G, Noorland P and Vukmirović P Assessing the impact of service workers on the energy efficiency of progressive web apps Proceedings of the 4th International Conference on Mobile Software Engineering and Systems, (35-45)
  59. Joblin M, Apel S, Hunsen C and Mauerer W Classifying developers into core and peripheral Proceedings of the 39th International Conference on Software Engineering, (164-174)
  60. van Heesch U, Jansen A, Pei-Breivold H, Avgeriou P and Manteuffel C (2017). Platform design space exploration using architecture decision viewpoints-A longitudinal study, Journal of Systems and Software, 124:C, (56-81), Online publication date: 1-Feb-2017.
  61. ACM
    da Silva Amorim S, McGregor J, de Almeida E and von Flach G. Chavez C Software ecosystems architectural health Proccedings of the 10th European Conference on Software Architecture Workshops, (1-7)
  62. ACM
    Schroeder J, Berger C, Staron M, Herpel T and Knauss A Unveiling anomalies and their impact on software quality in model-based automotive software revisions with software metrics and domain experts Proceedings of the 25th International Symposium on Software Testing and Analysis, (154-164)
  63. ACM
    Mesh E, Tolar D and Hawker J Exploring process improvement decisions to support a rapidly evolving developer base Proceedings of the 38th International Conference on Software Engineering Companion, (777-780)
  64. ACM
    Uesbeck P, Stefik A, Hanenberg S, Pedersen J and Daleiden P An empirical study on the impact of C++ lambdas and programmer experience Proceedings of the 38th International Conference on Software Engineering, (760-771)
  65. Kanij T, Merkel R and Grundy J An empirical investigation of personality traits of software testers Proceedings of the Eighth International Workshop on Cooperative and Human Aspects of Software Engineering, (1-7)
  66. Stol K and Fitzgerald B A holistic overview of software engineering research strategies Proceedings of the Third International Workshop on Conducting Empirical Studies in Industry, (47-54)
  67. Bastos J, da Mota Silveira Neto P, de Almeida E and de Lemos Meira S Software product lines adoption Proceedings of the Third International Workshop on Conducting Empirical Studies in Industry, (35-42)
  68. Schroeder J, Holzner D, Berger C, Hoel C, Laine L and Magnusson A Design and evaluation of a customizable multi-domain reference architecture on top of product lines of self-driving heavy vehicles Proceedings of the 37th International Conference on Software Engineering - Volume 2, (189-198)
  69. ACM
    Schroeder J, Berger C and Herpel T Challenges from Integration Testing using Interconnected Hardware-in-the-Loop Test Rigs at an Automotive OEM Proceedings of the First International Workshop on Automotive Software Architecture, (39-42)
  70. Murphy-Hill E, Zimmermann T, Bird C and Nagappan N (2015). The Design Space of Bug Fixes and How Developers Navigate It, IEEE Transactions on Software Engineering, 41:1, (65-81), Online publication date: 1-Jan-2015.
  71. Berger C Scenario pattern matching in large sensor recordings with simulation models for cyber-physical systems Proceedings of the 2014 Summer Simulation Multiconference, (1-8)
  72. Kazemi A, Rostampour A, Haghighi H and Abbasi S (2014). A conceptual cohesion metric for service oriented systems, Journal of Web Engineering, 13:3-4, (302-332), Online publication date: 1-Jul-2014.
  73. ACM
    Lemos O, de Paula A, Zanichelli F and Lopes C Thesaurus-based automatic query expansion for interface-driven code search Proceedings of the 11th Working Conference on Mining Software Repositories, (212-221)
  74. ACM
    Muşlu K, Bird C, Nagappan N and Czerwonka J Transition from centralized to decentralized version control systems: a case study on reasons, barriers, and outcomes Proceedings of the 36th International Conference on Software Engineering, (334-344)
  75. ACM
    Berger C Saving virtual testing time for CPS by analyzing code coverage on the example of a lane-following algorithm Proceedings of the 4th ACM SIGBED International Workshop on Design, Modeling, and Evaluation of Cyber-Physical Systems, (7-10)
  76. ACM
    Hubaux A, Tun T and Heymans P (2013). Separation of concerns in feature diagram languages, ACM Computing Surveys, 45:4, (1-23), Online publication date: 1-Aug-2013.
  77. Angelov S, Trienekens J and Kusters R Software reference architectures - exploring their usage and design in practice Proceedings of the 7th European conference on Software Architecture, (17-24)
  78. Ardito L Energy aware self-adaptation in mobile systems Proceedings of the 2013 International Conference on Software Engineering, (1435-1437)
  79. Murphy-Hill E, Zimmermann T, Bird C and Nagappan N The design of bug fixes Proceedings of the 2013 International Conference on Software Engineering, (332-341)
  80. Souza I, Da Silva Gomes G, Da Mota Silveira Neto P, Do Carmo Machado I, De Almeida E and De Lemos Meira S (2013). Evidence of software inspection on feature specification for software product lines, Journal of Systems and Software, 86:5, (1172-1190), Online publication date: 1-May-2013.
  81. ACM
    Farooq S and Quadri S An externally replicated experiment to evaluate software testing methods Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering, (72-77)
  82. ACM
    Garousi G, Garousi V, Moussavi M, Ruhe G and Smith B Evaluating usage and quality of technical software documentation Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering, (24-35)
  83. Shekhovtsov V, Mayr H and Kop C Stakeholder involvement into quality definition and evaluation for service-oriented systems Proceedings of the First International Workshop on User Evaluation for Software Engineering Researchers, (49-52)
  84. Kanij T, Merkel R and Grundy J Performance assessment metrics for software testers Proceedings of the 5th International Workshop on Co-operative and Human Aspects of Software Engineering, (63-65)
  85. Vetro' A Using automatic static analysis to identify technical debt Proceedings of the 34th International Conference on Software Engineering, (1613-1615)
  86. Lemos O, Ferrari F, Silveira F and Garcia A Development of auxiliary functions: should you be agile? an empirical assessment of pair programming and test-first programming Proceedings of the 34th International Conference on Software Engineering, (529-539)
  87. Pankratius V, Schmidt F and Garretón G Combining functional and imperative programming for multicore software: an empirical study evaluating Scala and Java Proceedings of the 34th International Conference on Software Engineering, (123-133)
  88. ACM
    Kleinschmager S and Hanenberg S How to rate programming skills in programming experiments? Proceedings of the 3rd ACM SIGPLAN workshop on Evaluation and usability of programming languages and tools, (15-24)
  89. Mahaux M, Heymans P and Saval G Discovering sustainability requirements Proceedings of the 17th international working conference on Requirements engineering: foundation for software quality, (19-33)
  90. Hubaux A, Boucher Q, Hartmann H, Michel R and Heymans P Evaluating a textual feature modelling language Proceedings of the Third international conference on Software language engineering, (337-356)
  91. ACM
    Petrillo F and Pimenta M Is agility out there? Proceedings of the 28th ACM International Conference on Design of Communication, (9-15)
  92. van Heesch U and Avgeriou P Naive architecting - understanding the reasoning process of students Proceedings of the 4th European conference on Software architecture, (24-37)
  93. Dingel J The doctoral symposium at MODELS 2009 Proceedings of the 2009 international conference on Models in Software Engineering, (1-4)
  94. ACM
    Bird C, Bachmann A, Aune E, Duffy J, Bernstein A, Filkov V and Devanbu P Fair and balanced? Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, (121-130)
  95. ACM
    Begel A and Nagappan N Pair programming Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement, (120-128)
Contributors
  • Software Engineering Institute
  • National Research Council Canada
  • University of Oslo

Recommendations

Reviews

Andrew Robert Huber

Empirical software engineering is the area where the practical, down-to-earth work of real engineers developing complex software collides with the research ideal of objective academics replicating controlled experiments in known environments. This book's goal is to provide a standard reference describing advanced techniques for running these empirical software-engineering studies. The intended target audience is software-engineering researchers, graduate students, practitioners who report or analyze data such as quality-control metrics, and reviewers of empirical research. Knowledge of software engineering, and other topics such as statistics, is necessary to follow this book. The book has 14 chapters by various authors, and is divided into three parts: research methods and techniques (five chapters), practical foundations (five chapters), and knowledge creation (four chapters). The order of the first two parts is questionable, since Part 2 covers basic issues necessary to conduct a meaningful study; beginning with the practical foundations would be more appropriate. However, for the most part, the chapters are self contained and can be read out of order. Four of the chapters are revised versions of symposium or journal papers, typically with updated references. The five chapters in Part 1 discuss various strategies for collecting and analyzing data, along with the most appropriate use of those strategies. The first chapter covers general techniques for gathering data in field studies, including direct methods ranging from brainstorming to joining a development team, and indirect methods such as instrumenting systems. The second chapter covers, in more detail, two qualitative methods: observation and interviewing. There is some duplication in these two chapters, many of the descriptions are too short to be very helpful, and neither chapter includes examples of using the methods. The other three chapters cover surveys, focus groups, and simulation. The chapter on surveys by Kitchenham and Pfleeger is particularly interesting because, as the authors note, "surveys are probably the most commonly used research method worldwide." In software engineering, surveys are certainly the method most commonly abused and poorly done. The discussion on what steps to take, what problems to avoid, and how to avoid common mistakes should be required reading for anyone developing or conducting a survey. Best of all, the issues are illustrated by showing the mistakes in three published surveys, including one conducted by the chapter's authors, who should be lauded for their honesty and integrity in displaying their own errors. I found the chapter on simulation the least satisfying. Many simulation techniques are described, such as deterministic versus stochastic and dynamic versus static, along with many purported simulation applications in software engineering, such as project and risk management, as well as product and process engineering. A discussion of three simulation tools includes an example of setting up a stochastic model of a generic software development process using one of the tools, but many of the techniques and applications are simply listed, with no discussion of their value. The example simulation does not seem to have any real-world applicability. There is no evidence of any insight or value obtained by simulating a software process. Part 2 includes chapters on statistical methods and measurement, handling missing data, and reporting experimental results. Another chapter covers ethical issues regarding research with human subjects, including a good discussion of the principles of informed consent, beneficence, confidentiality, and scientific value; it also provides good advice on dealing with the practical issues of these principles, such as informed consent and dealing with ethics review boards. Another practical and useful chapter deals with initiating and running empirical studies in collaboration with industry. The last part has four chapters on selecting empirical methods for software-engineering research, building theories, using multiple evidence sources in building theories, and replication. These chapters reflect one of the major weaknesses in software-engineering research: the lack of multiple sources of evidence and repeated experiments. For the most part, the book does a good job of minimizing the usual problems in a collection of papers by different authors. There is inevitably some overlap and duplication, but no glaring disparities in style, presentation, or level of detail. There are ample references in each chapter, as well as a bibliography. This is indeed a guide, as it often just points to other sources. It should be very useful to graduate students and researchers engaged in empirical software-engineering research. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.