top

  Info

  • Utilizzare la checkbox di selezione a fianco di ciascun documento per attivare le funzionalità di stampa, invio email, download nei formati disponibili del (i) record.

  Info

  • Utilizzare questo link per rimuovere la selezione effettuata.
Composability, Comprehensibility and Correctness of Working Software [[electronic resource] ] : 8th Summer School, CEFP 2019, Budapest, Hungary, June 17–21, 2019, Revised Selected Papers / / edited by Zoltán Porkoláb, Viktória Zsók
Composability, Comprehensibility and Correctness of Working Software [[electronic resource] ] : 8th Summer School, CEFP 2019, Budapest, Hungary, June 17–21, 2019, Revised Selected Papers / / edited by Zoltán Porkoláb, Viktória Zsók
Autore Porkoláb Zoltán
Edizione [1st ed. 2023.]
Pubbl/distr/stampa Cham : , : Springer International Publishing : , : Imprint : Springer, , 2023
Descrizione fisica 1 online resource (398 pages)
Disciplina 005.11
Altri autori (Persone) ZsókViktória
Collana Lecture Notes in Computer Science
Soggetto topico Computer programming
Software engineering
Compilers (Computer programs)
Computer science
Programming Techniques
Software Engineering
Compilers and Interpreters
Computer Science Logic and Foundations of Programming
ISBN 3-031-42833-1
Formato Materiale a stampa
Livello bibliografico Monografia
Lingua di pubblicazione eng
Nota di contenuto Intro -- Preface -- Organization -- Contents -- Main Lectures -- Writing Internet of Things Applications with Task Oriented Programming -- 1 Introduction -- 1.1 Internet of Things -- 1.2 Task Oriented Programming -- 1.3 iTask -- 1.4 TOP for the IoT -- 1.5 Structure of the Paper -- 2 mTask system architecture -- 2.1 Blink -- 2.2 Language -- 2.3 Class Based Shallow Embedding -- 2.4 DSL design -- 2.5 Backends -- 2.6 Bytecode -- 2.7 Skeleton -- 3 mTask language -- 3.1 Expressions -- 3.2 Functions -- 3.3 Basic Tasks -- 3.4 Parallel Task Combinators -- 3.5 Threaded Blinking -- 3.6 Sequential Task Combinators -- 3.7 Shared Data Source -- 3.8 Lifted Shared Data Sources -- 3.9 Interactive Blinking -- 3.10 Peripherals -- 4 IoT applications with TOP -- 4.1 Hardware and Client -- 4.2 Temperature -- 4.3 LED matrix -- 4.4 Temperature Plotter -- 5 Related Work -- 5.1 Interpretation -- 5.2 Task Oriented Programming -- 5.3 Functional Reactive Programming -- 5.4 Functional Programming -- 5.5 Multitasking -- 5.6 mTask history -- 6 Discussion -- A Embedded Domain Specific Language Techniques -- A.1 Deep Embedding -- A.2 Shallow Embedding -- B iTask reference -- B.1 Types -- B.2 Editors -- B.3 Task Combinators -- B.4 Shared Data Sources -- B.5 Extra Task Combinators -- B.6 Examples -- C How to Install -- C.1 Fetch the CEFP distribution -- C.2 Setup -- C.3 Compile the Test Program -- C.4 Setup the Microcontroller Unit -- D Solutions -- References -- Paint Your Programs Green: On the Energy Efficiency of Data Structures -- 1 Introduction -- 2 Data Structures Libraries -- 2.1 Haskell Data Structures -- 2.2 Java Data Structures -- 3 Experimental Setup -- 3.1 Haskell Operations -- 3.2 Java Operations -- 3.3 Measuring Energy Consumption -- 4 Comparing Data Structure Energy Consumption -- 4.1 Haskell Data Structures -- 4.2 Java Data Structures -- 5 Related Work.
6 Conclusions -- References -- Energy Efficient Software in an Engineering Course -- 1 Introduction -- 2 Energy Efficient Software in Higher Education -- 2.1 Sustainable Development and Its Dimentions -- 2.2 Sustainable Development in Higher Education -- 2.3 Energy Efficient Software in Higher Education -- 3 Software Analysis and Testing with a Green Flavor -- 3.1 Green Software: A Multidisciplinary Module -- 3.2 Green Software: Module Objectives -- 3.3 Green Software: Module Supporting Tools -- 4 Energy Efficent Software: Students Assessment -- 4.1 A Catalog of Energy Smells and Refactorings -- 4.2 Students Grades -- 5 Conclusions -- References -- Utilizing Rail Traffic Control Simulator in Verified Software Development Courses -- 1 Introduction -- 2 TD/TS2JC Toolset -- 2.1 Train Director -- 2.2 TS2JavaConn -- 2.3 Communication with Control Modules -- 3 Control Modules and Configuration Files -- 3.1 Non-parametric Module -- 3.2 Parametric Module -- 4 Teaching Verified Software Development in B-Method with TD/TS2JC Toolset -- 4.1 Software Development Process of B-Method -- 4.2 B-Language -- 4.3 Abstract Specification -- 4.4 Refinement to Implementation -- 4.5 Three Sections Control Module Development Project -- 5 Conclusion -- References -- The Role of Functional Programming in Management and Orchestration of Virtualized Network Resources -- 1 Introduction -- 2 Background -- 3 Network Evolution -- 3.1 Cloud Computing Platforms -- 3.2 Network Function Virtalisation and Software Defined Network -- 4 Management and Orchestration of Virtualized Network Resources -- 4.1 Design Principles for Implementing Autonomic Behavior -- 4.2 Current State -- 5 OpenStack -- 5.1 Graphical User Interface for Manipulating Virtual Resources -- 5.2 Authentification and Authorisation Functions -- 5.3 Management of Disk Images -- 5.4 Network Management Functions.
5.5 Management of Virtual Instances -- 5.6 Management of Persistent Memory -- 5.7 Management of Object Storage -- 5.8 Performance Measurement Functions -- 5.9 Orchestration Functions -- 6 Examples -- 6.1 Example 1 -- 6.2 Example 2 -- 6.3 Example 3 -- 6.4 Example 4 -- 7 Use Cases from Industry and Reflection on Design Principles -- 7.1 Virtualisation of Mobile Switching Centre -- 7.2 Management Functions for Reliable and Stable Operation -- 8 Discussion -- 9 Conclusion -- References -- Towards Better Tool Support for Code Comprehension -- 1 Introduction -- 2 Model of Code Comprehension -- 2.1 Top-Down Models -- 2.2 Bottom-Up Models -- 2.3 Other Approaches -- 2.4 The Role of Concept Location -- 3 Nature of the Problems -- 3.1 Growing Complexity -- 3.2 Knowledge Erosion -- 3.3 Multiple Views of the Software Based on Various Information Sources -- 3.4 Communication Barriers -- 3.5 Multiple Programming Languages -- 3.6 Hard to Deploy New Tools -- 3.7 Requirement of Open Extensibility -- 3.8 API Usage -- 4 State of the Art -- 5 The CodeCompass Architecture -- 5.1 Layers of the Architecture -- 5.2 Web User Interface -- 5.3 Language Server Protocol -- 5.4 Performance -- 6 Important Design Workflows -- 6.1 Bug Investigation -- 6.2 Feature Development Planning and Estimation -- 6.3 Refactoring -- 6.4 Knowledge Transfer and Newcomers' Catch-Up -- 7 User Acceptance in Real Production -- 8 Conclusion and Future Work -- References -- Balanced Distributed Computation Patterns -- 1 Introduction -- 2 Go Essentials -- 2.1 Syntax of Basic Language Elements -- 3 Concurrent Programming -- 3.1 Goroutine -- 3.2 WaitGroup -- 3.3 Mutual Exclusion -- 3.4 Channels -- 3.5 Select -- 3.6 Concurrency Principles -- 3.7 Parallelism -- 3.8 Concurrent Job Processing -- 4 Advanced Message Queueing Protocol (AMQP) -- 4.1 AMQP Components -- 4.2 Connection and Channel.
4.3 Safe Message Delivery in Go -- 4.4 Prefetch -- 4.5 AMQP at Network Failures -- 4.6 AMQP Management -- 4.7 AMQP Advantages -- 4.8 AMQP Usage -- 4.9 AMQP 0.9.1 Model -- 4.10 Go RabbitMQ Client Library -- 5 Distributed Programming -- 5.1 RabbitMQ Hello World -- 5.2 RabbitMQ Exchange -- 5.3 RabbitMQ Shared Queue -- 5.4 Parallel Receive -- 5.5 Distributed Job Processing -- 5.6 Distributed Pipeline -- 5.7 Distributed Divide and Conquer -- 6 Testing Performances -- 7 Related Work -- 8 Conclusion -- A Code Listings and Outputs -- A.1 Parallel Receive -- A.2 Distributed Job Processing with Shared Response Queue, Version2 -- A.3 Distributed Job Processing with Private Response Queue, Version3 -- A.4 Distributed Job Processing with Worker Generator, Version4 -- A.5 Distributed Pipeline with Connection Confirmation (Version 2) -- A.6 Distributed Pipeline with Worker Generator (Version 3) -- A.7 Distributed Divide and Conquer -- B Task for Readers -- References -- PhD Workshop -- Tunnel Parsing -- 1 Introduction -- 2 Parsing Overview -- 3 Problem -- 4 Tunnel Parsing Algorithm -- 4.1 Tunnels -- 4.2 Routers -- 4.3 Segments -- 4.4 Control Layer -- 5 Results -- 6 Conclusion -- References -- Finding Code Clone Refactoring Techniques by Mapping Clone Context -- 1 Introduction -- 2 Background and Related Work -- 2.1 Clone Context Analysis -- 2.2 Clone Refactoring -- 3 Context Analysis of Clones -- 3.1 Relation -- 3.2 Location -- 3.3 Contents -- 4 CloneRefactor -- 5 Experimental Setup -- 5.1 The Corpus -- 5.2 Tool Validation -- 6 Results -- 6.1 Relation -- 6.2 Location -- 6.3 Contents -- 7 Discussion -- 8 Conclusion -- References -- Code Quality Metrics for Functional Features in Modern Object-Oriented Languages -- 1 Introduction -- 2 Problem Analysis -- 3 Candidate Measures -- 3.1 Number of Lambda-Functions Used in a Class (LC) -- 3.2 Source Lines of Lambda (SLOL).
3.3 Lambda Score (LSc) -- 3.4 Number of Lambda-Functions Using Mutable Field Variables in a Class (LMFV) -- 3.5 Number of Lambda-Functions Using Mutable Local Variables in a Class (LMLV) -- 3.6 Number of Lambda-Functions with Side-Effects Used in a Class (LSE) -- 3.7 Number of Non-terminated Collection Queries in a Class (UTQ) -- 4 Experimental Setup -- 4.1 Methodology -- 4.2 Relating Functional Constructs to Error-Proneness -- 4.3 Measuring Functional Constructs -- 4.4 Measuring Error-Proneness -- 4.5 Dataset -- 5 Experimental Evaluation -- 6 Threats to Validity -- 7 Related Work -- 8 Conclusion and Discussion -- References -- An Empirical Study on the Energy Efficiency of Matrix Transposition Algorithms -- 1 Introduction -- 2 Related Work -- 2.1 Energy Complexity Model -- 2.2 Empirical Studies on Cache Efficiency -- 2.3 Empirical Studies on Energy Efficiency -- 3 Algorithms for Matrix Transposition -- 4 Methodology and Experimental Setup -- 4.1 Experimental Setup -- 4.2 Performance Counter Measurement Tools -- 4.3 Intermediate Machine Code Generation Tool -- 5 Experimental Analysis -- 6 Conclusion and Future Work -- References -- Author Index.
Record Nr. UNINA-9910754096803321
Porkoláb Zoltán  
Cham : , : Springer International Publishing : , : Imprint : Springer, , 2023
Materiale a stampa
Lo trovi qui: Univ. Federico II
Opac: Controlla la disponibilità qui
Composability, Comprehensibility and Correctness of Working Software [[electronic resource] ] : 8th Summer School, CEFP 2019, Budapest, Hungary, June 17–21, 2019, Revised Selected Papers / / edited by Zoltán Porkoláb, Viktória Zsók
Composability, Comprehensibility and Correctness of Working Software [[electronic resource] ] : 8th Summer School, CEFP 2019, Budapest, Hungary, June 17–21, 2019, Revised Selected Papers / / edited by Zoltán Porkoláb, Viktória Zsók
Autore Porkoláb Zoltán
Edizione [1st ed. 2023.]
Pubbl/distr/stampa Cham : , : Springer International Publishing : , : Imprint : Springer, , 2023
Descrizione fisica 1 online resource (398 pages)
Disciplina 005.11
Altri autori (Persone) ZsókViktória
Collana Lecture Notes in Computer Science
Soggetto topico Computer programming
Software engineering
Compilers (Computer programs)
Computer science
Programming Techniques
Software Engineering
Compilers and Interpreters
Computer Science Logic and Foundations of Programming
ISBN 3-031-42833-1
Formato Materiale a stampa
Livello bibliografico Monografia
Lingua di pubblicazione eng
Nota di contenuto Intro -- Preface -- Organization -- Contents -- Main Lectures -- Writing Internet of Things Applications with Task Oriented Programming -- 1 Introduction -- 1.1 Internet of Things -- 1.2 Task Oriented Programming -- 1.3 iTask -- 1.4 TOP for the IoT -- 1.5 Structure of the Paper -- 2 mTask system architecture -- 2.1 Blink -- 2.2 Language -- 2.3 Class Based Shallow Embedding -- 2.4 DSL design -- 2.5 Backends -- 2.6 Bytecode -- 2.7 Skeleton -- 3 mTask language -- 3.1 Expressions -- 3.2 Functions -- 3.3 Basic Tasks -- 3.4 Parallel Task Combinators -- 3.5 Threaded Blinking -- 3.6 Sequential Task Combinators -- 3.7 Shared Data Source -- 3.8 Lifted Shared Data Sources -- 3.9 Interactive Blinking -- 3.10 Peripherals -- 4 IoT applications with TOP -- 4.1 Hardware and Client -- 4.2 Temperature -- 4.3 LED matrix -- 4.4 Temperature Plotter -- 5 Related Work -- 5.1 Interpretation -- 5.2 Task Oriented Programming -- 5.3 Functional Reactive Programming -- 5.4 Functional Programming -- 5.5 Multitasking -- 5.6 mTask history -- 6 Discussion -- A Embedded Domain Specific Language Techniques -- A.1 Deep Embedding -- A.2 Shallow Embedding -- B iTask reference -- B.1 Types -- B.2 Editors -- B.3 Task Combinators -- B.4 Shared Data Sources -- B.5 Extra Task Combinators -- B.6 Examples -- C How to Install -- C.1 Fetch the CEFP distribution -- C.2 Setup -- C.3 Compile the Test Program -- C.4 Setup the Microcontroller Unit -- D Solutions -- References -- Paint Your Programs Green: On the Energy Efficiency of Data Structures -- 1 Introduction -- 2 Data Structures Libraries -- 2.1 Haskell Data Structures -- 2.2 Java Data Structures -- 3 Experimental Setup -- 3.1 Haskell Operations -- 3.2 Java Operations -- 3.3 Measuring Energy Consumption -- 4 Comparing Data Structure Energy Consumption -- 4.1 Haskell Data Structures -- 4.2 Java Data Structures -- 5 Related Work.
6 Conclusions -- References -- Energy Efficient Software in an Engineering Course -- 1 Introduction -- 2 Energy Efficient Software in Higher Education -- 2.1 Sustainable Development and Its Dimentions -- 2.2 Sustainable Development in Higher Education -- 2.3 Energy Efficient Software in Higher Education -- 3 Software Analysis and Testing with a Green Flavor -- 3.1 Green Software: A Multidisciplinary Module -- 3.2 Green Software: Module Objectives -- 3.3 Green Software: Module Supporting Tools -- 4 Energy Efficent Software: Students Assessment -- 4.1 A Catalog of Energy Smells and Refactorings -- 4.2 Students Grades -- 5 Conclusions -- References -- Utilizing Rail Traffic Control Simulator in Verified Software Development Courses -- 1 Introduction -- 2 TD/TS2JC Toolset -- 2.1 Train Director -- 2.2 TS2JavaConn -- 2.3 Communication with Control Modules -- 3 Control Modules and Configuration Files -- 3.1 Non-parametric Module -- 3.2 Parametric Module -- 4 Teaching Verified Software Development in B-Method with TD/TS2JC Toolset -- 4.1 Software Development Process of B-Method -- 4.2 B-Language -- 4.3 Abstract Specification -- 4.4 Refinement to Implementation -- 4.5 Three Sections Control Module Development Project -- 5 Conclusion -- References -- The Role of Functional Programming in Management and Orchestration of Virtualized Network Resources -- 1 Introduction -- 2 Background -- 3 Network Evolution -- 3.1 Cloud Computing Platforms -- 3.2 Network Function Virtalisation and Software Defined Network -- 4 Management and Orchestration of Virtualized Network Resources -- 4.1 Design Principles for Implementing Autonomic Behavior -- 4.2 Current State -- 5 OpenStack -- 5.1 Graphical User Interface for Manipulating Virtual Resources -- 5.2 Authentification and Authorisation Functions -- 5.3 Management of Disk Images -- 5.4 Network Management Functions.
5.5 Management of Virtual Instances -- 5.6 Management of Persistent Memory -- 5.7 Management of Object Storage -- 5.8 Performance Measurement Functions -- 5.9 Orchestration Functions -- 6 Examples -- 6.1 Example 1 -- 6.2 Example 2 -- 6.3 Example 3 -- 6.4 Example 4 -- 7 Use Cases from Industry and Reflection on Design Principles -- 7.1 Virtualisation of Mobile Switching Centre -- 7.2 Management Functions for Reliable and Stable Operation -- 8 Discussion -- 9 Conclusion -- References -- Towards Better Tool Support for Code Comprehension -- 1 Introduction -- 2 Model of Code Comprehension -- 2.1 Top-Down Models -- 2.2 Bottom-Up Models -- 2.3 Other Approaches -- 2.4 The Role of Concept Location -- 3 Nature of the Problems -- 3.1 Growing Complexity -- 3.2 Knowledge Erosion -- 3.3 Multiple Views of the Software Based on Various Information Sources -- 3.4 Communication Barriers -- 3.5 Multiple Programming Languages -- 3.6 Hard to Deploy New Tools -- 3.7 Requirement of Open Extensibility -- 3.8 API Usage -- 4 State of the Art -- 5 The CodeCompass Architecture -- 5.1 Layers of the Architecture -- 5.2 Web User Interface -- 5.3 Language Server Protocol -- 5.4 Performance -- 6 Important Design Workflows -- 6.1 Bug Investigation -- 6.2 Feature Development Planning and Estimation -- 6.3 Refactoring -- 6.4 Knowledge Transfer and Newcomers' Catch-Up -- 7 User Acceptance in Real Production -- 8 Conclusion and Future Work -- References -- Balanced Distributed Computation Patterns -- 1 Introduction -- 2 Go Essentials -- 2.1 Syntax of Basic Language Elements -- 3 Concurrent Programming -- 3.1 Goroutine -- 3.2 WaitGroup -- 3.3 Mutual Exclusion -- 3.4 Channels -- 3.5 Select -- 3.6 Concurrency Principles -- 3.7 Parallelism -- 3.8 Concurrent Job Processing -- 4 Advanced Message Queueing Protocol (AMQP) -- 4.1 AMQP Components -- 4.2 Connection and Channel.
4.3 Safe Message Delivery in Go -- 4.4 Prefetch -- 4.5 AMQP at Network Failures -- 4.6 AMQP Management -- 4.7 AMQP Advantages -- 4.8 AMQP Usage -- 4.9 AMQP 0.9.1 Model -- 4.10 Go RabbitMQ Client Library -- 5 Distributed Programming -- 5.1 RabbitMQ Hello World -- 5.2 RabbitMQ Exchange -- 5.3 RabbitMQ Shared Queue -- 5.4 Parallel Receive -- 5.5 Distributed Job Processing -- 5.6 Distributed Pipeline -- 5.7 Distributed Divide and Conquer -- 6 Testing Performances -- 7 Related Work -- 8 Conclusion -- A Code Listings and Outputs -- A.1 Parallel Receive -- A.2 Distributed Job Processing with Shared Response Queue, Version2 -- A.3 Distributed Job Processing with Private Response Queue, Version3 -- A.4 Distributed Job Processing with Worker Generator, Version4 -- A.5 Distributed Pipeline with Connection Confirmation (Version 2) -- A.6 Distributed Pipeline with Worker Generator (Version 3) -- A.7 Distributed Divide and Conquer -- B Task for Readers -- References -- PhD Workshop -- Tunnel Parsing -- 1 Introduction -- 2 Parsing Overview -- 3 Problem -- 4 Tunnel Parsing Algorithm -- 4.1 Tunnels -- 4.2 Routers -- 4.3 Segments -- 4.4 Control Layer -- 5 Results -- 6 Conclusion -- References -- Finding Code Clone Refactoring Techniques by Mapping Clone Context -- 1 Introduction -- 2 Background and Related Work -- 2.1 Clone Context Analysis -- 2.2 Clone Refactoring -- 3 Context Analysis of Clones -- 3.1 Relation -- 3.2 Location -- 3.3 Contents -- 4 CloneRefactor -- 5 Experimental Setup -- 5.1 The Corpus -- 5.2 Tool Validation -- 6 Results -- 6.1 Relation -- 6.2 Location -- 6.3 Contents -- 7 Discussion -- 8 Conclusion -- References -- Code Quality Metrics for Functional Features in Modern Object-Oriented Languages -- 1 Introduction -- 2 Problem Analysis -- 3 Candidate Measures -- 3.1 Number of Lambda-Functions Used in a Class (LC) -- 3.2 Source Lines of Lambda (SLOL).
3.3 Lambda Score (LSc) -- 3.4 Number of Lambda-Functions Using Mutable Field Variables in a Class (LMFV) -- 3.5 Number of Lambda-Functions Using Mutable Local Variables in a Class (LMLV) -- 3.6 Number of Lambda-Functions with Side-Effects Used in a Class (LSE) -- 3.7 Number of Non-terminated Collection Queries in a Class (UTQ) -- 4 Experimental Setup -- 4.1 Methodology -- 4.2 Relating Functional Constructs to Error-Proneness -- 4.3 Measuring Functional Constructs -- 4.4 Measuring Error-Proneness -- 4.5 Dataset -- 5 Experimental Evaluation -- 6 Threats to Validity -- 7 Related Work -- 8 Conclusion and Discussion -- References -- An Empirical Study on the Energy Efficiency of Matrix Transposition Algorithms -- 1 Introduction -- 2 Related Work -- 2.1 Energy Complexity Model -- 2.2 Empirical Studies on Cache Efficiency -- 2.3 Empirical Studies on Energy Efficiency -- 3 Algorithms for Matrix Transposition -- 4 Methodology and Experimental Setup -- 4.1 Experimental Setup -- 4.2 Performance Counter Measurement Tools -- 4.3 Intermediate Machine Code Generation Tool -- 5 Experimental Analysis -- 6 Conclusion and Future Work -- References -- Author Index.
Record Nr. UNISA-996558467403316
Porkoláb Zoltán  
Cham : , : Springer International Publishing : , : Imprint : Springer, , 2023
Materiale a stampa
Lo trovi qui: Univ. di Salerno
Opac: Controlla la disponibilità qui