English
Related papers

Related papers: Type Variability and Completeness of Interfaces in…

200 papers

Recent studies have largely investigated the detection of class design anomalies. They proposed a large set of metrics that help in detecting those anomalies and in predicting the quality of class design. While those studies and the…

Software Engineering · Computer Science 2013-02-13 Hani Abdeen , Osama Shata

In this paper, we study how object-oriented classes are used across thousands of software packages. We concentrate on "usage diversity'", defined as the different statically observable combinations of methods called on the same object. We…

Software Engineering · Computer Science 2018-07-06 Diego Mendez , Benoit Baudry , Martin Monperrus

Of the complex features of generic nominally-typed OO type systems, wildcard types and variance annotations are probably the hardest to fully grasp. As demonstrated when adding closures (a.k.a., lambdas) and when extending type inference in…

Programming Languages · Computer Science 2018-07-17 Moez A. AbdelGawad

Dependencies between types in object-oriented software can be viewed as directed graphs, with types as nodes and dependencies as edges. The in-degree and out-degree distributions of such graphs have quite different forms, with the former…

Software Engineering · Computer Science 2008-02-19 G. J. Baxter , M. R. Frean

This paper presents a formal approach to specify and verify object-oriented programs written in the `programming to interfaces' paradigm. Besides the methods to be invoked by its clients, an interface also declares a set of abstract…

Logic in Computer Science · Computer Science 2013-12-02 Jianhua Zhao , Xuandong LI

Interfaces are recognized as an important mechanism to define contracts governing interactions between semi-independent software modules. Well-designed interfaces significantly reduce software complexity and ease maintainability by…

Software Engineering · Computer Science 2013-10-01 Hani Abdeen , Osama Shata , Abdelkarim Erradi

Improving modularity and reusability are two key objectives in object-oriented programming. These objectives are achieved by applying several key concepts, such as data encapsulation and inheritance. A class in an object-oriented system is…

Software Engineering · Computer Science 2014-05-09 Jehad Al Dallal

Software Interfaces are meant to describe contracts governing interactions between logic modules. Interfaces, if well designed, significantly reduce software complexity and ease maintainability . However, as software evolves, the…

Software Engineering · Computer Science 2013-02-07 Hani Abdeen , Osama Shata

We take a process component as a pair of an interface and a behaviour. We study the composition of interacting process components in the setting of process algebra. We formalize the interfaces of interacting process components by means of…

Logic in Computer Science · Computer Science 2010-07-12 J. A. Bergstra , C. A. Middelburg

Most Java applications, including web based ones, follow the 3-tier architecture. Although Java provides standard tools for tier-to-tier interfaces, the separation of the tiers is usually not perfect. E.g. the database interface, JDBC,…

Software Engineering · Computer Science 2014-05-09 Victor Sadikov , Walter Pidkameny

Object-oriented Application Programing Interfaces (APIs) support software reuse by providing pre-implemented functionalities. Due to the huge number of included classes, reusing and understanding large APIs is a complex task. Otherwise,…

Software Engineering · Computer Science 2016-06-03 Anas Shatnawi , Abdelhak Seriai , Houari Sahraoui , Zakarea Al-Shara

While developing their software, professional object-oriented (OO) software developers keep in their minds an image of the subtyping relation between types in their software. The goal of this paper is to present an observation about the…

Programming Languages · Computer Science 2018-01-01 Moez A. AbdelGawad

We define focus-method interfaces and some connections between such interfaces and instruction sequences, giving rise to instruction sequence components. We provide a flexible and practical notation for interfaces using an abstract datatype…

Programming Languages · Computer Science 2009-09-16 Jan A. Bergstra , Alban Ponse

Due to supporting variance annotations, such as wildcard types, the subtyping relation in Java and other generic nominally-typed OO programming languages is both interesting and intricate. In these languages, the subtyping relation between…

Programming Languages · Computer Science 2018-07-17 Moez A. AbdelGawad

The subtyping relation in Java exhibits self-similarity. The self-similarity in Java subtyping is interesting and intricate due to the existence of wildcard types and, accordingly, the existence of three subtyping rules for generic types:…

Programming Languages · Computer Science 2018-01-01 Moez A. AbdelGawad

Interface specifications play an important role in component-based software development. An interface theory is a formal framework supporting composition, refinement and compatibility of interface specifications. We present different…

Software Engineering · Computer Science 2011-01-26 Sebastian S. Bauer , Rolf Hennicker , Stephan Janisch

There are many initiatives in presents-days for interaction between Java and Prolog programming languages. These initiatives allow combine two programming paradigms, Object Oriented Programming and Logic Programming. Every proposed…

Programming Languages · Computer Science 2022-04-01 Jose E. Zalacain Llanes

We adopt a component model based on object-oriented systems, introducing the concepts of components and their structure. A component consists of a dynamically changing set of connected objects. Only some of these objects are interface…

Software Engineering · Computer Science 2014-09-25 Franz Huber , Andreas Rausch , Bernhard Rumpe

Generics have been added to Java so as to increase the expressiveness of its type system. Generics in Java, however, include some features---such as Java wildcards, $F$-bounded generics, and Java erasure---that have been hard to analyze and…

Programming Languages · Computer Science 2019-06-11 Moez A. AbdelGawad

The mechanism of communication between users and devices is called interface. From time to time changes in interface significantly improve our work with computers even without any serious changes in programs themselves. Main ideas in PCs…

Human-Computer Interaction · Computer Science 2014-01-09 Sergey Andreyev
‹ Prev 1 2 3 10 Next ›