Research and Evidence in Software Engineering
eBook - ePub

Research and Evidence in Software Engineering

From Empirical Studies to Open Source Artifacts

  1. 310 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Research and Evidence in Software Engineering

From Empirical Studies to Open Source Artifacts

About this book

Research and Evidence in Software Engineering: From Empirical Studies to Open Source Artifacts introduces advanced software engineering to software engineers, scientists, postdoctoral researchers, academicians, software consultants, management executives, doctoral students, and advanced level postgraduate computer science students.

This book contains research articles addressing numerous software engineering research challenges associated with various software development-related activities, including programming, testing, measurements, human factors (social software engineering), specification, quality, program analysis, software project management, and more. It provides relevant theoretical frameworks, empirical research findings, and evaluated solutions addressing the research challenges associated with the above-mentioned software engineering activities.

To foster collaboration among the software engineering research community, this book also reports datasets acquired systematically through scientific methods and related to various software engineering aspects that are valuable to the research community. These datasets will allow other researchers to use them in their research, thus improving the quality of overall research. The knowledge disseminated by the research studies contained in the book will hopefully motivate other researchers to further innovation in the way software development happens in real practice.

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Research and Evidence in Software Engineering by Varun Gupta, Chetna Gupta, Varun Gupta,Chetna Gupta in PDF and/or ePUB format, as well as other popular books in Computer Science & Computer Science General. We have over one million books available in our catalogue for you to explore.

Chapter 1

Performance of Execution Tracing with Aspect-Oriented and Conventional Approaches

Tamas Gallia, Francisco Chiclanab, and Francois Siewea
aDe Montfort University, Leicester, UK
bDe Montfort University, Leicester, UK, and University of Granada, Granada, Spain
Contents
  • 1.1Introduction
  • 1.2Research Design
  • 1.2.1Definition of the Research Variables
  • 1.2.1.1Independent Variables
  • 1.2.1.2Extraneous Variables
  • 1.2.1.3Dependent Variables
  • 1.3Measurements and Evaluation
  • 1.3.1Parallel Measurements between the Test Applications with Aspect-Oriented and Conventional Execution Tracing
  • 1.3.1.1Parallel Measurements with Java 1.8 and Aspect J 1.
  • 1.3.1.2Parallel Measurements with Java 1.9 and Aspect J 1.
  • 1.3.2Comparison of the Runtimes with Switched On and Switched Off Execution Tracing
  • 1.3.2.1Runtime Ratios of Conventional Test Application with Switched On and Switched Off Execution Tracing
  • 1.3.2.2Runtime Ratios of Aspect-Oriented Test Application with Switched On and Switched Off Execution Tracing
  • 1.3.3Comparison of the Runtimes of All Measurements with Both Test Applications
  • 1.4Reliability and Validity
  • 1.5Conclusion
  • References
  • Appendix 1.A Normality Check of the Measurement Data

1.1 Introduction

Execution tracing assists software developers to identify and localize errors in software applications; logging rather supports the activities of system administrators and software maintainers to check the state of software systems [1, 2]. Both tools help to carry out analysis and the literature often uses the two terms as synonyms, we also follow this convention. Execution tracing and logging gain more importance in the domain of distributed programming, multithreading, real-time control applications, and embedded applications without user interface, where using a debugger is not necessarily the proper solution [3].
Execution tracing quality significantly influences the maintenance costs through its impact on the error analysis [1, 2, 4]. If the execution tracing mechanism is nonexistent, ill-designed, or of poor quality in deployed systems, then aspect-orientation offers a technique by which the missing or deficient execution tracing mechanism can be added, corrected, or its quality, with regard to accuracy and consistency, improved with low development effort.
Aspect-oriented programming facilitates the localization of functionally identical code, which is scattered across the application, and the insertion of this code, either at compilation time or at run time, into places that are identified by rules [5]. The functionally identical code segments scattered across the application are called “cross-cutting concerns”. The cross-cutting concerns are collected by “advices”. The modules containing the advices form the “aspects”. The rules determining where to add the advices are named “pointcuts”, while the concrete places the pointcuts s...

Table of contents

  1. Cover
  2. Half Title
  3. Title Page
  4. Copyright Page
  5. Contents
  6. Preface
  7. Editor Biographies
  8. Contributor Biographies
  9. 1 Performance of Execution Tracing with Aspect-Oriented and Conventional Approaches
  10. 2 A Survey on Software Test Specification Qualities for Legacy Software Systems
  11. 3 Whom Should I Talk To?: And How That Can Affect My Work
  12. 4 Software Project Management: Facts versus Beliefs and Practice
  13. 5 Inter-Parameter Dependencies in Real-World Web APIs: The IDEA Dataset
  14. 6 Evaluating Testing Techniques in Highly-Configurable Systems: The Drupal Dataset
  15. 7 A Family of Experiments to Evaluate the Effects of Mindfulness on Software Engineering Students: The MetaMind Dataset
  16. 8 Process Performance Indicators for IT Service Management: The PPI Dataset
  17. 9 Prioritization in Automotive Software Testing: Systematic Literature Review and Directions for Future Research
  18. 10 Deep Embedding of Open Source Software Bug Repositories for Severity Prediction
  19. 11 Predict Who: An Intelligent Game Using NLP and Knowledge Graph Model
  20. 12 Mining Requirements and Design Documents in Software Repositories Using Natural Language Processing and Machine Learning Approaches
  21. 13 Empirical Studies on Using Pair Programming as a Pedagogical Tool in Higher Education Courses: A Systematic Literature Review
  22. 14 Programming Multi-Agent Coordination Using NorJADE Framework
  23. Index