Přejít k obsahu


Preventing Composition Problems in Modular Java Applications

Citace:
JEŽEK, K., HOLÝ, L., DANĚK, J. Preventing Composition Problems in Modular Java Applications. In Software Quality. The Future of Systems- and Software Development. Heidelberg: Springer, 2016. s. 125-143. ISBN: 978-3-319-27032-6 , ISSN: 1865-1348
Druh: STAŤ VE SBORNÍKU
Jazyk publikace: eng
Anglický název: Preventing Composition Problems in Modular Java Applications
Rok vydání: 2016
Místo konání: Heidelberg
Název zdroje: Springer
Autoři: Ing. Kamil Ježek Ph.D. , Ing. Lukáš Holý , Ing. Jakub Daněk
Abstrakt CZ: Javovské JAR soubory se staly běžným prostředkem znovupoužitelnosti v javovských programech. Umožňují vývojářům snadno sdílet a používat knihovny třetích stran, zároveň ale přináši nové výzvy. Tento článek se zabývá chybami při linkování, které nastávají ve chvíli, kdy je mezi dvěma knihovnami za běhu zjištěna typová nekompatibilita nebo chybějící závislost. Jedná se o přímý důsledek sestavování aplikací z existujících knihoven v binární formě ? tento typ problémů je běžně detekovaný při kompilaci programu. V Javě dochází k těmto chybám poměrně snadno, jelikož pravidla pro kompatibilitu se liší pro zdrojový kód a binární formu. Jako řešení nabízím sadu nástrojů, které analyzují existující binární knihovny a detekují problémy vedoucí na chyby za běhu. Nástroje pracují automaticky, doplňují existující testovací proces a jsou schopné odhalit problémy již na začátku vývojového cyklu. Jejich další funkce, jako detekce přebytečných závislostí nebo duplicitních verzí knihoven nejsou obvykle poskytovány standardními testovacími prostředky.
Abstrakt EN: Java JAR files have become a common means to bring reusability into Java programming. While they allow developers to easily share and use third-party libraries, they bring new challenges as well. This paper addresses the problem of Linkage Errors that occur when a type incompatibility or a missing dependency between two libraries is detected at runtime. This is a direct impact of composing applications from pre-existing binary libraries as the problem would be normally detected during compilation. A problem may occur relatively easily as rules of source and binary compatibility in Java differ and may be counter-intuitive. To deal with this problem, we offer a set of tools that analyse existing binaries and discover problems normally leading to runtime errors. The tools work automatically, may complement existing testing, and find problems effectively from the start of development. Their additional features such as detection of redundant or duplicated libraries are usually not provided by standard testing tools
Klíčová slova

Zpět

Patička