Static Analysis of JavaScript Programs for Bug Detection

Download Static Analysis of JavaScript Programs for Bug Detection PDF Online Free

Author :
Publisher :
ISBN 13 :
Total Pages : 264 pages
Book Rating : 4.:/5 (15 download)

DOWNLOAD NOW!


Book Synopsis Static Analysis of JavaScript Programs for Bug Detection by :

Download or read book Static Analysis of JavaScript Programs for Bug Detection written by and published by . This book was released on 2017 with total page 264 pages. Available in PDF, EPUB and Kindle. Book excerpt: JavaScript is an object-oriented language that was originally developed to make web pages more attractive. Gradually, its features became a good fit for non-browser applications. For a developer, JavaScript might not be the first choice of language. It supports first class functions, meaning that a function can appear anywhere one might normally pass values or objects. JavaScript allows the code to be dynamically evaluated through the eval function. Most of all, it is dynamically typed, which means that a variable can change types during a program execution. The above-mentioned JavaScript features make it flexible to use but also open doors to many vulnerabilities and programming errors. Although a lot of effort has been dedicated to the design and implementation of JavaScript static analyzers, a lot remains to be done. Tools to aid developers are still at an early stage. Those include editor support such as auto-completion and debugging as well as static analysis for code quality and bug detection. A type error in JavaScript occurs when calling a non-function value as a function or accessing or updating a property of null/undefined. Unlike other programming errors like reading an absent property of an object, a type error can cause a program to crash or malfunction. Motivated by the severity of type errors, we proposed solutions to enhance static analyzers detecting type errors. We introduced an extended domain of intervals to improve the precision of existing static analyzers. That extended domain of intervals was used in an existing static analyzer called JSAI [47] and was able to reduce the number of false positives by 39% [81]. With JavaScript numbers following the IEEE-754 standard, we later redesigned the extended domain of intervals to conform to standard with IEEE-754 floating point bounds and were able to further improve the precision in some benchmark programs [82]. Following this, we introduced a range assertion language for JavaScript programs. Unlike Java, JavaScript does not support assertions and developers have to write their own assertion functions. The range assertion language was motivated by the fact that, when accessing a non-existent index in an array in JavaScript, the arrayIndexOutOfBound exception is not thrown. Instead, the array access operation fails silently and an undefined value is returned. It is important to track such silent errors because the returned value that is undefined could cause some type errors in the remaining execution of a program. The range assertions are automatically checked during the execution of a program. Our evaluation reported one confirmed violation in seven benchmark programs analyzed. Following the range assertions, we proposed a novel abstract string domain for static conventionality analysis of JavaScript arrays. A JavaScript array object is just like any other kind of object except that it has a length property that is automatically updated. A conventional array is an array that does not have properties other than indices and length. Do JavaScript programmers use arrays conventionally just like in other object oriented languages? Do they use arrays like regular objects? We proposed a static conventionality analysis for JavaScript to help us to find answers to these questions. Conventionality analysis can be useful for program understanding and optimization. Our experiments on a set of 98 benchmark programs show that arrays are used in a conventional way in 95% of the benchmark programs. This thesis ends with a summary of the main contributions and discusses future work and research directions.

Combining Static and Dynamic Analysis for Bug Detection and Program Understanding

Download Combining Static and Dynamic Analysis for Bug Detection and Program Understanding PDF Online Free

Author :
Publisher :
ISBN 13 :
Total Pages : pages
Book Rating : 4.:/5 (964 download)

DOWNLOAD NOW!


Book Synopsis Combining Static and Dynamic Analysis for Bug Detection and Program Understanding by : Kaituo Li

Download or read book Combining Static and Dynamic Analysis for Bug Detection and Program Understanding written by Kaituo Li and published by . This book was released on 2016 with total page pages. Available in PDF, EPUB and Kindle. Book excerpt: This work proposes new combinations of static and dynamic analysis for bug detection and program understanding. There are 3 related but largely independent directions: a) In the area of dynamic invariant inference, we improve the consistency of dynamically discovered invariants by taking into account second-order constraints that encode knowledge about invariants; the second-order constraints are either supplied by the programmer or vetted by the programmer (among candidate constraints suggested automatically); b) In the area of testing dataflow (esp. map-reduce) programs, our tool, SEDGE, achieves higher testing coverage by leveraging existing input data and generalizing them using a symbolic reasoning engine (a powerful SMT solver); c) In the area of bug detection, we identify and present the concept of residual investigation: a dynamic analysis that serves as the runtime agent of a static analysis. Residual investigation identifies with higher certainty whether an error reported by the static analysis is likely true.

Static Analysis

Download Static Analysis PDF Online Free

Author :
Publisher : Springer Nature
ISBN 13 : 3030888061
Total Pages : 494 pages
Book Rating : 4.0/5 (38 download)

DOWNLOAD NOW!


Book Synopsis Static Analysis by : Cezara Drăgoi

Download or read book Static Analysis written by Cezara Drăgoi and published by Springer Nature. This book was released on 2021-10-13 with total page 494 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book constitutes the refereed proceedings of the 28th International Symposium on Static Analysis, SAS 2021, held in Chicago, IL, USA, in October 2021. The 18 regular and 4 short papers, carefully reviewed and selected from 48 submissions, are presented in this book together with 1-page summaries of the three invited talks. The papers cover topics such as static program analysis, abstract domain, abstract interpretation, automated deduction, debugging techniques, deductive methods, model checking, data science, program optimizations and transformations, program synthesis, program verification, and security analysis.

Static Analysis

Download Static Analysis PDF Online Free

Author :
Publisher : Springer Nature
ISBN 13 : 3031442458
Total Pages : 577 pages
Book Rating : 4.0/5 (314 download)

DOWNLOAD NOW!


Book Synopsis Static Analysis by : Manuel V. Hermenegildo

Download or read book Static Analysis written by Manuel V. Hermenegildo and published by Springer Nature. This book was released on 2023-10-23 with total page 577 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book constitutes the refereed proceedings of the 30th International Symposium on Static Analysis, SAS 2023, held in Lisbon, Portugal, in October 2023. The 20 full papers included in this book were carefully reviewed and selected from 40 submissions. Static analysis is widely recognized as a fundamental tool for program verification, bug detection, compiler optimization, program understanding, and software maintenance. The papers deal with theoretical, practical and application advances in the area.

Tracking the Evolution of Static Code Warnings

Download Tracking the Evolution of Static Code Warnings PDF Online Free

Author :
Publisher :
ISBN 13 :
Total Pages : 0 pages
Book Rating : 4.:/5 (139 download)

DOWNLOAD NOW!


Book Synopsis Tracking the Evolution of Static Code Warnings by : JUNJIE LI

Download or read book Tracking the Evolution of Static Code Warnings written by JUNJIE LI and published by . This book was released on 2022 with total page 0 pages. Available in PDF, EPUB and Kindle. Book excerpt: Static bug detection tools help developers detect problems in the code, including bad programming practices and potential defects. However, it is known that static bug detectors remain underutilized due to various reasons. Recent advances to incorporate static bug detectors in modern software development workflows, such as in code review and continuous integration, are shown capable of better motivating developers to fix the reported warnings on the fly. A proper mechanism to track the evolution of the reported warnings can better support such integration. Moreover, tracking the static code warnings will benefit many downstream software engineering tasks, such as learning the fix patterns for automated program repair and learning which warnings are of more interest, so they can be prioritized automatically. Hence, precisely tracking the warnings by static bug detectors is critical to improve the utilization of static bug detectors further. In this thesis, we study the effectiveness of the state-of-the-art (SOA) solution in tracking the warnings by static bug detectors and propose a better solution based on our analysis of the insufficiencies of the SOA solution. In particular, we examined over 2000 commits in four large-scale open-source systems (i.e., JClouds, Kafka, Spring-boot, and Guava) and crafted a dataset of 3,452 static code warnings by two static bug detectors (i.e., Spotbugs and PMD). We manually uncover the ground-truth evolution status of the static warnings: persistent, resolved, or newly-introduced. Moreover, upon manual analysis, we identified the main reasons behind the insufficiencies of the SOA solution. Finally, we propose a better approach to improve the tracking of static warnings over software development history. Our evaluation shows that our proposed approach provides a significant improvement in terms of the precision of the tracking, i.e., from 66.9% to 90.0%.

Tools and Methods of Program Analysis

Download Tools and Methods of Program Analysis PDF Online Free

Author :
Publisher : Springer
ISBN 13 : 3319717340
Total Pages : 225 pages
Book Rating : 4.3/5 (197 download)

DOWNLOAD NOW!


Book Synopsis Tools and Methods of Program Analysis by : Vladimir Itsykson

Download or read book Tools and Methods of Program Analysis written by Vladimir Itsykson and published by Springer. This book was released on 2017-12-29 with total page 225 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book constitutes the refereed proceedings of the 4th International Conference on Tools and Methods for Program Analysis, TMPA 2017, Moscow, Russia, March 3-4, 2017. The 12 revised full papers and 5 revised short papers presented together with three abstracts of keynote talks were carefully reviewed and selected from 51 submissions. The papers deal with topics such as software test automation, static program analysis, verification, dynamic methods of program analysis, testing and analysis of parallel and distributed systems, testing and analysis of high-load and high-availability systems, analysis and verification of hardware and software systems, methods of building quality software, tools for software analysis, testing and verification.

Static Analysis

Download Static Analysis PDF Online Free

Author :
Publisher : Springer Science & Business Media
ISBN 13 : 3642032362
Total Pages : 369 pages
Book Rating : 4.6/5 (42 download)

DOWNLOAD NOW!


Book Synopsis Static Analysis by : Jens Palsberg

Download or read book Static Analysis written by Jens Palsberg and published by Springer Science & Business Media. This book was released on 2009-07-20 with total page 369 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book constitutes the refereed proceedings of the 16th International Symposium on Static Analysis, SAS 2009, held in Los Angeles, CA, USA in August 2009 - co-located with LICS 2009, the 24th IEEE Symposium on Logic in Computer Science. The 21 revised full papers presented together with two invited lectures were carefully reviewed and selected from 52 submissions. The papers address all aspects of static analysis including abstract domains, abstract interpretation, abstract testing, compiler optimizations, control flow analysis, data flow analysis, model checking, program specialization, security analysis, theoretical analysis frameworks, type based analysis, and verification systems.

Dynamic Analysis for JavaScript Code

Download Dynamic Analysis for JavaScript Code PDF Online Free

Author :
Publisher :
ISBN 13 :
Total Pages : 127 pages
Book Rating : 4.:/5 (16 download)

DOWNLOAD NOW!


Book Synopsis Dynamic Analysis for JavaScript Code by : Liang Gong

Download or read book Dynamic Analysis for JavaScript Code written by Liang Gong and published by . This book was released on 2018 with total page 127 pages. Available in PDF, EPUB and Kindle. Book excerpt: The effectiveness of the widely adopted static analysis tools is often limited by JavaScript’s dynamic nature and the need to over-approximate runtime behaviors. To tackle this challenge, we research robust dynamic analysis techniques for real-world JavaScript code. To analyze front-end web applications, we first extend Jalangi which is a dynamic analysis framework based on source code instrumentation. Our extension of Jalangi intercepts and rewrites JavaScript code during network transmission. We also develop NodeSec, which is a dynamic instrumentation framework that traces and sandboxes the interactions between a Node.js program and the operating system. Based on the two frameworks, we research dynamic analysis techniques to detect correctness, performance, and security issues in JavaScript code. First, we present DLint, a dynamic analysis approach to check code quality rules in JavaScript. DLint consists of a generic framework and an extensible set of checkers that each addresses a particular rule. We formally describe and implement 28 checkers that address problems missed by state-of-the-art static approaches. Applying the approach in an empirical study on over 200 popular websites shows that static and dynamic checking complement each other. On average per website, DLint detects 49 problems that are missed statically, including visible bugs on the websites of IKEA, Hilton, eBay, and CNBC. Second, we present JITProf, a profiling framework to dynamically identify JIT-unfriendly code, which prohibits profitable JIT optimizations. The key idea is to associate meta-information with JavaScript objects and code locations, to update this information whenever particular runtime events occur, and to use the meta-information to identify JIT-unfriendly operations. We use JITProf to analyze widely used JavaScript web applications and show that JIT-unfriendly code is prevalent in practice. We show that refactoring JIT-unfriendly code identified by JITProf leads to statistically significant performance improvements of up to 26.3% in 15 popular benchmarks. Finally, we conduct the first large-scale empirical study of security issues on over 330,000 npm packages. We adopted an iterative approach to dynamically analyze those packages and identified 360 previously unknown malicious or vulnerable packages, 315 of which have been validated by the community so far; 258 of those issues are considered as highly severe. All those packages with security issues in aggregate have 2,138 downloads per day, stressing the risks for the Node.js ecosystem.

Fundamental Approaches to Software Engineering

Download Fundamental Approaches to Software Engineering PDF Online Free

Author :
Publisher : Springer
ISBN 13 : 3319893637
Total Pages : 361 pages
Book Rating : 4.3/5 (198 download)

DOWNLOAD NOW!


Book Synopsis Fundamental Approaches to Software Engineering by : Alessandra Russo

Download or read book Fundamental Approaches to Software Engineering written by Alessandra Russo and published by Springer. This book was released on 2018-04-11 with total page 361 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book is Open Access under a CC BY licence. This book constitutes the proceedings of the 21st International Conference on Fundamental Approaches to Software Engineering, FASE 2018, which took place in Thessaloniki, Greece in April 2018, held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018.The 19 papers presented in this volume were carefully reviewed and selected from 63 submissions. The papers are organized in topical sections named: model-based software development; distributed program and system analysis; software design and verification; specification and program testing; family-based software development.

Static Analysis

Download Static Analysis PDF Online Free

Author :
Publisher : Springer
ISBN 13 : 3662482886
Total Pages : 345 pages
Book Rating : 4.6/5 (624 download)

DOWNLOAD NOW!


Book Synopsis Static Analysis by : Sandrine Blazy

Download or read book Static Analysis written by Sandrine Blazy and published by Springer. This book was released on 2015-09-01 with total page 345 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book constitutes the refereed proceedings of the 22nd International Static Analysis Symposium, SAS 2015, held in Saint-Malo, France, in September 2015. The 18 papers presented in this volume were carefully reviewed and selected from 44 submissions. All fields of static analysis as a fundamental tool for program verification, bug detection, compiler optimization, program understanding, and software maintenance are addressed, featuring theoretical, practical, and application advances in the area

Applications of Evolutionary Computation

Download Applications of Evolutionary Computation PDF Online Free

Author :
Publisher : Springer
ISBN 13 : 3319557920
Total Pages : 263 pages
Book Rating : 4.3/5 (195 download)

DOWNLOAD NOW!


Book Synopsis Applications of Evolutionary Computation by : Giovanni Squillero

Download or read book Applications of Evolutionary Computation written by Giovanni Squillero and published by Springer. This book was released on 2017-04-03 with total page 263 pages. Available in PDF, EPUB and Kindle. Book excerpt: The two volumes LNCS 10199 and 10200 constitute the refereed conference proceedings of the 20th European Conference on the Applications of Evolutionary Computation, EvoApplications 2017, held in Amsterdam, The Netherlands, in April 2017, colocated with the Evo* 2016 events EuroGP, EvoCOP, and EvoMUSART. The 46 revised full papers presented together with 26 poster papers were carefully reviewed and selected from 108 submissions. EvoApplications 2016 consisted of the following 13 tracks: EvoBAFIN (natural computing methods in business analytics and finance), EvoBIO (evolutionary computation, machine learning and data mining in computational biology), EvoCOMNET (nature-inspired techniques for telecommunication networks and other parallel and distributed systems), EvoCOMPLEX (evolutionary algorithms and complex systems), EvoENERGY (evolutionary computation in energy applications), EvoGAMES (bio-inspired algorithms in games), EvoIASP (evolutionary computation in image analysis, signal processing, and pattern recognition), EvoINDUSTRY (nature-inspired techniques in industrial settings), EvoKNOW (knowledge incorporation in evolutionary computation), EvoNUM (bio-inspired algorithms for continuous parameter optimization), EvoPAR (parallel implementation of evolutionary algorithms), EvoROBOT (evolutionary robotics), EvoSET (nature-inspired algorithms in software engineering and testing), and EvoSTOC (evolutionary algorithms in stochastic and dynamic environments).

Pro JavaScript Development

Download Pro JavaScript Development PDF Online Free

Author :
Publisher : Apress
ISBN 13 : 1430262699
Total Pages : 454 pages
Book Rating : 4.4/5 (32 download)

DOWNLOAD NOW!


Book Synopsis Pro JavaScript Development by : Den Odell

Download or read book Pro JavaScript Development written by Den Odell and published by Apress. This book was released on 2014-08-28 with total page 454 pages. Available in PDF, EPUB and Kindle. Book excerpt: Pro JavaScript Development is a practical guide for front-end web developers who are experienced at building web pages with HTML, CSS, and JavaScript, and now wish to advance their JavaScript skills to a higher level. You will learn how to build large, well-structured, high quality, mobile-optimized web sites and apps, using the latest supported browser APIs, language features, and tools. This book teaches and shows you in practical hands-on terms how you can: Master the performance, reliability, stability, and code manageability of your JavaScript Understand and write efficient object-oriented and prototypal code, including full understanding of the ‘this’ keyword Boost the performance of your JavaScript code Architect large web applications using common design patterns Write high quality JavaScript code and avoid the pitfalls most likely to cause errors Manage code dependencies with AMD and RequireJS Develop for mobile, build games, and set up a real-time video chat using modern APIs such as Geolocation, Canvas and WebRTC Document your code as the professionals do Write command-line and web server applications in JavaScript with Node.js, Use build tools, such as Grunt and Gulp, to automate repetitive tasks and improve your development workflow Using real-world examples and applications that you'll build yourself, Pro JavaScript Development has unique, practical content that will make you a better JavaScript developer. Become a master of the latest JavaScript coding techniques and tools, and harness its best capabilities today.

Detection of Intrusions and Malware, and Vulnerability Assessment

Download Detection of Intrusions and Malware, and Vulnerability Assessment PDF Online Free

Author :
Publisher : Springer Nature
ISBN 13 : 303164171X
Total Pages : 563 pages
Book Rating : 4.0/5 (316 download)

DOWNLOAD NOW!


Book Synopsis Detection of Intrusions and Malware, and Vulnerability Assessment by : Federico Maggi

Download or read book Detection of Intrusions and Malware, and Vulnerability Assessment written by Federico Maggi and published by Springer Nature. This book was released on with total page 563 pages. Available in PDF, EPUB and Kindle. Book excerpt:

Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering

Download Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering PDF Online Free

Author :
Publisher :
ISBN 13 : 9781450330565
Total Pages : 856 pages
Book Rating : 4.3/5 (35 download)

DOWNLOAD NOW!


Book Synopsis Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering by : Shing-Chi Cheung

Download or read book Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering written by Shing-Chi Cheung and published by . This book was released on 2014 with total page 856 pages. Available in PDF, EPUB and Kindle. Book excerpt:

A Guide to Software Quality Engineering

Download A Guide to Software Quality Engineering PDF Online Free

Author :
Publisher : CRC Press
ISBN 13 : 1040027733
Total Pages : 148 pages
Book Rating : 4.0/5 (4 download)

DOWNLOAD NOW!


Book Synopsis A Guide to Software Quality Engineering by : Shravan Pargaonkar

Download or read book A Guide to Software Quality Engineering written by Shravan Pargaonkar and published by CRC Press. This book was released on 2024-06-04 with total page 148 pages. Available in PDF, EPUB and Kindle. Book excerpt: In today’s fast-paced digital world, delivering high-quality software is not just a goal; it’s an absolute necessity. A Guide to Software Quality Engineering is a companion book for anyone involved in software development, testing, or quality assurance. This comprehensive book takes you on a transformative journey through the world of software quality engineering, providing invaluable insights, practical methodologies, and expert advice that will elevate your projects to new levels of excellence. The book features the following points: • Performance Testing Security Testing • Usability Testing • Continuous Integration and Continuous Testing • Requirements Engineering and Quality • Code Quality and Static Analysis • Defect Management and Root Cause Analysis • Release and Deployment Management Dive into the fundamental principles of software quality engineering, understanding the critical role it plays in ensuring customer satisfaction, user experience, and the overall success of your software products. Whether you’re a seasoned professional or a budding enthusiast, this book caters to all levels of expertise.

Verification, Model Checking, and Abstract Interpretation

Download Verification, Model Checking, and Abstract Interpretation PDF Online Free

Author :
Publisher : Springer
ISBN 13 : 3030112454
Total Pages : 602 pages
Book Rating : 4.0/5 (31 download)

DOWNLOAD NOW!


Book Synopsis Verification, Model Checking, and Abstract Interpretation by : Constantin Enea

Download or read book Verification, Model Checking, and Abstract Interpretation written by Constantin Enea and published by Springer. This book was released on 2019-01-10 with total page 602 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book constitutes the refereed proceedings of the 20th International Conference on Verification, Model Checking, and Abstract Interpretation, VMCAI 2019, held in Cascais, Portugal, in January 2019.The 27 full papers presented together with the abstracts of 3 invited keynote talks were carefully reviewed and selected from 62 submissions. VMCAI provides topics including: program verification, model checking, abstract interpretation, program synthesis, static analysis, type systems, deductive methods, program certification, decision procedures, theorem proving, program certification, debugging techniques, program transformation, optimization, and hybrid and cyber-physical systems.

Web Engineering

Download Web Engineering PDF Online Free

Author :
Publisher : Springer
ISBN 13 : 3030192741
Total Pages : 592 pages
Book Rating : 4.0/5 (31 download)

DOWNLOAD NOW!


Book Synopsis Web Engineering by : Maxim Bakaev

Download or read book Web Engineering written by Maxim Bakaev and published by Springer. This book was released on 2019-04-25 with total page 592 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book constitutes the refereed proceedings of the 19th International Conference on Web Engineering, ICWE 2019, held in Daejeon, South Korea, in June 2019. The 26 full research papers and 9 short papers presented were carefully reviewed and selected from 106 submissions. Additionally, two demonstrations, four posters, and four contributions to the PhD symposium as well as five tutorials are included in this volume. The papers cover research areas such as Web mining and knowledge extraction, Web big data and Web data analytics, social Web applications and crowdsourcing, Web user interfaces, Web security and privacy, Web programming, Web services and computing, Semantic Web and linked open data applications, and Web application modeling and engineering.