115 research outputs found

    A heuristic-based approach to code-smell detection

    Get PDF
    Encapsulation and data hiding are central tenets of the object oriented paradigm. Deciding what data and behaviour to form into a class and where to draw the line between its public and private details can make the difference between a class that is an understandable, flexible and reusable abstraction and one which is not. This decision is a difficult one and may easily result in poor encapsulation which can then have serious implications for a number of system qualities. It is often hard to identify such encapsulation problems within large software systems until they cause a maintenance problem (which is usually too late) and attempting to perform such analysis manually can also be tedious and error prone. Two of the common encapsulation problems that can arise as a consequence of this decomposition process are data classes and god classes. Typically, these two problems occur together – data classes are lacking in functionality that has typically been sucked into an over-complicated and domineering god class. This paper describes the architecture of a tool which automatically detects data and god classes that has been developed as a plug-in for the Eclipse IDE. The technique has been evaluated in a controlled study on two large open source systems which compare the tool results to similar work by Marinescu, who employs a metrics-based approach to detecting such features. The study provides some valuable insights into the strengths and weaknesses of the two approache

    Incorporating Measurement Uncertainty into OCL/UML Primitive Datatypes

    Get PDF
    Preprint publicado en la revista Software & System Modeling :Bertoa, M.F., Burgueño, L., Moreno, N., Vallecillo, A. "Incorporating measurement uncertainty into OCL/UML primitive datatypes." Softw Syst Model (2019). https://doi.org/10.1007/s10270-019-00741-0)The correct representation of the relevant properties of a system is an essential requirement for the effective use and wide adoption of model-based practices in industry. Uncertainty is one of the inherent properties of any measurement or estimation that is obtained in any physical setting; as such, it must be considered when modeling software systems that deal with real data. Although a few modeling languages enable the representation of measurement uncertainty, these aspects are not normally incorporated into their type systems. Therefore, operating with uncertain values and propagating their uncertainty become cumbersome processes, which hinder their realization in real environments. This paper proposes an extension of OCL/UML primitive datatypes that enables the representation of the uncertainty that comes from physical measurements or user estimates into the models, together with an algebra of operations that are defined for the values of these types.TIN2014-52034-R, TIN2016-75944-R and PGC2018-094905-B-I

    Inheritance relationships for disciplined software construction

    Get PDF
    SIGLEAvailable from British Library Document Supply Centre-DSC:DXN029714 / BLDSC - British Library Document Supply CentreGBUnited Kingdo

    Reasoning about object-oriented programs that use subtypes

    Full text link

    Enhanced specification expressivity for verification with separation logic

    Get PDF
    Ph.DDOCTOR OF PHILOSOPH
    corecore