Most object-oriented programs have imperfectly designed inheritance hierarchies and imperfectly factored methods, and these imperfections tend to increase with maintenance. Hence, even object-oriented programs are mor...
详细信息
ISBN:
(纸本)9780897917889
Most object-oriented programs have imperfectly designed inheritance hierarchies and imperfectly factored methods, and these imperfections tend to increase with maintenance. Hence, even object-oriented programs are more expensive to maintain? harder to understand and larger than necessary. Automatic restructuring of inheritance hierarchies and refactoring of methods can improve the design of inheritance hierarchies, and the factoring of methods. This results in programs being smaller, having better code re-use and being more consistent. This paper describes Guru, a prototype tool for automatic inheritance hierarchy restructuring and method refactoring of Self programs. Results from realistic applications of the tool are presented.
The object-oriented model is very successful to represent various phenomena in our real world from an entity-category point of view. However, it is not sufficient to model the dynamic actions of autonomous entities un...
详细信息
Predictive models can be used to discover potentially problematic components with source code metrics as input features. However, there are many structural and design metrics that capture related measures of coupling,...
详细信息
ISBN:
(纸本)9781595938657
Predictive models can be used to discover potentially problematic components with source code metrics as input features. However, there are many structural and design metrics that capture related measures of coupling, cohesion, inheritance, complexity and size. Feature selection is the process of identifying a subset of attributes that improves the performance of a predictive model. This paper presents initial results of using a parallel genetic algorithm as a feature selection method to enhance a predictive model's ability to identify cognitively complex components in a Java application.
During the core development phases, managers and software developers rightfully focus on the activities needed to complete the software's first release. They strive to minimize the project risk and to keep the sch...
详细信息
ISBN:
(纸本)9781595938657
During the core development phases, managers and software developers rightfully focus on the activities needed to complete the software's first release. They strive to minimize the project risk and to keep the schedule. The management of future releases, version identification, compatibility checks, migration and update strategies are often treated as an afterthought. In many systems this amount of naivety is what brings a project forward: solving the problems at their time. However, insufficiencies or inconsistencies here have all the potential to cause trouble once the software has met the customer.
We introduce a notation for diagramming the message sending dialogue that lakes place between objects participating in an object- oriented computation. Our representation takes a global point of view which emphasizes ...
详细信息
object-orientedsystems often exhibit idiomatic and recurring structures of objects and classes that solve particular design problems and make systems more flexible, elegant, and ultimately reusable. Design patterns h...
详细信息
Domain-Specific Modeling raises the level of abstraction beyond programming by specifying the solution directly using visual models to express domain concepts. In many cases, final products can be generated automatica...
详细信息
ISBN:
(纸本)9781595938657
Domain-Specific Modeling raises the level of abstraction beyond programming by specifying the solution directly using visual models to express domain concepts. In many cases, final products can be generated automatically from these high-level specifications. This automation is possible because both the language and generators fit the requirements of only one domain. This paper introduces Domain-Specific Modeling and describes the related 2-day workshop (21st and 22nd October).
The act of computer programming is generally considered to be temporally removed from a computer program's execution. In this paper we discuss the idea of programming as an activity that takes place within the tem...
详细信息
ISBN:
(纸本)9781450302036
The act of computer programming is generally considered to be temporally removed from a computer program's execution. In this paper we discuss the idea of programming as an activity that takes place within the temporal bounds of a real-time computational process and its interactions with the physical world. We ground these ideas within the context of livecoding - a live audiovisual performance practice. We then describe how the development of the programming environment "Impromptu" has addressed our ideas of programming with time and the notion of the programmer as an agent in a cyber-physical system.
The chronic difficulty of software maintenance can be traced back to widely held assumptions that inhibit progress in computer science. In the last instance, the idiosyncrasies of programming paradigms must be held ac...
详细信息
The chronic difficulty of software maintenance can be traced back to widely held assumptions that inhibit progress in computer science. In the last instance, the idiosyncrasies of programming paradigms must be held accountable for bad software design. The characteristics of an alternative programming paradigm without such drawbacks is outlined.
暂无评论