On the Evolution of Source Code and Software Defects

On the Evolution of Source Code and Software Defects
Author :
Publisher : Createspace Independent Publishing Platform
Total Pages : 248
Release :
ISBN-10 : 1460953568
ISBN-13 : 9781460953563
Rating : 4/5 (68 Downloads)

Synopsis On the Evolution of Source Code and Software Defects by : Marco D'ambros

Software systems are subject to continuous changes to adapt to new and changing requirements. This phenomenon, known as software evolution, leads in the long term to software aging: The size and the complexity of systems increase, while their quality decreases. In this context, it is no wonder that software maintenance claims the most part of a software system's cost. The analysis of software evolution helps practitioners deal with the negative effects of software aging. With the advent of the Internet and the consequent widespread adoption of distributed development tools, such as software configuration management and issue tracking systems, a vast amount of valuable information concerning software evolution has become available. In the last two decades, researchers have focused on mining and analyzing this data, residing in various software repositories, to understand software evolution and support maintenance activities. However, most approaches target a specific maintenance task, and consider only one of the several facets of software evolution. Such approaches, and the infrastructures that implement them, cannot be extended to address different maintenance problems. In this dissertation, we propose an integrated view of software evolution that combines different evolutionary aspects. Our thesis is that an integrated and flexible approach supports an extensible set of software maintenance activities. To this aim, we present a meta-model that integrates two aspects of software evolution: source code and software defects. We implemented our approach in a framework that, by retrieving information from source code and defect repositories, serves as a basis to create analysis techniques and tools. To show the flexibility of our approach, we extended our meta-model and framework with e-mail information extracted from development mailing lists. To validate our thesis, we devised and evaluated, on top of our approach, a number of novel analysis techniques that achieve two goals: 1) Inferring the causes of problems in a software system. We propose three retrospective analysis techniques, based on interactive visualizations, to analyze the evolution of source code, software defects, and their co-evolution. These techniques support various maintenance tasks, such as system restructuring, re-documentation, and identification of critical software components. 2) Predicting the future of a software system. We present four analysis techniques aimed at anticipating the locations of future defects, and investigating the impact of certain source code properties on the presence of defects. They support two maintenance tasks: defect prediction and software quality analysis. By creating our framework and the mentioned techniques on top of it, we provide evidence that an integrated view of software evolution, combining source code and software defects information, supports an extensible set of software maintenance tasks.

Software Evolution

Software Evolution
Author :
Publisher : Springer Science & Business Media
Total Pages : 357
Release :
ISBN-10 : 9783540764403
ISBN-13 : 3540764402
Rating : 4/5 (03 Downloads)

Synopsis Software Evolution by : Tom Mens

This book focuses on novel trends in software evolution research and its relations with other emerging disciplines. Mens and Demeyer, both authorities in the field of software evolution, do not restrict themselves to the evolution of source code but also address the evolution of other, equally important software artifacts. This book is the indispensable source for researchers and professionals looking for an introduction and comprehensive overview of the state-of-the-art.

Software Source Code

Software Source Code
Author :
Publisher : Walter de Gruyter GmbH & Co KG
Total Pages : 358
Release :
ISBN-10 : 9783110703399
ISBN-13 : 3110703394
Rating : 4/5 (99 Downloads)

Synopsis Software Source Code by : Raghavendra Rao Althar

This book will focus on utilizing statistical modelling of the software source code, in order to resolve issues associated with the software development processes. Writing and maintaining software source code is a costly business; software developers need to constantly rely on large existing code bases. Statistical modelling identifies the patterns in software artifacts and utilize them for predicting the possible issues.

Your Code as a Crime Scene

Your Code as a Crime Scene
Author :
Publisher : Pragmatic Bookshelf
Total Pages : 289
Release :
ISBN-10 : 9781680505207
ISBN-13 : 1680505203
Rating : 4/5 (07 Downloads)

Synopsis Your Code as a Crime Scene by : Adam Tornhill

Jack the Ripper and legacy codebases have more in common than you'd think. Inspired by forensic psychology methods, you'll learn strategies to predict the future of your codebase, assess refactoring direction, and understand how your team influences the design. With its unique blend of forensic psychology and code analysis, this book arms you with the strategies you need, no matter what programming language you use. Software is a living entity that's constantly changing. To understand software systems, we need to know where they came from and how they evolved. By mining commit data and analyzing the history of your code, you can start fixes ahead of time to eliminate broken designs, maintenance issues, and team productivity bottlenecks. In this book, you'll learn forensic psychology techniques to successfully maintain your software. You'll create a geographic profile from your commit data to find hotspots, and apply temporal coupling concepts to uncover hidden relationships between unrelated areas in your code. You'll also measure the effectiveness of your code improvements. You'll learn how to apply these techniques on projects both large and small. For small projects, you'll get new insights into your design and how well the code fits your ideas. For large projects, you'll identify the good and the fragile parts. Large-scale development is also a social activity, and the team's dynamics influence code quality. That's why this book shows you how to uncover social biases when analyzing the evolution of your system. You'll use commit messages as eyewitness accounts to what is really happening in your code. Finally, you'll put it all together by tracking organizational problems in the code and finding out how to fix them. Come join the hunt for better code! What You Need: You need Java 6 and Python 2.7 to run the accompanying analysis tools. You also need Git to follow along with the examples.

Comprehending Software Bugs Leveraging Code Structures with Neural Language Models

Comprehending Software Bugs Leveraging Code Structures with Neural Language Models
Author :
Publisher :
Total Pages : 0
Release :
ISBN-10 : OCLC:1415669514
ISBN-13 :
Rating : 4/5 (14 Downloads)

Synopsis Comprehending Software Bugs Leveraging Code Structures with Neural Language Models by : Parvez Mahbub

Software bugs claim ~50% of development time and cost the global economy billions of dollars every year. Unfortunately, despite the use of many software quality assurance (SQA) practices in software development (e.g., code review, continuous integration), defects may still exist in the official release of a software product. If software defects can be predicted at the line level, that can help the developers prioritize SQA efforts for the vulnerable areas of a codebase and thus achieve a high-quality software release. However, a defect prediction technique could be less helpful without any meaningful explanation of the defect. In this thesis, we propose and evaluate two novel techniques that support developers in identifying software defects at the line level and provide natural language explanations for those defects. In our first study, we propose - Bugsplorer - a novel deep-learning technique for line-level defect prediction. It leverages a hierarchical structure of transformer models to represent two types of code elements: code tokens and code lines. Our evaluation with five performance metrics shows that Bugsplorer can predict defective lines with 26-72% better accuracy than that of the state-of-the-art technique. It can also rank the first 20% defective lines within the top 1-3% vulnerable lines. In our second study, we propose Bugsplainer - a transformer-based generative model that generates natural language explanations for software bugs by leveraging structural information and buggy patterns from the source code. Our evaluation using three performance metrics shows that Bugsplainer can generate understandable and good explanations according to Google's standard and can outperform multiple baselines from the literature. We also conducted a developer study involving 20 participants where the explanations from Bugsplainer were found to be more accurate, more precise, more concise and more useful than the baselines. Given the empirical evidence, our techniques have the potential to significantly reduce the SQA costs.

Proceedings of the First International Symposium on Emerging Trends in Software Metrics 2009

Proceedings of the First International Symposium on Emerging Trends in Software Metrics 2009
Author :
Publisher : Lulu.com
Total Pages : 67
Release :
ISBN-10 : 9781446129845
ISBN-13 : 1446129845
Rating : 4/5 (45 Downloads)

Synopsis Proceedings of the First International Symposium on Emerging Trends in Software Metrics 2009 by : Michele Marchesi

The 1st International Symposium on Emerging Trends in Software Metrics, held within XP 2009 Conference (10th International Conference on Agile Processes and eXtreme Programming in Software Engineering (www.xp2009.org).

Research Anthology on Usage and Development of Open Source Software

Research Anthology on Usage and Development of Open Source Software
Author :
Publisher : IGI Global
Total Pages : 904
Release :
ISBN-10 : 9781799891598
ISBN-13 : 1799891593
Rating : 4/5 (98 Downloads)

Synopsis Research Anthology on Usage and Development of Open Source Software by : Management Association, Information Resources

The quick growth of computer technology and development of software caused it to be in a constant state of change and advancement. This advancement in software development meant that there would be many types of software developed in order to excel in usability and efficiency. Among these different types of software was open source software, one that grants permission for users to use, study, change, and distribute it freely. Due to its availability, open source software has quickly become a valuable asset to the world of computer technology and across various disciplines including education, business, and library science. The Research Anthology on Usage and Development of Open Source Software presents comprehensive research on the design and development of open source software as well as the ways in which it is used. The text discusses in depth the way in which this computer software has been made into a collaborative effort for the advancement of software technology. Discussing topics such as ISO standards, big data, fault prediction, open collaboration, and software development, this anthology is essential for computer engineers, software developers, IT specialists and consultants, instructors, librarians, managers, executives, professionals, academicians, researchers, and students.

Elementary Information Security, Fourth Edition

Elementary Information Security, Fourth Edition
Author :
Publisher : Jones & Bartlett Learning
Total Pages : 819
Release :
ISBN-10 : 9781284282801
ISBN-13 : 1284282805
Rating : 4/5 (01 Downloads)

Synopsis Elementary Information Security, Fourth Edition by : Peter H. Gregory

Elementary Information Security is designed for an introductory course in cybersecurity, namely first or second year undergraduate students. This essential text enables students to gain direct experience by analyzing security problems and practicing simulated security activities. Emphasizing learning through experience, Elementary Information Security addresses technologies and cryptographic topics progressing from individual computers to more complex Internet-based systems. Designed to fulfill curriculum requirement published the U.S. government and the Association for Computing Machinery (ACM), Elementary Information Security also covers the core learning outcomes for information security education published in the ACM’s “IT 2008” curricular recommendations. Students who are interested in becoming a Certified Information Systems Security Professional (CISSP) may also use this text as a study aid for the examination.

The Science Of Software Debugging

The Science Of Software Debugging
Author :
Publisher : Dreamtech Press
Total Pages : 508
Release :
ISBN-10 : 8177225081
ISBN-13 : 9788177225082
Rating : 4/5 (81 Downloads)

Synopsis The Science Of Software Debugging by : Matt Telles

The book teaches How to Approach Software Debugging As a Reproducible Science. Noting in life is certain except death, taxes, and software bugs. Effective debugging involves for more than walking through code with a debugger. This book recognized this and teaches a mindset that allows you to reliably find and fix bugs. It sets out to make debugging less baffling, faster, and more effective by providing you with the knowledge and techniques needed to rapidly identify, track down, and repair bugs. It goes further by offering practical tips on minimizing bugs and making them easier to find when they do occur. Learn to use techniques that have been developed over decades by experienced professionals!Chapter 1: Introduction to DebuggingChapter 2: Case Studies of Famous (and Not So Famous) BugsChapter 3: What are Bugs?Chapter 4: Life Cycle of a BugChapter 5: A Bug TaxonomyChapter 6: Detective WorkChapter 7: Debugging Tools and When to Use ThemChapter 8: The General Process of DebuggingChapter 9: Debugging TechniquesChapter 10: Debugging Different Application TypesChapter 11: Post DebuggingChapter 12: PrebuggingChapter 13: TestingChapter 14: MaintenanceChapter 15: Debugging as a Profession

Intelligent Computing

Intelligent Computing
Author :
Publisher : Springer Nature
Total Pages : 1269
Release :
ISBN-10 : 9783030801267
ISBN-13 : 3030801268
Rating : 4/5 (67 Downloads)

Synopsis Intelligent Computing by : Kohei Arai

This book is a comprehensive collection of chapters focusing on the core areas of computing and their further applications in the real world. Each chapter is a paper presented at the Computing Conference 2021 held on 15-16 July 2021. Computing 2021 attracted a total of 638 submissions which underwent a double-blind peer review process. Of those 638 submissions, 235 submissions have been selected to be included in this book. The goal of this conference is to give a platform to researchers with fundamental contributions and to be a premier venue for academic and industry practitioners to share new ideas and development experiences. We hope that readers find this volume interesting and valuable as it provides the state-of-the-art intelligent methods and techniques for solving real-world problems. We also expect that the conference and its publications is a trigger for further related research and technology improvements in this important subject. .