Title : 
Defining and continuous checking of structural program dependencies
         
        
            Author : 
Eichberg, Michael ; Kloppenburg, Sven ; Klose, Karl ; Mezini, Mira
         
        
            Author_Institution : 
Dept. of Comput. Sci., Darmstadt Univ. of Technol., Darmstadt
         
        
        
        
        
        
            Abstract : 
Dependencies between program elements need to be modeled from different perspectives reflecting architectural, design, and implementation level decisions. To avoid erosion of the intended structure of the code, it is necessary to explicitly codify these different perspectives on the permitted dependencies and to detect violations continuously and incrementally as software evolves. We propose an approach that uses declarative queries to group source elements - across programming language module boundaries - into overlapping ensembles. The dependencies between these ensembles are also specified as logic queries. The approach has been integrated into the incremental build process of Eclipse to ensure continuous checking, using an engine for tabled and incremental evaluation of logic queries. Our evaluation shows that our approach is fast enough for day-to-day use along the incremental build process of modern IDEs.
         
        
            Keywords : 
program diagnostics; program verification; architectural level decisions; continuous checking; declarative queries; design level decisions; implementation level decisions; incremental evaluation; logic queries; program elements; programming language module; structural program dependencies; Computer languages; Data analysis; Design methodology; Engines; Gettering; Java; Logic programming; Permission; Production facilities; Programming profession; continuous checking; controlling program dependencies; datalog; static analysis;
         
        
        
        
            Conference_Titel : 
Software Engineering, 2008. ICSE '08. ACM/IEEE 30th International Conference on
         
        
            Conference_Location : 
Leipzig
         
        
        
            Print_ISBN : 
978-1-4244-4486-1
         
        
            Electronic_ISBN : 
0270-5257
         
        
        
            DOI : 
10.1145/1368088.1368142