26 results on '"Sen, Koushik"'
Search Results
2. SlimFit: Memory-Efficient Fine-Tuning of Transformer-based Models Using Training Dynamics
- Author
-
Ardakani, Arash, Haan, Altan, Tan, Shangyin, Popovici, Doru Thom, Cheung, Alvin, Iancu, Costin, and Sen, Koushik
- Subjects
FOS: Computer and information sciences ,Computer Science - Computation and Language ,Computation and Language (cs.CL) - Abstract
Transformer-based models, such as BERT and ViT, have achieved state-of-the-art results across different natural language processing (NLP) and computer vision (CV) tasks. However, these models are extremely memory intensive during their fine-tuning process, making them difficult to deploy on GPUs with limited memory resources. To address this issue, we introduce a new tool called SlimFit that reduces the memory requirements of these models by dynamically analyzing their training dynamics and freezing less-contributory layers during fine-tuning. The layers to freeze are chosen using a runtime inter-layer scheduling algorithm. SlimFit adopts quantization and pruning for particular layers to balance the load of dynamic activations and to minimize the memory footprint of static activations, where static activations refer to those that cannot be discarded regardless of freezing. This allows SlimFit to freeze up to 95% of layers and reduce the overall on-device GPU memory usage of transformer-based models such as ViT and BERT by an average of 2.2x, across different NLP and CV benchmarks/datasets such as GLUE, SQuAD 2.0, CIFAR-10, CIFAR-100 and ImageNet with an average degradation of 0.2% in accuracy. For such NLP and CV tasks, SlimFit can reduce up to 3.1x the total on-device memory usage with an accuracy degradation of only up to 0.4%. As a result, while fine-tuning of ViT on ImageNet and BERT on SQuAD 2.0 with a batch size of 128 requires 3 and 2 32GB GPUs respectively, SlimFit enables their fine-tuning on a single 32GB GPU without any significant accuracy degradation.
- Published
- 2023
- Full Text
- View/download PDF
3. ItyFuzz: Snapshot-Based Fuzzer for Smart Contract
- Author
-
Shou, Chaofan, Tan, Shangyin, and Sen, Koushik
- Subjects
Software Engineering (cs.SE) ,FOS: Computer and information sciences ,Computer Science - Software Engineering ,Computer Science - Cryptography and Security ,Cryptography and Security (cs.CR) - Abstract
Smart contracts are critical financial instruments, and their security is of utmost importance. However, smart contract programs are difficult to fuzz due to the persistent blockchain state behind all transactions. Mutating sequences of transactions are complex and often lead to a suboptimal exploration for both input and program spaces. In this paper, we introduce a novel snapshot-based fuzzer ItyFuzz for testing smart contracts. In ItyFuzz, instead of storing sequences of transactions and mutating from them, we snapshot states and singleton transactions. To explore interesting states, ItyFuzz introduces a dataflow waypoint mechanism to identify states with more potential momentum. ItyFuzz also incorporates comparison waypoints to prune the space of states. By maintaining snapshots of the states, ItyFuzz can synthesize concrete exploits like reentrancy attacks quickly. Because ItyFuzz has second-level response time to test a smart contract, it can be used for on-chain testing, which has many benefits compared to local development testing. Finally, we evaluate ItyFuzz on real-world smart contracts and some hacked on-chain DeFi projects. ItyFuzz outperforms existing fuzzers in terms of instructional coverage and can find and generate realistic exploits for on-chain projects quickly., Comment: ISSTA 2023
- Published
- 2023
- Full Text
- View/download PDF
4. Benchmarking Language Models for Code Syntax Understanding
- Author
-
Shen, Da, Chen, Xinyun, Wang, Chenguang, Sen, Koushik, and Song, Dawn
- Subjects
Computer Science - Computation and Language - Abstract
Pre-trained language models have demonstrated impressive performance in both natural language processing and program understanding, which represent the input as a token sequence without explicitly modeling its structure. Some prior works show that pre-trained language models can capture the syntactic rules of natural languages without finetuning on syntax understanding tasks. However, there is limited understanding of how well pre-trained models understand the code structure so far. In this work, we perform the first thorough benchmarking of the state-of-the-art pre-trained models for identifying the syntactic structures of programs. Specifically, we introduce CodeSyntax, a large-scale dataset of programs annotated with the syntactic relationships in their corresponding abstract syntax trees. Our key observation is that existing language models pretrained on code still lack the understanding of code syntax. In fact, these pre-trained programming language models fail to match the performance of simple baselines based on positional offsets and keywords. We also present a natural language benchmark to highlight the differences between natural languages and programming languages in terms of syntactic structure understanding. Our findings point out key limitations of existing pre-training methods for programming languages, and suggest the importance of modeling code syntactic structures., Comment: Findings of EMNLP 2022
- Published
- 2022
5. PALT: Parameter-Lite Transfer of Language Models for Knowledge Graph Completion
- Author
-
Shen, Jianhao, Wang, Chenguang, Yuan, Ye, Han, Jiawei, Ji, Heng, Sen, Koushik, Zhang, Ming, and Song, Dawn
- Subjects
FOS: Computer and information sciences ,Artificial Intelligence (cs.AI) ,Computer Science - Computation and Language ,Computer Science - Artificial Intelligence ,Computation and Language (cs.CL) - Abstract
This paper presents a parameter-lite transfer learning approach of pretrained language models (LM) for knowledge graph (KG) completion. Instead of finetuning, which modifies all LM parameters, we only tune a few new parameters while keeping the original LM parameters fixed. We establish this via reformulating KG completion as a "fill-in-the-blank" task, and introducing a parameter-lite encoder on top of the original LMs. We show that, by tuning far fewer parameters than finetuning, LMs transfer non-trivially to most tasks and reach competitiveness with prior state-of-the-art approaches. For instance, we outperform the fully finetuning approaches on a KG completion benchmark by tuning only 1% of the parameters. The code and datasets are available at \url{https://github.com/yuanyehome/PALT}., Findings of EMNLP 2022
- Published
- 2022
6. The Nature of Unseen Companions in Massive Single-Line Spectroscopic Binaries
- Author
-
Sana, Hugues, Abdul-Masih, Michael, Banyard, Gareth, Bodensteiner, Julia, Bowman, Dominic M., Dsilva, Karan, Eldridge, C., Fabry, Matthias, Frost, Abigail J., Hawcroft, Calum, Janssens, Soetkin, Mahy, Laurent, Marchant, Pablo, Langer, Norbert, Van Reeth, Timothy, Sen, Koushik, and Shenar, Tomer
- Subjects
High Energy Astrophysical Phenomena (astro-ph.HE) ,Astrophysics - Solar and Stellar Astrophysics ,Astrophysics of Galaxies (astro-ph.GA) ,FOS: Physical sciences ,Astrophysics - High Energy Astrophysical Phenomena ,Astrophysics - Astrophysics of Galaxies ,Solar and Stellar Astrophysics (astro-ph.SR) - Abstract
Massive stars are predominantly found in binaries and higher order multiples. While the period and eccentricity distributions of OB stars are now well established across different metallicity regimes, the determination of mass-ratios has been mostly limited to double-lined spectroscopic binaries. As a consequence, the mass-ratio distribution remains subject to significant uncertainties. Open questions include the shape and extent of the companion mass-function towards its low-mass end and the nature of undetected companions in single-lined spectroscopic binaries. In this contribution, we present the results of a large and systematic analysis of a sample of over 80 single-lined O-type spectroscopic binaries (SB1s) in the Milky Way and in the Large Magellanic Cloud (LMC). We report on the developed methodology, the constraints obtained on the nature of SB1 companions, the distribution of O star mass-ratios at LMC metallicity and the occurrence of quiescent OB+black hole binaries., To appear in the proceedings of IAUS361: Massive stars near and far; 6 pages, 1 figure
- Published
- 2022
7. The Sky Above The Clouds
- Author
-
Chasins, Sarah, Cheung, Alvin, Crooks, Natacha, Ghodsi, Ali, Goldberg, Ken, Gonzalez, Joseph E., Hellerstein, Joseph M., Jordan, Michael I., Joseph, Anthony D., Mahoney, Michael W., Parameswaran, Aditya, Patterson, David, Popa, Raluca Ada, Sen, Koushik, Shenker, Scott, Song, Dawn, and Stoica, Ion
- Subjects
Computer Science - Distributed, Parallel, and Cluster Computing - Abstract
Technology ecosystems often undergo significant transformations as they mature. For example, telephony, the Internet, and PCs all started with a single provider, but in the United States each is now served by a competitive market that uses comprehensive and universal technology standards to provide compatibility. This white paper presents our view on how the cloud ecosystem, barely over fifteen years old, could evolve as it matures., Comment: 35 pages
- Published
- 2022
8. LGV: Boosting Adversarial Example Transferability from Large Geometric Vicinity
- Author
-
Gubri, Martin, Cordy, Maxime, Papadakis, Mike, Traon, Yves Le, and Sen, Koushik
- Subjects
FOS: Computer and information sciences ,Computer Science - Machine Learning ,Computer Science - Cryptography and Security ,Statistics - Machine Learning ,Computer Vision and Pattern Recognition (cs.CV) ,Computer Science - Computer Vision and Pattern Recognition ,Machine Learning (stat.ML) ,Cryptography and Security (cs.CR) ,Machine Learning (cs.LG) - Abstract
We propose transferability from Large Geometric Vicinity (LGV), a new technique to increase the transferability of black-box adversarial attacks. LGV starts from a pretrained surrogate model and collects multiple weight sets from a few additional training epochs with a constant and high learning rate. LGV exploits two geometric properties that we relate to transferability. First, models that belong to a wider weight optimum are better surrogates. Second, we identify a subspace able to generate an effective surrogate ensemble among this wider optimum. Through extensive experiments, we show that LGV alone outperforms all (combinations of) four established test-time transformations by 1.8 to 59.9 percentage points. Our findings shed new light on the importance of the geometry of the weight space to explain the transferability of adversarial examples., Comment: Accepted at ECCV 2022
- Published
- 2022
- Full Text
- View/download PDF
9. LGV: Boosting Adversarial Example Transferability from Large Geometric Vicinity
- Author
-
Gubri, Martin, Cordy, Maxime, Papadakis, Mike, Traon, Yves Le, and Sen, Koushik
- Subjects
adversarial examples ,Computer science [C05] [Engineering, computing & technology] ,Transferability ,Loss Geometry ,deep learning ,Sciences informatiques [C05] [Ingénierie, informatique & technologie] ,adversarial machine learning - Abstract
We propose transferability from Large Geometric Vicinity (LGV), a new technique to increase the transferability of black-box adversarial attacks. LGV starts from a pretrained surrogate model and collects multiple weight sets from a few additional training epochs with a constant and high learning rate. LGV exploits two geometric properties that we relate to transferability. First, models that belong to a wider weight optimum are better surrogates. Second, we identify a subspace able to generate an effective surrogate ensemble among this wider optimum. Through extensive experiments, we show that LGV alone outperforms all (combinations of) four established test-time transformations by 1.8 to 59.9\% points. Our findings shed new light on the importance of the geometry of the weight space to explain the transferability of adversarial examples.
- Published
- 2022
10. The Sky Above The Clouds
- Author
-
Chasins, Sarah, Cheung, Alvin, Crooks, Natacha, Ghodsi, Ali, Goldberg, Ken, Gonzalez, Joseph E., Hellerstein, Joseph M., Jordan, Michael I., Joseph, Anthony D., Mahoney, Michael W., Parameswaran, Aditya, Patterson, David, Popa, Raluca Ada, Sen, Koushik, Shenker, Scott, Song, Dawn, and Stoica, Ion
- Subjects
FOS: Computer and information sciences ,Distributed, Parallel, and Cluster Computing (cs.DC) - Abstract
Technology ecosystems often undergo significant transformations as they mature. For example, telephony, the Internet, and PCs all started with a single provider, but in the United States each is now served by a competitive market that uses comprehensive and universal technology standards to provide compatibility. This white paper presents our view on how the cloud ecosystem, barely over fifteen years old, could evolve as it matures., 35 pages
- Published
- 2022
- Full Text
- View/download PDF
11. Ansor : Generating High-Performance Tensor Programs for Deep Learning
- Author
-
Zheng, Lianmin, Jia, Chengfan, Sun, Minmin, Wu, Zhao, Yu, Cody Hao, Haj-Ali, Ameer, Wang, Yida, Yang, Jun, Zhuo, Danyang, Sen, Koushik, Gonzalez, Joseph E., and Stoica, Ion
- Subjects
Performance (cs.PF) ,FOS: Computer and information sciences ,Computer Science - Machine Learning ,Computer Science - Performance ,Computer Science - Programming Languages ,Statistics - Machine Learning ,Computer Science - Neural and Evolutionary Computing ,Machine Learning (stat.ML) ,Neural and Evolutionary Computing (cs.NE) ,Machine Learning (cs.LG) ,Programming Languages (cs.PL) - Abstract
High-performance tensor programs are crucial to guarantee efficient execution of deep neural networks. However, obtaining performant tensor programs for different operators on various hardware platforms is notoriously challenging. Currently, deep learning systems rely on vendor-provided kernel libraries or various search strategies to get performant tensor programs. These approaches either require significant engineering effort to develop platform-specific optimization code or fall short of finding high-performance programs due to restricted search space and ineffective exploration strategy. We present Ansor, a tensor program generation framework for deep learning applications. Compared with existing search strategies, Ansor explores many more optimization combinations by sampling programs from a hierarchical representation of the search space. Ansor then fine-tunes the sampled programs with evolutionary search and a learned cost model to identify the best programs. Ansor can find high-performance programs that are outside the search space of existing state-of-the-art approaches. In addition, Ansor utilizes a task scheduler to simultaneously optimize multiple subgraphs in deep neural networks. We show that Ansor improves the execution performance of deep neural networks relative to the state-of-the-art on the Intel CPU, ARM CPU, and NVIDIA GPU by up to $3.8\times$, $2.6\times$, and $1.7\times$, respectively., Published in OSDI 2020
- Published
- 2020
12. QFAST: Quantum Synthesis Using a Hierarchical Continuous Circuit Space
- Author
-
Younis, Ed, Sen, Koushik, Yelick, Katherine, and Iancu, Costin
- Subjects
Quantum Physics ,FOS: Physical sciences ,Quantum Physics (quant-ph) - Abstract
We present QFAST, a quantum synthesis tool designed to produce short circuits and to scale well in practice. Our contributions are: 1) a novel representation of circuits able to encode placement and topology; 2) a hierarchical approach with an iterative refinement formulation that combines "coarse-grained" fast optimization during circuit structure search with a good, but slower, optimization stage only in the final circuit instantiation stage. When compared against state-of-the-art techniques, although not optimal, QFAST can generate much shorter circuits for "time dependent evolution" algorithms used by domain scientists. We also show the composability and tunability of our formulation in terms of circuit depth and running time. For example, we show how to generate shorter circuits by plugging in the best available third party synthesis algorithm at a given hierarchy level. Composability enables portability across chip architectures, which is missing from the available approaches.
- Published
- 2020
13. Efficient and Transferable Adversarial Examples from Bayesian Neural Networks
- Author
-
Gubri, Martin, Cordy, Maxime, Papadakis, Mike, Le Traon, Yves, and Sen, Koushik
- Subjects
Machine Learning ,Computer science [C05] [Engineering, computing & technology] ,FOS: Computer and information sciences ,Computer Science - Machine Learning ,Deep Learning ,Transferability ,Neural Networks ,Statistics - Machine Learning ,Adversarial examples ,Machine Learning (stat.ML) ,Sciences informatiques [C05] [Ingénierie, informatique & technologie] ,Bayesian ,Machine Learning (cs.LG) - Abstract
An established way to improve the transferability of black-box evasion attacks is to craft the adversarial examples on an ensemble-based surrogate to increase diversity. We argue that transferability is fundamentally related to uncertainty. Based on a state-of-the-art Bayesian Deep Learning technique, we propose a new method to efficiently build a surrogate by sampling approximately from the posterior distribution of neural network weights, which represents the belief about the value of each parameter. Our extensive experiments on ImageNet, CIFAR-10 and MNIST show that our approach improves the success rates of four state-of-the-art attacks significantly (up to 83.2 percentage points), in both intra-architecture and inter-architecture transferability. On ImageNet, our approach can reach 94% of success rate while reducing training computations from 11.6 to 2.4 exaflops, compared to an ensemble of independently trained DNNs. Our vanilla surrogate achieves 87.5% of the time higher transferability than three test-time techniques designed for this purpose. Our work demonstrates that the way to train a surrogate has been overlooked, although it is an important element of transfer-based attacks. We are, therefore, the first to review the effectiveness of several training methods in increasing transferability. We provide new directions to better understand the transferability phenomenon and offer a simple but strong baseline for future work., Comment: Accepted at UAI 2022
- Published
- 2020
- Full Text
- View/download PDF
14. Context2Name: A Deep Learning-Based Approach to Infer Natural Variable Names from Usage Contexts
- Author
-
Bavishi, Rohan, Pradel, Michael, and Sen, Koushik
- Subjects
Software Engineering (cs.SE) ,FOS: Computer and information sciences ,Computer Science - Software Engineering ,Computer Science - Machine Learning ,Computer Science - Programming Languages ,Statistics - Machine Learning ,Machine Learning (stat.ML) ,Machine Learning (cs.LG) ,Programming Languages (cs.PL) - Abstract
Most of the JavaScript code deployed in the wild has been minified, a process in which identifier names are replaced with short, arbitrary and meaningless names. Minified code occupies less space, but also makes the code extremely difficult to manually inspect and understand. This paper presents Context2Name, a deep learningbased technique that partially reverses the effect of minification by predicting natural identifier names for minified names. The core idea is to predict from the usage context of a variable a name that captures the meaning of the variable. The approach combines a lightweight, token-based static analysis with an auto-encoder neural network that summarizes usage contexts and a recurrent neural network that predict natural names for a given usage context. We evaluate Context2Name with a large corpus of real-world JavaScript code and show that it successfully predicts 47.5% of all minified identifiers while taking only 2.9 milliseconds on average to predict a name. A comparison with the state-of-the-art tools JSNice and JSNaughty shows that our approach performs comparably in terms of accuracy while improving in terms of efficiency. Moreover, Context2Name complements the state-of-the-art by predicting 5.3% additional identifiers that are missed by both existing tools.
- Published
- 2018
- Full Text
- View/download PDF
15. FairFuzz: Targeting Rare Branches to Rapidly Increase Greybox Fuzz Testing Coverage
- Author
-
Lemieux, Caroline and Sen, Koushik
- Subjects
Software Engineering (cs.SE) ,FOS: Computer and information sciences ,Computer Science - Software Engineering ,Computer Science - Cryptography and Security ,Cryptography and Security (cs.CR) - Abstract
In recent years, fuzz testing has proven itself to be one of the most effective techniques for finding correctness bugs and security vulnerabilities in practice. One particular fuzz testing tool, American Fuzzy Lop or AFL, has become popular thanks to its ease-of-use and bug-finding power. However, AFL remains limited in the depth of program coverage it achieves, in particular because it does not consider which parts of program inputs should not be mutated in order to maintain deep program coverage. We propose an approach, FairFuzz, that helps alleviate this limitation in two key steps. First, FairFuzz automatically prioritizes inputs exercising rare parts of the program under test. Second, it automatically adjusts the mutation of inputs so that the mutated inputs are more likely to exercise these same rare parts of the program. We conduct evaluation on real-world programs against state-of-the-art versions of AFL, thoroughly repeating experiments to get good measures of variability. We find that on certain benchmarks FairFuzz shows significant coverage increases after 24 hours compared to state-of-the-art versions of AFL, while on others it achieves high program coverage at a significantly faster rate.
- Published
- 2017
- Full Text
- View/download PDF
16. Report of the HPC Correctness Summit, Jan 25--26, 2017, Washington, DC
- Author
-
Gopalakrishnan, Ganesh, Hovland, Paul D., Iancu, Costin, Krishnamoorthy, Sriram, Laguna, Ignacio, Lethin, Richard A., Sen, Koushik, Siegel, Stephen F., and Solar-Lezama, Armando
- Subjects
FOS: Computer and information sciences ,Computer Science - Distributed, Parallel, and Cluster Computing ,Distributed, Parallel, and Cluster Computing (cs.DC) - Abstract
Maintaining leadership in HPC requires the ability to support simulations at large scales and fidelity. In this study, we detail one of the most significant productivity challenges in achieving this goal, namely the increasing proclivity to bugs, especially in the face of growing hardware and software heterogeneity and sheer system scale. We identify key areas where timely new research must be proactively begun to address these challenges, and create new correctness tools that must ideally play a significant role even while ramping up toward exacale. We close with the proposal for a two-day workshop in which the problems identified in this report can be more broadly discussed, and specific plans to launch these new research thrusts identified., Comment: 57 pages
- Published
- 2017
- Full Text
- View/download PDF
17. OPR
- Author
-
Qian, Xuehai, Sen, Koushik, Hargrove, Paul, and Iancu, Costin
- Subjects
Software Engineering - Abstract
The ability to reproduce a parallel execution is desirable for debugging and program reliability purposes. In debugging (13), the programmer needs to manually step back in time, while for resilience (6) this is automatically performed by the the application upon failure. To be useful, replay has to faithfully reproduce the original execution. For parallel programs the main challenge is inferring and maintaining the order of conflicting operations (data races). Deterministic record and replay (R&R) techniques have been developed for multithreaded shared memory programs (5), as well as distributed memory programs (14). Our main interest is techniques for large scale scientific (3; 4) programming models.
- Published
- 2016
18. SReplay
- Author
-
Qian, Xuehai, Sen, Koushik, Hargrove, Paul, and Iancu, Costin
- Abstract
Replay of parallel execution is required by HPC debuggers and resilience mechanisms. Up-to-date, there is no existing deterministic replay solution for one-sided communication. The essential problem is that the readers of updated data do not have any information on which remote threads produced the updates, the conventional happens-before based ordering tracking techniques are challenging to work at scale. This paper presents SReplay, the first software tool for sub-group deterministic record and replay for one-sided communication. SReplay allows the user to specify and record the execution of a set of threads of interest (sub-group), and then deterministically replays the execution of the sub-group on a local machine without starting the remaining threads. SReplay ensures sub-group determinism using a hybrid dataand order-replay technique. SReplay maintains scalability by a combination of local logging and approximative event order tracking within sub-group. Our evaluation on deterministic and nondeterministic UPC programs shows that SReplay introduces an overhead ranging from 1:3× to 29×, when running on 1,024 cores and tracking up to 16 threads.
- Published
- 2016
19. OPR
- Author
-
Qian, Xuehai, Sen, Koushik, Hargrove, Paul, and Iancu, Costin
- Subjects
Software Engineering - Published
- 2016
20. Trace Typing: An Approach for Evaluating Retrofitted Type Systems
- Author
-
Andreasen, Esben Sparre, Gordon, Colin Stebbins, Chandra, Satish, Sridharan, Manu, Tip, Frank, Sen, Koushik, Krishnamurthi, Shriram, and Lerner, Benjamin S.
- Subjects
000 Computer science, knowledge, general works ,Computer Science - Abstract
Recent years have seen growing interest in the retrofitting of type systems onto dynamically-typed programming languages, in order to improve type safety, programmer productivity, or performance. In such cases, type system developers must strike a delicate balance between disallowing certain coding patterns to keep the type system simple, or including them at the expense of additional complexity and effort. Thus far, the process for designing retrofitted type systems has been largely ad hoc, because evaluating multiple variations of a type system on large bodies of existing code is a significant undertaking. We present trace typing: a framework for automatically and quantitatively evaluating variations of a retrofitted type system on large code bases. The trace typing approach involves gathering traces of program executions, inferring types for instances of variables and expressions occurring in a trace, and merging types according to merge strategies that reflect specific (combinations of) choices in the source-level type system design space. We evaluated trace typing through several experiments. We compared several variations of type systems retrofitted onto JavaScript, measuring the number of program locations with type errors in each case on a suite of over fifty thousand lines of JavaScript code. We also used trace typing to validate and guide the design of a new retrofitted type system that enforces fixed object layout for JavaScript objects. Finally, we leveraged the types computed by trace typing to automatically identify tag tests --- dynamic checks that refine a type --- and examined the variety of tests identified.
- Published
- 2016
- Full Text
- View/download PDF
21. Trace Typing: An Approach for Evaluating Retrofitted Type Systems (Extended Version)
- Author
-
Andreasen, Esben, Gordon, Colin S., Chandra, Satish, Sridharan, Manu, Tip, Frank, and Sen, Koushik
- Subjects
FOS: Computer and information sciences ,Computer Science - Programming Languages ,F.3.3 ,Programming Languages (cs.PL) - Abstract
Recent years have seen growing interest in the retrofitting of type systems onto dynamically-typed programming languages, in order to improve type safety, programmer productivity, or performance. In such cases, type system developers must strike a delicate balance between disallowing certain coding patterns to keep the type system simple, or including them at the expense of additional complexity and effort. Thus far, the process for designing retrofitted type systems has been largely ad hoc, because evaluating multiple variations of a type system on large bodies of existing code is a significant undertaking. We present trace typing: a framework for automatically and quantitatively evaluating variations of a retrofitted type system on large code bases. The trace typing approach involves gathering traces of program executions, inferring types for instances of variables and expressions occurring in a trace, and merging types according to merge strategies that reflect specific (combinations of) choices in the source-level type system design space. We evaluated trace typing through several experiments. We compared several variations of type systems retrofitted onto JavaScript, measuring the number of program locations with type errors in each case on a suite of over fifty thousand lines of JavaScript code. We also used trace typing to validate and guide the design of a new retrofitted type system that enforces fixed object layout for JavaScript objects. Finally, we leveraged the types computed by trace typing to automatically identify tag tests --- dynamic checks that refine a type --- and examined the variety of tests identified., Comment: Samsung Research America Technical Report
- Published
- 2016
- Full Text
- View/download PDF
22. Symbolic Execution and Constraint Solving (Dagstuhl Seminar 14442)
- Author
-
Cadar, Christian, Ganesh, Vijay, Sasnauskas, Raimondas, and Sen, Koushik
- Subjects
000 Computer science, knowledge, general works ,Computer Science - Abstract
This report documents the program and the outcomes of Dagstuhl Seminar 14442 "Symbolic Execution and Constraint Solving", whose main goals were to bring together leading researchers in the fields of symbolic execution and constraint solving, foster greater communication between these two communities and exchange ideas about new research directions in these fields. There has been a veritable revolution over the last decade in the symbiotic fields of constraint solving and symbolic execution. Even though key ideas behind symbolic execution were introduced more than three decades ago, it was only recently that these techniques became practical as a result of significant advances in constraint satisfiability and scalable combinations of concrete and symbolic execution. Thanks to these advances, testing and analysis techniques based on symbolic execution are having a major impact on many sub-fields of software engineering, computer systems, security, and others. New applications such as program and document repair are being enabled, while older applications such as model checking are being super-charged. Additionally, significant and fast-paced advances are being made in research at the intersection of traditional program analysis, symbolic execution and constraint solving. Therefore, this seminar brought together researchers in these varied fields in order to further facilitate collaborations that take advantage of this unique and fruitful confluence of ideas from the fields of symbolic execution and constraint solving.
- Published
- 2015
- Full Text
- View/download PDF
23. The Good, the Bad, and the Ugly: An Empirical Study of Implicit Type Conversions in JavaScript
- Author
-
Pradel, Michael and Sen, Koushik
- Subjects
TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES ,000 Computer science, knowledge, general works ,TheoryofComputation_LOGICSANDMEANINGSOFPROGRAMS ,Computer Science - Abstract
Most popular programming languages support situations where a value of one type is converted into a value of another type without any explicit cast. Such implicit type conversions, or type coercions, are a highly controversial language feature. Proponents argue that type coercions enable writing concise code. Opponents argue that type coercions are error-prone and that they reduce the understandability of programs. This paper studies the use of type coercions in JavaScript, a language notorious for its widespread use of coercions. We dynamically analyze hundreds of programs, including real-world web applications and popular benchmark programs. We find that coercions are widely used (in 80.42% of all function executions) and that most coercions are likely to be harmless (98.85%). Furthermore, we identify a set of rarely occurring and potentially harmful coercions that safer subsets of JavaScript or future language designs may want to disallow. Our results suggest that type coercions are significantly less evil than commonly assumed and that analyses targeted at real-world JavaScript programs must consider coercions.
- Published
- 2015
- Full Text
- View/download PDF
24. Analysis of Deformation Fabric in the Godhra Granite, Aravalli Mountain Belt (India): an Integratedfield, Microstructural and AMS Investigation
- Author
-
Sen, Koushik
- Subjects
Godhra Granite ,Integratedfield ,Deformation Fabric ,AMS Investigation ,Aravalli Mountain Belt ,Anisotropy ,Rheology - Published
- 2006
25. Combining Test Case Generation with Run-time Verification
- Author
-
Artho, Cyrille, Barringer, Howard, Goldberg, Allen, Havelund, Klaus, Khurshid, Sarfraz, Lowry, Mike, Pasareanu, Corina, Roşu, Grigore, Sen, Koushik, Visser, Willem, and Washington, Rich
- Subjects
Datavetenskap (datalogi) ,Computer Sciences - Abstract
QC 20170104
- Published
- 2005
26. ArtForm: a tool for exploring the codebase of form-based websites
- Author
-
Michael Benedikt, Franck van Breugel, Ben Spencer, Anders Møller, Sen, Koushik, and Bultan, Tevfik
- Subjects
JavaScript ,Web forms ,Concolic testing ,Symbolic execution ,Computer science ,JavaScript, concolic testing, symbolic execution, web forms ,020207 software engineering ,02 engineering and technology ,World Wide Web ,020204 information systems ,0202 electrical engineering, electronic engineering, information engineering ,computer ,Concolic execution ,computer.programming_language ,Codebase ,Range (computer programming) - Abstract
We describe ArtForm, a tool for exploring the codebase of dynamic data-driven websites where users enter data via forms. ArtForm extends an instrumented browser, so it can directly implement user interactions, adding in symbolic and concolic execution of JavaScript. The tool supports a range of exploration modes with varying degrees of user intervention. It includes a number of adaptations of concolic execution to the setting of form-based web programs.
- Published
- 2017
Catalog
Discovery Service for Jio Institute Digital Library
For full access to our library's resources, please sign in.