Filters








2,772 Hits in 3.3 sec

Automated detection of api refactorings in libraries

Kunal Taneja, Danny Dig, Tao Xie
2007 Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering - ASE '07  
In theory, the APIs of a library should be stable, but in practice they do change and thus require changes in software that reuses the library.  ...  Refac Lib uses syntactic analysis in the first phase to quickly detect refactoring candidates across two versions of a library.  ...  To reduce the efforts, we have developed a tool, RefacLib, to automatically detect refactorings in library APIs; these detected refactorings can be used to automatically upgrade the software systems.  ... 
doi:10.1145/1321631.1321688 dblp:conf/kbse/TanejaDX07 fatcat:6oe34zawljc5tk6dqb6fg6q3lq

An Empirical Study on the Impact of Refactoring Activities on Evolving Client-Used APIs [article]

Raula Gaikovina Kula, Ali Ouni, Daniel M. German, Katsuro Inoue
2017 arXiv   pre-print
For software libraries, we study how library developers refactor their Application Programming Interfaces (APIs), especially when it impacts client users by breaking an API of the library.  ...  Method: We distinguish between library APIs based on their client-usage (refereed to as client-used APIs) in order to understand the extent to which API breakages relate to refactorings.  ...  Related Work In this section, we introduce literature related to API usage, library migration support and library evolution. API usage.  ... 
arXiv:1709.09474v2 fatcat:z3bj4zvagzck5f3i2zt3jssalm

Automated upgrading of component-based applications

Danny Dig, Ralph Johnson
2006 Companion to the 21st ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications - OOPSLA '06  
Our study of the API changes in five components revealed that over 80% of the changes that break existing applications are caused by refactorings.  ...  Frameworks and libraries change their APIs. Migrating an application to the new API is tedious and disrupts the development process.  ...  Approach The Role of Refactorings in API Evolution: To learn what types of API changes cause problems for application developers, we looked at four well known frameworks and libraries from the open source  ... 
doi:10.1145/1176617.1176668 dblp:conf/oopsla/DigJ06 fatcat:xpu6y3cy7ranflmwpif42h2dey

Using refactorings to automatically update component-based applications

Danny Dig
2005 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications - OOPSLA '05  
We studied the API changes of three frameworks and one library and discovered that over 80% of the changes the break existing applications are refactorings.  ...  Frameworks and libraries change their APIs during evolution. Migrating an application to the new API is tedious and disrupts the development process.  ...  In the four case studies, respectively 84%, 81%, 90% and 97% of the API breaking changes are structural, behavior-preserving transformations (refactorings).  ... 
doi:10.1145/1094855.1094948 dblp:conf/oopsla/Dig05 fatcat:f7lahbwf3rdwfat53ei2fw466m

Using refactorings to automatically update component-based applications

Danny Dig
2005 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications - OOPSLA '05  
We studied the API changes of three frameworks and one library and discovered that over 80% of the changes the break existing applications are refactorings.  ...  Frameworks and libraries change their APIs during evolution. Migrating an application to the new API is tedious and disrupts the development process.  ...  In the four case studies, respectively 84%, 81%, 90% and 97% of the API breaking changes are structural, behavior-preserving transformations (refactorings).  ... 
doi:10.1145/1094855.1094951 dblp:conf/oopsla/Dig05a fatcat:3sxmgcqa5ffllasbaff5qhk37i

Automated API migration in a user-extensible refactoring tool for Erlang programs

Huiqing Li, Simon Thompson
2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering - ASE 2012  
Apart from providing a set of built-in refactorings and code inspection functionalities, Wrangler allows users to define refactorings, code inspections, and general program transformations for themselves  ...  This paper reports an extension to Wrangler's extension framework, supporting the automatic generation of API migration refactorings from a user-defined adapter module.  ...  Inference of refactorings in class upgrade is described in [7] ; our work depends on the library writer to describe the API adapter, but then infers refactorings from this, to 'fold' the adapter into  ... 
doi:10.1145/2351676.2351727 dblp:conf/kbse/LiT12 fatcat:h4rd3hhamfe55c3kj75xyl6y6q

IntelliTC: Automating Type Changes in IntelliJ IDEA [article]

Oleg Smirnov, Ameya Ketkar, Timofey Bryksin, Nikolaos Tsantalis, Danny Dig
2022 arXiv   pre-print
Such refactoring often involves updating not only the type of the element itself, but also the API of all type-dependent references in the code, thus it is tedious and time-consuming.  ...  Researchers have recently proposed a data-driven approach to inferring API rewrite rules for type change patterns in Java using code commits history.  ...  ACKNOWLEDGEMENTS We would like to thank Zarina Kurbatova for her help with the technical details of working with the IntelliJ Platform, Souti Chattopadhyay for helping us design the evaluation, Yaroslav  ... 
arXiv:2112.03619v2 fatcat:43534gdks5hwphqqavtbkasqgq

The role of refactorings in API evolution

D. Dig, R. Johnson
2005 21st IEEE International Conference on Software Maintenance (ICSM'05)  
To better understand the requirements for migration tools we studied the API changes of three frameworks and one library.  ...  Frameworks and libraries change their APIs. Migrating an application to the new API is tedious and disrupts the development process.  ...  Detection of class splitting and merging was the main target of tools described in [7, 27, 1, 11] . Clone detection can be used to detect some refactorings like renaming or moved method.  ... 
doi:10.1109/icsm.2005.90 dblp:conf/icsm/DigJ05 fatcat:kk6ng5rbabgcpiytt5svi4r7zq

A Systematic Review of the Literature of the Techniques to Perform Transformations in Software Engineering

Reudismam Rolim de Sousa
2020 Brazilian Journal of Development  
In this work, we present a systematic review of the literature of the techniques to do transformations in software engineering.  ...  be used to help tools' designer in the proposition of new approaches. keywords: Systematic Review of the Literature, Transformations, Software Engineering.  ...  Since some repetitive edits are recurring, IDEs automate, in the refactoring suites, common transformations (e.g., rename refactoring).  ... 
doi:10.34117/bjdv6n7-361 fatcat:dj43wxhojjbivajsipzzgmokea

Interactive, Effort-Aware Library Version Harmonization [article]

Kaifeng Huang, Bihuan Chen, Bowen Shi, Ying Wang, Congying Xu, Xin Peng
2020 arXiv   pre-print
a harmonized version with the least harmonization efforts based on library API usage analysis, and refactor build configuration files.  ...  harmonization efforts are that 1 and 12 library API calls are affected, respectively due to the deleted and changed library APIs in the harmonized version. 5 library version inconsistencies have been  ...  [71] generated new tests to detect behavior changes in refactored APIs. Mezzetti et al.  ... 
arXiv:2002.11066v1 fatcat:6i4dmiexnjajfjgb2qdypzvj6i

How do APIs evolve? A story of refactoring

Danny Dig, Ralph Johnson
2006 Journal of Software Maintenance and Evolution Research and Practice  
The set of public methods of a class library make up its API (Application Programmer Interface).  ...  To better understand the requirements for migration tools, we studied the API changes of four frameworks and one library.  ...  Darko Marinov, Johannes Henkel, Amer Diwan, Oscar Nierstrasz, Erich Gamma, Serge Demeyer, Doru Girba, Adam Kiezun, Frank Tip, Riley White, Danny Soroker, Bob Hanmer, anonymous reviewers, and the members of  ... 
doi:10.1002/smr.328 fatcat:giiflu5wfzbqnofgu2wlt7sahy

Refactoring references for library migration

Puneet Kapur, Brad Cossette, Robert J. Walker
2010 SIGPLAN notices  
Automated refactoring is a key feature of modern IDEs. Existing refactorings rely on the transformation of source code declarations, in which references may also be transformed as a side effect.  ...  However, there exist situations in which a declaration is not available for refactoring or would be inappropriate to transform, for example, in the presence of dangling references or where a set of references  ...  Research Council of Canada.  ... 
doi:10.1145/1932682.1869518 fatcat:2pzrzshdi5h6rm754ziebxmmxi

Refactoring for software maintenance: A Review of the literature

Rasha Alsarraj, atica Altaie
2021 Journal of education and science  
One of the techniques to increase the value of the software quality is refactoring - the set of activities for code enhancement through altering inner structure and not altering outer behavior of code.  ...  of the program, (4) refactoring activates can be applied many times to the source code.  ...  Acknowledgments The authors would like to express their thanks to University of Mosul/ College of Computer Sciences and Mathematics for the facilities provided by them, which were very helpful in improving  ... 
doi:10.33899/edusj.2020.127426.1085 doaj:735f2c85f4c64f909157832c1addb5e9 fatcat:zirwfbldbzfqdk4ektb33pvzdi

sql-schema-comparer: Support of multi-language refactoring with relational databases

Hagen Schink
2013 2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM)  
We discuss problems of database refactoring in regard to Java code and present sql-schema-comparer, a library to detect refactorings of database schemes.  ...  The sql-schema-comparer library is our first step to more advanced tools supporting developers in their database refactoring efforts.  ...  We state that adaption of database interaction after database refactoring is a manual task that is not likely to be completely automated in all cases.  ... 
doi:10.1109/scam.2013.6648199 dblp:conf/scam/Schink13 fatcat:gj4hky4io5hghlndjeap4yirnm

CatchUp!

Johannes Henkel, Amer Diwan
2005 Proceedings of the 27th international conference on Software engineering - ICSE '05  
Instead, we capture API refactoring actions as a developer evolves an API. Users of the API can then replay the refactorings to bring their client software components up to date. We present CatchUp!  ...  , an implementation of our approach that captures and replays refactoring actions within an integrated development environment semi-automatically.  ...  Even though automated inference of change operations or, in our case, detection of refactorings could be used as a basis for our system, we leverage the rich information available in modern development  ... 
doi:10.1145/1062455.1062512 dblp:conf/icse/HenkelD05 fatcat:q3fiiayplra3noxw6pxzd6j4p4
« Previous Showing results 1 — 15 out of 2,772 results