Empirical Study of Programming to an Interface
Document type :
Communication dans un congrès avec actes
Title :
Empirical Study of Programming to an Interface
Author(s) :
Verhaeghe, Benoît [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Fuhrman, Christopher [Auteur]
Ecole de Technologie Supérieure [Montréal] [ETS]
Guerrouj, Latifa [Auteur]
Ecole de Technologie Supérieure [Montréal] [ETS]
Anquetil, Nicolas [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Ducasse, Stephane [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Fuhrman, Christopher [Auteur]
Ecole de Technologie Supérieure [Montréal] [ETS]
Guerrouj, Latifa [Auteur]
Ecole de Technologie Supérieure [Montréal] [ETS]
Anquetil, Nicolas [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Ducasse, Stephane [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Conference title :
Automated Software Engineering (ASE 2019)
City :
San Diego
Country :
Etats-Unis d'Amérique
Start date of the conference :
2019-11-11
English keyword(s) :
Java interfaces
coupling
empirical study
software repositories
cochange
GitHub
coupling
empirical study
software repositories
cochange
GitHub
HAL domain(s) :
Informatique [cs]/Langage de programmation [cs.PL]
English abstract : [en]
A popular recommendation to programmers in object-oriented software is to "program to an interface, not an implementation" (PTI). Expected benefits include increased simplicity from abstraction, decreased dependency on ...
Show more >A popular recommendation to programmers in object-oriented software is to "program to an interface, not an implementation" (PTI). Expected benefits include increased simplicity from abstraction, decreased dependency on implementations , and higher flexibility. Yet, interfaces must be immutable, excessive class hierarchies can be a form of complexity, and "speculative generality" is a known code smell. To advance the empirical knowledge of PTI, we conducted an empirical investigation that involves 126 Java projects on GitHub, aiming to measuring the decreased dependency benefits (in terms of cochange).Show less >
Show more >A popular recommendation to programmers in object-oriented software is to "program to an interface, not an implementation" (PTI). Expected benefits include increased simplicity from abstraction, decreased dependency on implementations , and higher flexibility. Yet, interfaces must be immutable, excessive class hierarchies can be a form of complexity, and "speculative generality" is a known code smell. To advance the empirical knowledge of PTI, we conducted an empirical investigation that involves 126 Java projects on GitHub, aiming to measuring the decreased dependency benefits (in terms of cochange).Show less >
Language :
Anglais
Peer reviewed article :
Oui
Audience :
Internationale
Popular science :
Non
Collections :
Source :
Files
- https://hal.inria.fr/hal-02353681/document
- Open access
- Access the document
- https://hal.inria.fr/hal-02353681/document
- Open access
- Access the document
- https://hal.inria.fr/hal-02353681/document
- Open access
- Access the document
- document
- Open access
- Access the document
- Fuhrman%202019%2019359.pdf
- Open access
- Access the document