2,201 Hits in 5.5 sec

35 years on: to what extent has software engineering design achieved its goals?

C.L. Simons, I.C. Parmee, P.D. Coward
2003 IEE Proceedings - Software  
Knowledge of such similarities and dissimilarities may offer opportunities for software engineering to learn lessons from engineering design, for example in the generation and evaluation of solution variants  ...  software engineering theory and practice.  ...  test.  ... 
doi:10.1049/ip-sen:20031198 fatcat:gun27xyng5a3zauy4kmbvvy56u

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
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.  ...  Conclusion: Using our automated approach, we find that library developers are less likely to break APIs and tend to break client-used APIs when addressing these maintenance issues.  ...  [38] exploit API usage to understand popularity and usage patterns of clients.  ... 
arXiv:1709.09474v2 fatcat:z3bj4zvagzck5f3i2zt3jssalm

Hard-to-answer questions about code

Thomas D. LaToza, Brad A. Myers
2010 Evaluation and Usability of Programming Languages and Tools on - PLATEAU '10  
., what does the code do when an error occurs, how to refactor without breaking callers, or the implications of a specific change on security.  ...  The most frequently reported categories dealt with intent and rationale -what does this code do, what is it intended to do, and why was it done this way?  ...  Acknowledgments This study was conducted during a visit to the Human Interactions in Programming Group at Microsoft Research.  ... 
doi:10.1145/1937117.1937125 fatcat:ttctvzzo5naglpo3v2tc5nmftq

Is It Dangerous to Use Version Control Histories to Study Source Code Evolution? [chapter]

Stas Negara, Mohsen Vakilian, Nicholas Chen, Ralph E. Johnson, Danny Dig
2012 Lecture Notes in Computer Science  
How frequently do developers fix failing tests by changing the test itself? How many changes are committed to VCS without being tested? What is the temporal and spacial locality of changes?  ...  This allows us to answer: How much code evolution data is not stored in VCS? How much do developers intersperse refactorings and edits in the same commit?  ...  DE-F02-06ER25752, and by the National Science Foundation award number CCF 11-17960.  ... 
doi:10.1007/978-3-642-31057-7_5 fatcat:qooc6a7sdvhplcu6ssy7pvbsna

Refactoring: Improving the Design of Existing Code [chapter]

Martin Fowler
2002 Lecture Notes in Computer Science  
I do this because I like to prove to myself that the test does actually run and the test is actually testing what it's supposed to (which is why I prefer changing the tested code if I can).  ...  . • I follow the name with a short summary of the situation in which you need the refactoring and a summary of what the refactoring does.  ...  If you say things in multiple places, then when it comes time to change what you say, you have more things to change than you should.  ... 
doi:10.1007/3-540-45672-4_31 fatcat:4ija3tn2nnbctk5atyreyjlzxu

A field study of refactoring challenges and benefits

Miryung Kim, Thomas Zimmermann, Nachiappan Nagappan
2012 Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering - FSE '12  
Our survey finds that the refactoring definition in practice is not confined to a rigorous definition of semanticspreserving code transformations and that developers perceive that refactoring involves  ...  It is widely believed that refactoring improves software quality and developer productivity.  ...  Thanks to the Microsoft Windows refactoring team for their help in understanding the data. Thanks to many managers and developers who volunteered their time to participate in our research.  ... 
doi:10.1145/2393596.2393655 dblp:conf/sigsoft/KimZN12 fatcat:7np4hyxkbbepviao46h5gxhnxe

RefaFlex: safer refactorings for reflective Java programs

Andreas Thies, Eric Bodden
2012 Proceedings of the 2012 International Symposium on Software Testing and Analysis - ISSTA 2012  
RefaFlex uses a dynamic program analysis to log reflective calls during test runs and then uses this information to proactively prevent the programmer from executing refactorings that could otherwise alter  ...  This makes re-running test cases obsolete: when a refactoring is permitted, tests passing originally are guaranteed to pass for the refactored program as well.  ...  We wish to thank Marcus Frenkel, Mira Mezini, Andreas Sewe, Jan Sinschek, and Friedrich Steimann for their comments, which greatly helped us improve an initial draft of this paper.  ... 
doi:10.1145/2338965.2336754 dblp:conf/issta/ThiesB12 fatcat:xelesc5tmfdjxdcx3dqjpqun7e

Tool Support for Complex Refactoring to Design Patterns [chapter]

Carmen Zannier, Frank Maurer
2003 Lecture Notes in Computer Science  
Complex refactorings are presented and are based on existing tool-supported refactorings, knowledge of the application to be changed, knowledge of design patterns, and the capability to generate code.  ...  These new categories organize refactorings by their potential for change and by the knowledge they require to introduce their change.  ...  The ability to better specify what refactoring does and to provide tool support for refactorings that introduce sound design via design patterns, is a key weapon in the challenge to support emerging design  ... 
doi:10.1007/3-540-44870-5_16 fatcat:wdsupuljuneobd6sysahdnijle

Old habits die hard: Why refactoring for understandability does not give immediate benefits

Erik Ammerlaan, Wim Veninga, Andy Zaidman
2015 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER)  
Our study suggests that refactoring code could result in a productivity penalty in the short term if the coding style becomes different from the style developers have grown attached to.  ...  Depending on the context, the benefits of clean code with respect to understandability might be less obvious in the short term than is often claimed.  ...  From this perspective, we are wondering to what extent refactoring can reduce that time?  ... 
doi:10.1109/saner.2015.7081865 dblp:conf/wcre/AmmerlaanVZ15 fatcat:jrvirud4arholpxku5csqmqbvq

How do i refactor this? An empirical study on refactoring trends and topics in Stack Overflow

Anthony Peruma, Steven Simmons, Eman Abdullah AlOmar, Christian D. Newman, Mohamed Wiem Mkaouer, Ali Ouni
2021 Empirical Software Engineering  
Analyzing the perception of developers is critical to understand better what developers consider to be problematic in their code and how they handle it.  ...  Our observations show five areas that developers typically require help with refactoring -- Code Optimization, Tools and IDEs, Architecture and Design Patterns, Unit Testing, and Database.  ...  Acknowledgments We would like to thank the reviewers at ESE for their detailed and invaluable feedback.  ... 
doi:10.1007/s10664-021-10045-x fatcat:lcvlevjmybfnhhyuaf3kpopmsi

Automated refactoring of rust programs

Garming Sam, Nick Cameron, Alex Potanin
2017 Proceedings of the Australasian Computer Science Week Multiconference on - ACSW '17  
We describe a new refactoring tool for Rust developers, including discussing the issues and unusual decisions encountered due to the complexities of modern systems languages.  ...  We outline lessons learned and hope our paper will help inform design of future programming languages and refactoring tools.  ...  In this manner, expanding testing does not necessarily need to be confined to the refactoring tool.  ... 
doi:10.1145/3014812.3014826 dblp:conf/acsw/SamCP17 fatcat:6pvcv4u7yfccbpmrjmneeokbze

An empirical investigation into the impact of refactoring on regression testing

Napol Rachatasumrit, Miryung Kim
2012 2012 28th IEEE International Conference on Software Maintenance (ICSM)  
(3) What proportion of failure-inducing changes are relevant to refactorings?  ...  (2) How many of existing regression tests are relevant to refactoring edits and thus need to be re-run for the new version?  ...  This work was in part supported by National Science Foundation under the grants CCF-1149391, CCF-1043810, and CCF-1117902, and by a Microsoft SEIF award.  ... 
doi:10.1109/icsm.2012.6405293 dblp:conf/icsm/RachatasumritK12 fatcat:sbtiwjinr5fa3gzsl7zc2l45fe

Refactoring Practices in the Context of Modern Code Review: An Industrial Case Study at Xerox [article]

Eman Abdullah AlOmar, Hussein AlRubaye, Mohamed Wiem Mkaouer, Ali Ouni, Marouane Kessentini
2021 arXiv   pre-print
This study aims to reveal insights into how reviewers develop a decision about accepting or rejecting a submitted refactoring request, and what makes such review challenging.  ...  Our survey with reviewers has also revealed several difficulties related to understanding the refactoring intent and implications on the functional and non-functional aspects of the software.  ...  ACKNOWLEDGEMENTS We would like to thank the Software Development Manager Wendy Abbott for approving the survey and all Xerox developers who volunteered their time to participate in this research.  ... 
arXiv:2102.05201v1 fatcat:v6pu4afaebfklmprslsz2g3ht4

Practical refactoring-based framework upgrade

Ilie Şavga, Michael Rudolf, Sebastian Götz, Uwe Aßmann
2008 Proceedings of the 7th international conference on Generative programming and component engineering - GPCE '08  
While manual plugin adaptation is expensive and error-prone, automatic adaptation demands cumbersome specifications, which the developers are reluctant to write and maintain.  ...  Two case studies of unconstrained API evolution show that our approach scales in a large number of adaptation scenarios and comparing to other adaptation techniques.  ...  Moreover, the refactoring-based adaptation not only reduces the costs and improves the quality of framework upgrade but also relaxes the constraints on the permitted API changes allowing for more appropriate  ... 
doi:10.1145/1449913.1449939 dblp:conf/gpce/SavgaRGA08 fatcat:dfnk2tuzkvghfcfmqywg3gdr74

Breaking the barriers to successful refactoring

Emerson Murphy-Hill, Andrew P. Black
2008 Proceedings of the 13th international conference on Software engineering - ICSE '08  
Refactoring can be semi-automated with tools, which should make it easier for programmers to refactor quickly and correctly.  ...  In this paper we characterize problems with current refactoring tools, demonstrate three new tools to assist in refactoring, and report on a user study that compares these new tools against existing tools  ...  Special thanks are due to participants in the user study and our anonymous reviewers for detailed, insightful criticism.  ... 
doi:10.1145/1368088.1368146 dblp:conf/icse/Murphy-HillB08 fatcat:ziivnmpuvvcj7ae7btds7kmrum
« Previous Showing results 1 — 15 out of 2,201 results