Information hiding is a positive consequence of properly defining component interfaces. Unfortunately, determining what should constitute a public interface remains difficult. We have analyzed over 3.6 million lines of Java open-source code and found that on the average, at least 20 % of defined methods are over-exposed, thus threatening public interfaces to unnecessary exposure. Such over-exposed methods may have their accessibility reduced to exactly reflect the method usage. We have identified three patterns in the source code to identify over-exposed methods. We also propose an Eclipse plugin to guide practitioners in identifying over-exposed methods and refactoring their applications. Our plugin has been successfully used to refactor a...
Computer security has become a crucial issue in recent years. More than ever, computer scientists, d...
Today's software industry relies heavily on the reuse of existing software libraries. Such libraries...
International audienceCommonly, software systems have public (and stable) interfaces, and internal ...
Information hiding is a positive consequence of properly defining component interfaces. Unfortunatel...
We have identified three patterns in the source code to identify over-exposed methods. We also propo...
Java access modifiers regulate interactions among software components. In particular, class modifier...
Java access modifiers regulate interactions among software components. In particular, class modifier...
In object-oriented programs, access modifiers are used to control the accessibility of fields and me...
The goal of this thesis is to explore ways of integrating an API-misuse detector into Eclipse, one o...
Recent studies in analyzing bug-fix patterns recorded in software repositories show that method invo...
In object-oriented programs, access modifiers are used to control the accessibility of fields and me...
Context: code obfuscation is intended to obstruct code understanding and, eventually, to delay malic...
Abstract. Most graphical user interface (GUI) libraries forbid accessing UI ele-ments from threads o...
Context: Obfuscation is a common technique used to protect software against malicious reverse engin...
Information hiding controls which parts of a module are visible to different clients. This aids main...
Computer security has become a crucial issue in recent years. More than ever, computer scientists, d...
Today's software industry relies heavily on the reuse of existing software libraries. Such libraries...
International audienceCommonly, software systems have public (and stable) interfaces, and internal ...
Information hiding is a positive consequence of properly defining component interfaces. Unfortunatel...
We have identified three patterns in the source code to identify over-exposed methods. We also propo...
Java access modifiers regulate interactions among software components. In particular, class modifier...
Java access modifiers regulate interactions among software components. In particular, class modifier...
In object-oriented programs, access modifiers are used to control the accessibility of fields and me...
The goal of this thesis is to explore ways of integrating an API-misuse detector into Eclipse, one o...
Recent studies in analyzing bug-fix patterns recorded in software repositories show that method invo...
In object-oriented programs, access modifiers are used to control the accessibility of fields and me...
Context: code obfuscation is intended to obstruct code understanding and, eventually, to delay malic...
Abstract. Most graphical user interface (GUI) libraries forbid accessing UI ele-ments from threads o...
Context: Obfuscation is a common technique used to protect software against malicious reverse engin...
Information hiding controls which parts of a module are visible to different clients. This aids main...
Computer security has become a crucial issue in recent years. More than ever, computer scientists, d...
Today's software industry relies heavily on the reuse of existing software libraries. Such libraries...
International audienceCommonly, software systems have public (and stable) interfaces, and internal ...