Open Access. Powered by Scholars. Published by Universities.®
Physical Sciences and Mathematics Commons™
Open Access. Powered by Scholars. Published by Universities.®
Articles 1 - 4 of 4
Full-Text Articles in Physical Sciences and Mathematics
Better Refactoring Tools For A Better Refactoring Strategy, Andrew P. Black
Better Refactoring Tools For A Better Refactoring Strategy, Andrew P. Black
Computer Science Faculty Publications and Presentations
Refactoring tools can improve the speed and accuracy with which we create and maintain software – but only if they are used. In practice, tools are not used as much as they could be; this seems to be because they do not align with the refactoring strategy preferred by the majority of programmers: floss refactoring. We propose five principles that characterize successful floss refactoring tools – principles that can help programmers to choose the most appropriate refactoring tools and also help toolsmiths to design more usable tools.
A Framework For Relationship Pattern Languages, Sudarshan Murthy, David Maier
A Framework For Relationship Pattern Languages, Sudarshan Murthy, David Maier
Computer Science Faculty Publications and Presentations
A relationship pattern is an abstraction of a recurring need when establishing relationships among information elements in specific contexts. By developing or leveraging a relationship pattern, modelers can solve a class of problems once and describe many relationship types at once. We have developed a framework for specifying relationship patterns and pattern languages (sets of patterns) in both modeling-language-independent and modeling-language-specific ways. We describe this framework both informally and formally. We provide examples of some commonly observed relationship patterns and show how to use them in ER with the help of a relationship pattern language called Exemplar. We also provide …
Scalable Concurrent Hash Tables Via Relativistic Programming, Josh Triplett
Scalable Concurrent Hash Tables Via Relativistic Programming, Josh Triplett
Computer Science Faculty Publications and Presentations
Existing approaches to concurrent programming often fail to account for synchronization costs on modern shared-memory multipro- cessor architectures. A new approach to concurrent programming, known as relativistic programming, can reduce or in some cases eliminate synchronization overhead on such architectures. This approach avoids the costs of inter-processor communication and memory access by permitting processors to operate from a relativistic view of memory provided by their own caches, rather than from an absolute reference frame of memory as seen by all processors. This research shows how relativistic programming techniques can provide the perceived advantages of optimistic synchronization without the useless parallelism …
Refactoring Tools: Fitness For Purpose, Emerson Murphy-Hill, Andrew P. Black
Refactoring Tools: Fitness For Purpose, Emerson Murphy-Hill, Andrew P. Black
Computer Science Faculty Publications and Presentations
Refactoring tools can improve the speed and accuracy with which we create and maintain software -- but only if they are used. In practice, tools are not used as much as they could be: this seems to be because sometimes they do not align with the refactoring tactic preferred by the majority of programmers, a tactic we call floss refactoring. We propose five principles that characterize successful floss refactoring tools -- principles that can help programmers to choose the most appropriate refactoring tools and also help toolsmiths to design tools that fit the programmer's purpose.