Graph-Based Verification of Static Program Constraints

S. Ciraci, P.M. van den Broek, Mehmet Aksit

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    3 Citations (Scopus)
    41 Downloads (Pure)


    Software artifacts usually have static program constraints and these constraints should be satisfied in each reuse. In addition to this, the developers are also required to satisfy the coding conventions used by their organization. Because in a complex software system there are too many coding conventions and program constraints to be satisfied, it becomes a cumbersome task to check them all manually. This paper presents a process and tools that allow computer-aided program constraint checking that work on the source code. We developed a modeling language called Source Code Modeling Language (SCML) in which program elements from the source code can be represented. In the process, the source code is converted into SCML models. The constraint detection is realized by graph transformation rules which are also modeled in SCML; the rules detect the violation and extract information from the SCML model of the source code to provide feedback on the location of the problem. The constraint violations can be queried from a querying mechanism that automatically searches the graph for the extracted information. The process has been applied to an industrial software system.
    Original languageUndefined
    Title of host publicationProceedings of the 25th Annual ACM Symposium on Applied Computing 2010
    Place of PublicationNew York
    PublisherAssociation for Computing Machinery
    Number of pages9
    ISBN (Print)978-1-60558-638-0
    Publication statusPublished - 23 Mar 2010
    Event25th Annual ACM Symposium on Applied Computing, SAC 2010 - Sierre, Switzerland
    Duration: 22 Mar 201026 Mar 2010
    Conference number: 25

    Publication series

    Volume3 of 3


    Conference25th Annual ACM Symposium on Applied Computing, SAC 2010
    Abbreviated titleSAC


    • METIS-276021
    • Prolog
    • Program Constraints
    • EWI-17712
    • Constraint Verication
    • IR-70689
    • Graph Transformations

    Cite this