NDLI logo
  • Content
  • Similar Resources
  • Metadata
  • Cite This
  • Log-in
  • Fullscreen
Log-in
Do not have an account? Register Now
Forgot your password? Account recovery
  1. Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications (OOPSLA '13)
  2. Refactoring with synthesis
Loading...

Please wait, while we are loading the content...

Empirical analysis of programming language adoption
Efficient context sensitivity for dynamic analyses via calling context uptrees and customized memory management
CDSchecker: checking concurrent data structures written with C/C++ atomics
Instant pickles: generating object-oriented pickler combinators for fast and extensible serialization
Set-based pre-processing for points-to analysis
Semi-automatic rename refactoring for JavaScript
Data-driven equivalence checking
Do developers benefit from generic types?: an empirical comparison of generic and raw types in java
Multiverse: efficiently supporting distributed high-level speculation
Barrier invariants: a shared state abstraction for the analysis of data-dependent GPU kernels
Input-covering schedules for multithreaded programs
Combining concern input with program analysis for bloat detection
On-the-fly detection of instability problems in floating-point program execution
Steering symbolic execution to less traveled paths
Miniboxing: improving the speed to code size tradeoff in parametric polymorphism translations
Effective race detection for event-driven programs
Interacting with dead objects
MrCrypt: static analysis for secure cloud computations
Refactoring with synthesis
Synthesis modulo recursive functions
Option contracts
Fully concurrent garbage collection of actors on many-core machines
Guided GUI testing of android apps with minimal restart and approximate learning
OCTET: capturing and controlling cross-thread dependences efficiently
Injecting mechanical faults to localize developer faults for evolving software
Bounded partial-order reduction
Verifying quantitative reliability for programs that execute on unreliable hardware
Taking off the gloves with reference counting Immix
Storage strategies for collections in dynamically typed languages
Python: the full monty
Ironclad C++: a library-augmented type-safe subset of c++
Bottle graphs: visualizing scalability bottlenecks in multi-threaded applications
Code optimizations using formally verified properties
Language support for dynamic, hierarchical data partitioning
Isolation for nested task parallelism
Targeted and depth-first exploration for systematic testing of android apps
Online feedback-directed optimizations for parallel Java code
Efficient concurrency-bug detection across inputs
On-the-fly capacity planning
Resurrector: a tunable object lifetime profiling technique for optimizing real-world programs
Forsaking inheritance: supercharged delegation in DelphJ
Flexible access control for javascript
Ball-Larus path profiling across multiple loop iterations
Inductive invariant generation via abductive inference
Class hierarchy complementation: soundly completing a partial type graph
Turning nondeterminism into parallelism
The latency, accuracy, and battery (LAB) abstraction: programmer productivity and energy efficiency for continuous mobile context sensing
River trail: a path to parallelism in JavaScript
Detecting API documentation errors
Relaxed separation logic: a program logic for C11 concurrency

Similar Documents

...
Refactoring with synthesis

Article

...
Scaling testing of refactoring engines ( SPLASH Companion 2016 )

Article

...
Refactoring with synthesis (2013)

Article

...
Manual refactoring changes with automated refactoring validation

Article

...
Refactoring class hierarchies with KABA

Article

...
Feature oriented refactoring of legacy applications

Article

...
Clone refactoring with lambda expressions

Article

...
A foundation for refactoring C with macros

Article

...
Scripting a refactoring with Rascal and Eclipse

Article

Refactoring with synthesis

Content Provider ACM Digital Library
Author Sridharan, Manu Vechev, Martin Raychev, Veselin Schäfer, Max
Abstract Refactoring has become an integral part of modern software development, with wide support in popular integrated development environments (IDEs). Modern IDEs provide a fixed set of supported refactorings, listed in a refactoring menu. But with IDEs supporting more and more refactorings, it is becoming increasingly difficult for programmers to discover and memorize all their names and meanings. Also, since the set of refactorings is hard-coded, if a programmer wants to achieve a slightly different code transformation, she has to either apply a (possibly non-obvious) sequence of several built-in refactorings, or just perform the transformation by hand. We propose a novel approach to refactoring, based on synthesis from examples, which addresses these limitations. With our system, the programmer need not worry how to invoke individual refactorings or the order in which to apply them. Instead, a transformation is achieved via three simple steps: the programmer first indicates the start of a code refactoring phase; then she performs some of the desired code changes manually; and finally, she asks the tool to complete the refactoring. Our system completes the refactoring by first extracting the difference between the starting program and the modified version, and then synthesizing a sequence of refactorings that achieves (at least) the desired changes. To enable scalable synthesis, we introduce local refactorings, which allow for first discovering a refactoring sequence on small program fragments and then extrapolating it to a full refactoring sequence. We implemented our approach as an Eclipse plug-in, with an architecture that is easily extendable with new refactorings. The experimental results are encouraging: with only minimal user input, the synthesizer was able to quickly discover complex refactoring sequences for several challenging realistic examples.
Starting Page 339
Ending Page 354
Page Count 16
File Format PDF
ISBN 9781450323741
DOI 10.1145/2509136.2509544
Language English
Publisher Association for Computing Machinery (ACM)
Publisher Date 2013-10-29
Publisher Place New York
Access Restriction Subscribed
Subject Keyword Synthesis Refactoring
Content Type Text
Resource Type Article
  • About
  • Disclaimer
  • Feedback
  • Sponsor
  • Contact
  • Chat with Us
About National Digital Library of India (NDLI)
NDLI logo

National Digital Library of India (NDLI) is a virtual repository of learning resources which is not just a repository with search/browse facilities but provides a host of services for the learner community. It is sponsored and mentored by Ministry of Education, Government of India, through its National Mission on Education through Information and Communication Technology (NMEICT). Filtered and federated searching is employed to facilitate focused searching so that learners can find the right resource with least effort and in minimum time. NDLI provides user group-specific services such as Examination Preparatory for School and College students and job aspirants. Services for Researchers and general learners are also provided. NDLI is designed to hold content of any language and provides interface support for 10 most widely used Indian languages. It is built to provide support for all academic levels including researchers and life-long learners, all disciplines, all popular forms of access devices and differently-abled learners. It is designed to enable people to learn and prepare from best practices from all over the world and to facilitate researchers to perform inter-linked exploration from multiple sources. It is developed, operated and maintained from Indian Institute of Technology Kharagpur.

Learn more about this project from here.

Disclaimer

NDLI is a conglomeration of freely available or institutionally contributed or donated or publisher managed contents. Almost all these contents are hosted and accessed from respective sources. The responsibility for authenticity, relevance, completeness, accuracy, reliability and suitability of these contents rests with the respective organization and NDLI has no responsibility or liability for these. Every effort is made to keep the NDLI portal up and running smoothly unless there are some unavoidable technical issues.

Feedback

Sponsor

Ministry of Education, through its National Mission on Education through Information and Communication Technology (NMEICT), has sponsored and funded the National Digital Library of India (NDLI) project.

Contact National Digital Library of India
Central Library (ISO-9001:2015 Certified)
Indian Institute of Technology Kharagpur
Kharagpur, West Bengal, India | PIN - 721302
See location in the Map
03222 282435
Mail: support@ndl.gov.in
Sl. Authority Responsibilities Communication Details
1 Ministry of Education (GoI),
Department of Higher Education
Sanctioning Authority https://www.education.gov.in/ict-initiatives
2 Indian Institute of Technology Kharagpur Host Institute of the Project: The host institute of the project is responsible for providing infrastructure support and hosting the project https://www.iitkgp.ac.in
3 National Digital Library of India Office, Indian Institute of Technology Kharagpur The administrative and infrastructural headquarters of the project Dr. B. Sutradhar  bsutra@ndl.gov.in
4 Project PI / Joint PI Principal Investigator and Joint Principal Investigators of the project Dr. B. Sutradhar  bsutra@ndl.gov.in
Prof. Saswat Chakrabarti  will be added soon
5 Website/Portal (Helpdesk) Queries regarding NDLI and its services support@ndl.gov.in
6 Contents and Copyright Issues Queries related to content curation and copyright issues content@ndl.gov.in
7 National Digital Library of India Club (NDLI Club) Queries related to NDLI Club formation, support, user awareness program, seminar/symposium, collaboration, social media, promotion, and outreach clubsupport@ndl.gov.in
8 Digital Preservation Centre (DPC) Assistance with digitizing and archiving copyright-free printed books dpc@ndl.gov.in
9 IDR Setup or Support Queries related to establishment and support of Institutional Digital Repository (IDR) and IDR workshops idr@ndl.gov.in
I will try my best to help you...
Cite this Content
Loading...