- Table View
- List View
Software Engineering and Formal Methods: 21st International Conference, SEFM 2023, Eindhoven, The Netherlands, November 6-10, 2023, Proceedings (Lecture Notes in Computer Science #14323)
by Carla Ferreira Tim A. C. WillemseThis book constitutes the refereed proceedings of the 21st International Conference on Software Engineering and Formal Methods, SEFM 2023, held in Eindhoven, The Netherlands, during November 6-10, 2023. The 18 regular papers presented in this book, together with 1 invited paper and 1 tool paper, were carefully reviewed and selected from 41 submissions. The SEFM conference series aims to bring together researchers and practitioners from academia, industry and government, to advance the state of the art in formal methods, to facilitate their uptake in the software industry, and to encourage their integration within practical software engineering methods and tools.
Software Engineering and Formal Methods: 22nd International Conference, SEFM 2024, Aveiro, Portugal, November 6-8, 2024, Proceedings (Lecture Notes in Computer Science #15280)
by Alexander Knapp Alexandre MadeiraThis book constitutes the refereed proceedings of the 22nd International Conference on Software Engineering and Formal Methods, SEFM 2024, held in Aveiro, Portugal, during November 6–8, 2024. The 23 full papers included in this book were carefully reviewed and selected from 68 submissions. The topics covered range from formal modelling, specification, and design in software development over safety-critical, fault-tolerant, and secure systems to real-time, hybrid, and cyber-physical systems and quantum computing.
Software Engineering and Formal Methods: SEFM 2019 Collocated Workshops: CoSim-CPS, ASYDE, CIFMA, and FOCLASA, Oslo, Norway, September 16–20, 2019, Revised Selected Papers (Lecture Notes in Computer Science #12226)
by Javier Camara Martin SteffenThe volume LNCS 12226 constitutes the revised selected papers from the four workshops collocated with the 17th International Conference on Software Engineering and Formal Methods, SEFM 2019. The 13 full papers presented together with 7 short papers in this volume were carefully reviewed and selected from a total of 45 submissions. They stem from the following workshops: CoSim-CPS 2019 – 3rd International Workshop on Formal Co-Simulation of Cyber-Physical Systems; ASYDE 2019 -- 1st International Workshop on Cognition: Interdisciplinary Foundations, Models and Applications; and FOCLASA 2019 -- 17th International Workshop on Foundations of Coordination Languages and Self-Adaptive Systems.
Software Engineering and Management: Volume 16 (Studies in Computational Intelligence #1137)
by Roger LeeThe book reports state of the art results in Software Engineering Research, Management & Applications in both printed and electronic form. SCI (Studies in Computation Intelligence) has grown into the most comprehensive computational intelligence research forum available in the world.This volume published original papers on both theory and practice that address foundations, state of the art problems and solutions, and crucial challenges.
Software Engineering and Management: Volume 17 (Studies in Computational Intelligence #1193)
by Roger LeeThis book reports state-of-the-art results in Software Engineering Research, Management & Applications in both printed and electronic form. Studies in Computation Intelligence (SCI) has grown into the most comprehensive computational intelligence research forum available in the world. This book published original papers on both theory and practice that address foundations, state-of-the-art problems and solutions, and crucial challenges.
Software Engineering and Methodology for Emerging Domains
by Lu Zhang Chang XuThis book constitutes the thoroughly refereed proceedings of the 15th National Software Application Conference, NASAC 2016, held in Kunming, Yunnan, in November 2016. The 15 revised selected papers were selected from 38 submissions and focus on all aspects of software engineering, e. g. requirements engineering, software methodologies, software analytics, software testing and evolution, and empirical studies.
Software Engineering and Methodology for Emerging Domains: 16th National Conference, NASAC 2017, Harbin, China, November 4–5, 2017, and 17th National Conference, NASAC 2018, Shenzhen, China, November 23–25, 2018, Revised Selected Papers (Communications in Computer and Information Science #861)
by Ming Li Zheng Li Minghui Zhou He Jiang Ge LiThis book constitutes the thoroughly refereed proceedings of the 16th National Conference, NASAC 2017, held in Harbin, China, in November 2017, and the 17th National Conference, NASAC 2018, held in Shenzhen, China, in November 2018. The 6 revised selected papers were selected from 17 submissions for NASAC 2017, and 5 revised selected papers were selected from 20 submissions for NASAC 2018. The papers focus on all aspects of software engineering, e.g. requirements engineering, software methodologies, software analytics, software testing and evolution, and empirical studies.
Software Engineering at Google: Lessons Learned from Programming Over Time
by Titus Winters Tom Manshreck Hyrum WrightToday, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering.How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the worldâ??s leading practitioners construct and maintain software. This book covers Googleâ??s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization.Youâ??ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code:How time affects the sustainability of software and how to make your code resilient over timeHow scale affects the viability of software practices within an engineering organizationWhat trade-offs a typical engineer needs to make when evaluating design and development decisions
Software Engineering for Absolute Beginners: Your Guide to Creating Software Products
by Nico LoubserStart programming from scratch, no experience required. This beginners’ guide to software engineering starts with a discussion of the different editors used to create software and covers setting up a Docker environment. Next, you will learn about repositories and version control along with its uses. Now that you are ready to program, you’ll go through the basics of Python, the ideal language to learn as a novice software engineer. Many modern applications need to talk to a database of some kind, so you will explore how to create and connect to a database and how to design one for your app. Additionally you will discover how to use Python’s Flask microframework and how to efficiently test your code. Finally, the book explains best practices in coding, design, deployment, and security. Software Engineering for Absolute Beginners answers the question of what topics you should know when you start out to learn software engineering. This book covers a lot of topics, and aims to clarify the hidden, but very important, portions of the software development toolkit.After reading this book, you, a complete beginner, will be able to identify best practices and efficient approaches to software development. You will be able to go into a work environment and recognize the technology and approaches used, and set up a professional environment to create your own software applications.What You Will LearnExplore the concepts that you will encounter in the majority of companies doing software development Create readable code that is neat as well as well-designed Build code that is source controlled, containerized, and deployable Secure your codebase Optimize your workspaceWho This Book Is For A reader with a keen interest in creating software. It is also helpful for students.
Software Engineering for Data Scientists: From Notebooks to Scalable Systems
by Catherine NelsonData science happens in code. The ability to write reproducible, robust, scaleable code is key to a data science project's success—and is absolutely essential for those working with production code. This practical book bridges the gap between data science and software engineering,and clearly explains how to apply the best practices from software engineering to data science.Examples are provided in Python, drawn from popular packages such as NumPy and pandas. If you want to write better data science code, this guide covers the essential topics that are often missing from introductory data science or coding classes, including how to:Understand data structures and object-oriented programmingClearly and skillfully document your codePackage and share your codeIntegrate data science code with a larger code baseLearn how to write APIsCreate secure codeApply best practices to common tasks such as testing, error handling, and loggingWork more effectively with software engineersWrite more efficient, maintainable, and robust code in PythonPut your data science projects into productionAnd more
Software Engineering for Image Processing Systems
by Philip A. LaplanteSoftware Engineering for Image Processing Systems creates a modern engineering framework for the specification, design, coding, testing, and maintenance of image processing software and systems. The text is designed to benefit not only software engineers, but also workers with backgrounds in mathematics, the physical sciences, and other engineering
Software Engineering for Internet Applications
by Eve Astrid Andersson Philip Greenspun Andrew GrumetAfter completing this self-contained course on server-based Internet applications software, students who start with only the knowledge of how to write and debug a computer program will have learned how to build web-based applications.
Software Engineering for Resilient Systems
by Alessandro Fantechi Patrizio PelliccioneThis book constitutes the refereed proceedings of the 7th International Workshop on Software Engineering for Resilient Systems, SERENE 2015, held in Paris, France, in September 2015. The 10 revised technical papers presented were carefully reviewed and selected from 18 submissions. The papers are organized in topical sections on development of resilient systems, verification, validation and evaluation of resilience, case studies and applications.
Software Engineering for Resilient Systems
by Alexander Romanovsky Elena A. TroubitsynaThis book constitutes the refereed proceedings of the 5th International Workshop on Software Engineering for Resilient Systems, SERENE 2013, held in Kiev, Ukraine, in October 2013. The 13 revised full papers were carefully reviewed and selected from 21 submissions. The papers are organized in topical sections on resilient software and design, rigorous reasoning, applications, concepts, and analysis.
Software Engineering for Resilient Systems
by Ivica Crnkovic Elena TroubitsynaThis book constitutes the refereed proceedings of the 8th International Workshop on Software Engineering for Resilient Systems, SERENE 2016, held in Gothenburg, Sweden, in September 2016. The 10 papers presented were carefully reviewed and selected from 15 submissions. They cover the following areas: development of resilient systems; incremental development processes for resilient systems; requirements engineering and re-engineering for resilience; frameworks, patterns and software architectures for resilience; engineering of self-healing autonomic systems; design of trustworthy and intrusion-safe systems; resilience at run-time (mechanisms, reasoning and adaptation); resilience and dependability (resilience vs. robustness, dependable vs. adaptive systems); verification, validation and evaluation of resilience; modeling and model based analysis of resilience properties; formal and semi-formal techniques for verification and validation; experimental evaluations of resilient systems; quantitative approaches to ensuring resilience; resilience prediction; cast studies and applications; empirical studies in the domain of resilient systems; methodologies adopted in industrial contexts; cloud computing and resilient service provisioning; resilience for data-driven systems (e. g. , big data-based adaption and resilience); resilient cyber-physical systems and infrastructures; global aspects of resilience engineering: education, training and cooperation.
Software Engineering for Resilient Systems: 11th International Workshop, SERENE 2019, Naples, Italy, September 17, 2019, Proceedings (Lecture Notes in Computer Science #11732)
by Radu Calinescu Felicita Di GiandomenicoThis book constitutes the refereed proceedings of the 11th International Workshop on Software Engineering for Resilient Systems, SERENE 2019, held in Naples, Italy, in September 2019. The 5 full papers and 4 short papers presented together with 1 keynote and 1 invited paper were carefully reviewed and selected from 12 submissions. They cover the following areas: resilience engineering in complex and critical applications; testing and validation methods; security, trust and privacy management.
Software Engineering for Science (Chapman & Hall/CRC Computational Science)
by Jeffrey C. Carver George K. Thiruvathukal Neil P. Chue HongSoftware Engineering for Science provides an in-depth collection of peer-reviewed chapters that describe experiences with applying software engineering practices to the development of scientific software. It provides a better understanding of how software engineering is and should be practiced, and which software engineering practices are effective for scientific software. The book starts with a detailed overview of the Scientific Software Lifecycle, and a general overview of the scientific software development process. It highlights key issues commonly arising during scientific software development, as well as solutions to these problems. The second part of the book provides examples of the use of testing in scientific software development, including key issues and challenges. The chapters then describe solutions and case studies aimed at applying testing to scientific software development efforts. The final part of the book provides examples of applying software engineering techniques to scientific software, including not only computational modeling, but also software for data management and analysis. The authors describe their experiences and lessons learned from developing complex scientific software in different domains. About the Editors Jeffrey Carver is an Associate Professor in the Department of Computer Science at the University of Alabama. He is one of the primary organizers of the workshop series on Software Engineering for Science (http://www.SE4Science.org/workshops). Neil P. Chue Hong is Director of the Software Sustainability Institute at the University of Edinburgh. His research interests include barriers and incentives in research software ecosystems and the role of software as a research object. George K. Thiruvathukal is Professor of Computer Science at Loyola University Chicago and Visiting Faculty at Argonne National Laboratory. His current research is focused on software metrics in open source mathematical and scientific software.
Software Engineering for Variability Intensive Systems: Foundations and Applications
by Ivan Mistrik Matthias Galster Bruce R. MaximThis book addresses the challenges in the software engineering of variability-intensive systems. Variability-intensive systems can support different usage scenarios by accommodating different and unforeseen features and qualities. The book features academic and industrial contributions that discuss the challenges in developing, maintaining and evolving systems, cloud and mobile services for variability-intensive software systems and the scalability requirements they imply. The book explores software engineering approaches that can efficiently deal with variability-intensive systems as well as applications and use cases benefiting from variability-intensive systems.
Software Engineering from Scratch: A Comprehensive Introduction Using Scala
by Jason Lee HodgesLearn software engineering from scratch, from installing and setting up your development environment, to navigating a terminal and building a model command line operating system, all using the Scala programming language as a medium. The demand for software engineers is growing exponentially, and with this book you can start your journey into this rewarding industry, even with no prior programming experience.Using Scala, a language known to contain “everything and the kitchen sink,” you’ll begin coding on a gentle learning curve by applying the basics of programming such as expressions, control flow, functions, and classes. You’ll then move on to an overview of all the major programming paradigms. You’ll finish by studying software engineering concepts such as testing and scalability, data structures, algorithm design and analysis, and basic design patterns. With Software Engineering from Scratch as your navigator, you can get up to speed on the software engineering industry, develop a solid foundation of many of its core concepts, and develop an understanding of where to invest your time next. What You Will LearnUse Scala, even with no prior knowledgeDemonstrate general Scala programming concepts and patternsBegin thinking like a software engineerWork on every level of the software development cycleWho This Book Is ForAnyone who wants to learn about software engineering; no prior programming experience required.
Software Engineering in IoT, Big Data, Cloud and Mobile Computing (Studies in Computational Intelligence #930)
by Roger Lee Haengkon KimThis edited book presents scientific results of the International Semi-Virtual Workshop on Software Engineering in IoT, Big data, Cloud and Mobile Computing (SE-ICBM 2020) which was held on October 15, 2020, at Soongsil University, Seoul, Korea. The aim of this workshop was to bring together researchers and scientists, businessmen and entrepreneurs, teachers, engineers, computer users, and students to discuss the numerous fields of computer science and to share their experiences and exchange new ideas and information in a meaningful way. Research results about all aspects (theory, applications and tools) of computer and information science, and to discuss the practical challenges encountered along the way and the solutions adopted to solve them. The workshop organizers selected the best papers from those papers accepted for presentation at the workshop. The papers were chosen based on review scores submitted by members of the program committee and underwent further rigorous rounds of review. From this second round of review, 17 of the conference’s most promising papers are then published in this Springer (SCI) book and not the conference proceedings. We impatiently await the important contributions that we know these authors will bring to the field of computer and information science.
Software Engineering in the Era of Cloud Computing (Computer Communications and Networks)
by Zaigham Mahmood Muthu RamachandranThis book focuses on the development and implementation of cloud-based, complex software that allows parallelism, fast processing, and real-time connectivity. Software engineering (SE) is the design, development, testing, and implementation of software applications, and this discipline is as well developed as the practice is well established whereas the Cloud Software Engineering (CSE) is the design, development, testing, and continuous delivery of service-oriented software systems and applications (Software as a Service Paradigm). However, with the emergence of the highly attractive cloud computing (CC) paradigm, the tools and techniques for SE are changing. CC provides the latest software development environments and the necessary platforms relatively easily and inexpensively. It also allows the provision of software applications equally easily and on a pay-as-you-go basis. Business requirements for the use of software are also changing and there is a need for applications in big data analytics, parallel computing, AI, natural language processing, and biometrics, etc. These require huge amounts of computing power and sophisticated data management mechanisms, as well as device connectivity for Internet of Things (IoT) environments. In terms of hardware, software, communication, and storage, CC is highly attractive for developing complex software that is rapidly becoming essential for all sectors of life, including commerce, health, education, and transportation. The book fills a gap in the SE literature by providing scientific contributions from researchers and practitioners, focusing on frameworks, methodologies, applications, benefits and inherent challenges/barriers to engineering software using the CC paradigm.
Software Engineering with UML
by Bhuvan UnhelkarThis book presents the analysis, design, documentation, and quality of software solutions based on the OMG UML v2.5. Notably it covers 14 different modelling constructs including use case diagrams, activity diagrams, business-level class diagrams, corresponding interaction diagrams and state machine diagrams. It presents the use of UML in creating a Model of the Problem Space (MOPS), Model of the Solution Space (MOSS) and Model of the Architectural Space (MOAS). The book touches important areas of contemporary software engineering ranging from how a software engineer needs to invariably work in an Agile development environment through to the techniques to model a Cloud-based solution.
Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing
by Roger LeeThis editedbook presents scientific results of the 17th IEEE/ACIS InternationalConference on Software Engineering, Artificial Intelligence, Networking andParallel/Distributed Computing (SNPD 2016) which was held on May 30 - June 1,2016 in Shanghai, China. The aim of this conference was to bringtogether researchers and scientists, businessmen and entrepreneurs, teachers,engineers, computer users, and students to discuss the numerous fields ofcomputer science and to share their experiences and exchange new ideas andinformation in a meaningful way. Research results about all aspects (theory,applications and tools) of computer and information science, and to discuss thepractical challenges encountered along the way and the solutions adopted tosolve them.
Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing
by Roger LeeThe purpose of the 10th ACIS International Conference on Software Engineering Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD rd 2009), held in Daegu, Korea on May 27-29, 2009, the 3 International Workshop st on e-Activity (IWEA 2009) and the 1 International Workshop on Enterprise Architecture Challenges and Responses (WEACR 2009) is to aim at bringing together researchers and scientist, businessmen and entrepreneurs, teachers and students to discuss the numerous fields of computer science, and to share ideas and information in a meaningful way. Our conference officers selected the best 24 papers from those papers accepted for presentation at the conference in order to publish them in this volume. The papers were chosen based on review scores submitted by members of the program committee, and underwent further rounds of rigorous review. In chapter 1, Igor Crk and Chris Gniady propose a network-aware energy m- agement mechanism that provides a low-cost solution that can significantly reduce energy consumption in the entire system while maintaining responsiveness of local interactive workloads. Their dynamic mechanisms reduce the decision delay before the disk is spun-up, reduce the number of erroneous spin-ups in local wo- stations, decrease the network bandwidth, and reduce the energy consumption of individual drives. In chapter 2, Yoshihito Saito and Tokuro Matsuo describe a task allocation mechanism and its performance concerning with software developing. They run simulations and discuss the results in terms of effective strategies of task allocation.
Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (Studies in Computational Intelligence #1012)
by Roger LeeThis book presents scientific results of the 22nd ACIS International Fall Virtual Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD2021-Fall) which was held on November 24–26, 2021, at Taichung, Taiwan. The aim of this conference was to bring together researchers and scientists, businessmen and entrepreneurs, teachers, engineers, computer users, and students to discuss the numerous fields of computer science and to share their experiences and exchange new ideas and information in a meaningful way. Research results about all aspects (theory, applications and tools) of computer and information science, and to discuss the practical challenges encountered along the way and the solutions adopted to solve them.The conference organizers selected the best papers from those papers accepted for presentation at the conference. The papers were chosen based on review scores submitted by members of the program committee and underwent further rigorous rounds of review. From this second round of review, 13 of most promising papers are then published in this Springer (SCI) book and not the conference proceedings. We impatiently await the important contributions that we know these authors will bring to the field of computer and information science.